zoukankan      html  css  js  c++  java
  • 0MQ宗旨

    先来看《Implementing distributed applications with 0MQ and some other bad guys...》。用0MQ去实现分布应用,或者用其它坏东西。

    我们希望应用的伸缩性以及复杂度的关系,分布应用从单线程到多线程到多节点,复杂度是平滑收敛的。得实际上是指数增长,多节点下极复杂。

    0MQ意味 0中间人(Message broker),0迟延(尽可能),0管理(服务),0成本,0浪费。

    网上尤其是百度搜出一堆国内的贴,欢喜将0MQ和其它Message Broker产品混在一起比较,并评价适应性最差没有他们想要的功能。因为0MQ压根就不是Message Broker,并且明确宗旨是Zero Broker和Zero administration,你要的功能请自行实现。0MQ在软件构架中不是扮演Broker的角色。

    更高层次的sokcet。为什么不是Message Broker,又要强调Message Queue,首先Queue在异步中需要。然后Message Queue是为了设计高并发模型,erlang中进程(纤程)之间不共享数据,以消息形式进行通讯。0MQ旨在定义高层次上的通讯模型,线程间,进程间,节点间都是以同一种协议进行消息(队列)通讯。目标成为linux内核一部分。其中0MQ内部使用mailbox进行(io)线程间,内部对象间的消息通讯。详细请参看前面的文章《0MQ底层队列设计》。

    当然地,0MQ就必须是跨平台的,多(编程)语言支持的,并且是开源的。

    后面就是简单展示0MQ如何支持基本的消息模型(Message Patterns).

    0MQ之于sockets好比python之于c++。

    https://www.slideshare.net/fcrippa/europycon2011-implementing-distributed-application-using-zeromq

  • 相关阅读:
    DataTable的一些使用技巧
    Linux下使用Mysql
    【Cocos2d-X开发学习笔记】第28期:游戏中音乐和音效的使用
    HDU 4669 Mutiples on a circle (DP , 统计)
    面试经典-设计包含min函数的栈
    最大熵模型
    这篇文章关于两阶段提交和Paxos讲的很好
    【读书笔记】神经网络与深度学习
    这个对协程的分析不错
    sendfile学习
  • 原文地址:https://www.cnblogs.com/bbqzsl/p/7542881.html
Copyright © 2011-2022 走看看