中科院云平台架构师,专注于数字化、智能化,技术方向:云、Linux内核、AI、MES/ERP/CRM/OA、物联网、传感器、大数据、ML、微服务。
分类: 系统运维
2016-02-11 11:25:13
一、相同点:
1:用于IPC(进程间通信):将数据从一个进程传输到另外一个进程。
2:都无法指定接收者。即消息只能给一个不确定的读者。
3:都是读取即删除(即用于读取系统调用必须同时有删除处理)
4:阻塞:读空阻塞和写满阻塞。
5:都没有广播机制。
二、区别:
1:管道内的数据被当做字节流,不知消息边界。
消息队列的数据以离散消息的形式进行传输。基于消息类型来选择接收。
2:消息队列有两次复制。传输少量数据时效率很高,传输大量数据时会开销很大。
三、发展趋势
1:现在的unix系统用streams取代消息队列。但streams没有基于消息类型来选择接收功能。