在项目中,经常会遇到单机上进程间的通信,常用的进程间通信方式一般有以下几种
1 socket
2 unixsocket
3 共享内存(share-memory)
4 管道(pipe)
5 消息队列(message-queue)
6 文件(file)
7 消息总线(比如zeromq)
8 其他中间件(比如redis, memchache, 数据库等)
如果项目仅仅是消息的传递,对...
分类:
系统相关 时间:
2014-09-24 20:33:27
阅读次数:
3658
var net = require('net')var clients = [] ,msgs = {}function unWrapMsg(data){ data = data.toString().trim() var _d = data.split(':' , 2) _d...
分类:
其他好文 时间:
2014-09-24 20:06:57
阅读次数:
207
http://blog.csdn.net/shirdrn/article/details/6362792http://haohaoxuexi.iteye.com/blog/1893038http://afreon.blog.163.com/blog/static/223794094201431422...
分类:
编程语言 时间:
2014-09-24 18:38:47
阅读次数:
391
/* 发送消息队列 */#include #include #include #include #include #include #include #include struct mymsg { long mtype; /* message type, must be > 0...
分类:
系统相关 时间:
2014-09-23 22:07:35
阅读次数:
276
1.使用PostMessage向某个线程发送消息,这个线程必须有消息队列,而消息队列是系统为线程创建的,调用PeekMessage或GetMessage会强制系统为该线程创建消息队列
2.消息循环可以收到该消息,但是由于PostMessage的消息未指定窗口句柄,会被过滤掉...
分类:
其他好文 时间:
2014-09-23 07:59:34
阅读次数:
296
一 概念
内核分配的一块存储去,多个进程可以将物理内存映射到进程的虚拟地址空间,从而实现对内存的直接操作,是效率最高的IPC。
消息队列和管道都有在用户地址空间和内核空间相互复制产生的开销。
二 操作函数
1 创建共享内存
#include
#include
int shmget( key_t key, //代...
分类:
其他好文 时间:
2014-09-22 15:56:52
阅读次数:
312
一概述
消息队列就是一段有一定格式的内存区,即一个消息的链表,位于内核中,可以把消息看成一条记录,这个记录有特定的格式和优先级。
消息队列的读和写是异步的,发送方不必等到接收方接收,接收方发现没有数据也不用等待。
新的消息总是放在队尾,接收的时候不一定要遵守先进先出的原则,可以根据优先级获取数据。
消息队列只有在内核重启或者显示的删除的时候才会被删除掉。...
分类:
其他好文 时间:
2014-09-20 16:02:09
阅读次数:
272
序最初认识 ZeroMQ 是被它的名号所吸引,最近在一个高性能中间件的项目中用到了 ZeroMQ,对这个号称“史上最快的消息队列”有了更深层次的了解。如果我们仅仅把 ZeroMQ 看作是一个消息队列,那就完全搞错了,ZeroMQ 是一套智能传输层协议,它不仅为开发者提供了强大的开发包,还包含了一套很...
分类:
其他好文 时间:
2014-09-19 13:25:05
阅读次数:
275
RocketMQ 是alibaba开源的消息队列。 本文使用的是开源版本v3.18 系统: centos6.x最小化安装 需要用到的软件包:? jdk-7u67-linux-x64.tar.gz alibaba-rocketmq-3.1.8.tar.gz 开始安装 #tar?xvf?jdk-7u67-linu...
分类:
其他好文 时间:
2014-09-17 17:01:22
阅读次数:
562
转自:外刊IT评论我花了一周的时间评估比较了一下各种消息队列产品,非常的有趣。我做这个事的动机是因为一个客户有一个很高性能需求。他们的消息信息突破了1百万个并发。目前他们使用的是SQL server,并不理想,我建议他们使用消息队列服务器。为了对一些相似的候选产品获得一个全面的但是粗浅的性能上的了解...
分类:
其他好文 时间:
2014-09-17 11:48:42
阅读次数:
167