zeromq学习笔记

名词解释

IDC: Internet Data Center,互联网数据中心。

ZooKeeper: Hadoop子项目,Chubby的开源实现,协同工作系统。

Pacemaker: 类似Zooeeper的项目。

Paxos:

Redis:

Gossip协议:

Thrift协议:

Cassandra: Apache的开源分布式KV存储系统,最初由Facebook开发。

Dynomite: KV存储。

HAProxy: 前端负载均衡。

Thrift: Facebook的跨语言服务器部署框架。

底层库

libevent: 一个轻量级I/O框架。

epoll

ZeroMQ类似实现对比

异步队列?

AMQP vs. RabbitMQ

Round-robin进行负载均衡

ZeroMQ的模式

三种模式:

  1. 请求应答模式

    传统的c/s模式。见hwclient.js和hwserver.js。

  2. 订阅发布模式

    publisher.js和subscriber.js。

  3. 推拉模式

默认阻塞,使用Poller实现非阻塞。

Node.js使用例子

var context = require('zeromq')

请求/响应模式:

var server = context.createSocket('rep')

server.on('message', function(request) {

})
var client = context.createSocket('req')

发布/订阅模式:

var publisher = context.createSocket('pub')

System Message: ERROR/3 (<string>, line 100)

Content block expected for the "code-block" directive; none found.

.. code-block:: javascript


zeromq安装

目前最新稳定版:http://download.zeromq.org/zeromq-2.1.11.tar.gz

github地址:https://github.com/zeromq/zeromq2-1

编译安装三部曲:

$ ./configure
$ make
$ sudo make install

另外还需要更新动态链接库:

$ sudo ldconfig

python绑定

$ sudo easy_install pyzmq

Node.js绑定

$ npm install zmq
tagged by
comments powered by Disqus