Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading Akka/ZeroMQ消息传递模式示例_Multithreading_Sockets_Akka_Messaging_Zeromq - Fatal编程技术网

Multithreading Akka/ZeroMQ消息传递模式示例

Multithreading Akka/ZeroMQ消息传递模式示例,multithreading,sockets,akka,messaging,zeromq,Multithreading,Sockets,Akka,Messaging,Zeromq,我有兴趣尝试看看我如何在我的项目中利用 在该文档中,确定了4种所谓的“消息传递模式”,但仅详细解释了1种(发布-订阅)。它们是: 酒吧间酒吧 路由器经销商 推拉 代表请求 对我(一个消息新手)来说,我不明白怎么会有比Pub-Sub更多的东西:你有一条消息,你把它发布到一个代理,而另一个进程(订阅者)从代理那里使用它 因此,我的具体问题是:每个消息ZeroMQ模式有哪些具体的用例,如果Akka已经有了线程间通信的机制,我为什么要利用每个模式? 我之所以这样问,是因为上面链接的文档只是说“很快就会有

我有兴趣尝试看看我如何在我的项目中利用

在该文档中,确定了4种所谓的“消息传递模式”,但仅详细解释了1种(发布-订阅)。它们是:

  • 酒吧间酒吧
  • 路由器经销商
  • 推拉
  • 代表请求
  • 对我(一个消息新手)来说,我不明白怎么会有比
    Pub-Sub
    更多的东西:你有一条消息,你把它发布到一个代理,而另一个进程(订阅者)从代理那里使用它

    因此,我的具体问题是:每个消息ZeroMQ模式有哪些具体的用例,如果Akka已经有了线程间通信的机制,我为什么要利用每个模式?


    我之所以这样问,是因为上面链接的文档只是说“很快就会有更多的文档和示例。”对于除Pub-Sub之外的所有模式,请先检查与您的问题几乎相同的另一个答案

    Q:每个消息ZeroMQ模式的具体用例是什么

    A:最好继续读这本书,你会在那里找到许多不可或缺的评论和评论

    Q:。。不明白怎么会有酒吧酒吧酒吧

    A:哦,是的,这背后有一个全新的宇宙ZeroMQ是一种无代理的zero copy,非常快,只需触摸几次(如下所示)

    Q:如果Akka已经有了线程间通信的机制,我为什么要使用每个模式

    A:
    嗯,这要看情况而定。如果您对几个本地主机线程(不超过几十个)的消息传递性能感到满意,则无需将时间投入ZeroMQ。如果追求高性能、分布式、(几乎)线性可扩展性和异构可移植性,那么现在可能是开始阅读ZMQ的正确时机

    指向一些必读内容的几个链接 ZeroMQ福音传道者Pieter Hintjens&Martin súStrike在进入细节之前塑造思想的价值

    《发布/订阅》的初始视图(查看Martin关于单元测试和他收藏的其他珍品的酷笔记,千万不要错过)

    一本非常深入的必读读物是一本书(pdf格式)“代码连接,第1卷”“如果认真从事信息传递,这是工作的基础


    发布了一系列优秀的白皮书

    只是为了避免潜在的误解,人们可以在更多的上下文中阅读
    PUB/SUB
    模式,而不仅仅是ZeroMQ实现的模式,因此,要注意的是,不要超越上下文限制,也不要期望前者具有后者的所有智能功能。谢谢@user3666197-我将查看该链接并消化它。然而,还有一件重要的事情尚未解决:如果Akka已经有了自己的线程通信机制,那么为什么还要使用这个Akka/0MQ模块呢?您检查过其中的性能差异吗?零拷贝内存占用?零阻塞线程到线程的信令/同步问题?ZeroMQ透明地跨越多个传输类{inproc | ipc | tcp | pgm | epgm},因此对于分布式/多主机消息传递或线程到线程的本地主机消息传递,没有区别(但时域中的传输“距离”和协议/取消策略的“延迟”)我建议开始学习ZeroMQ模式的地方是指南,在线网址是。再次感谢@user366197-那么你是说Akka/0MQ模块通过引入诸如低内存占用、非阻塞线程信号等东西来加速Akk参与者的通信。?换言之,可以公平地说,人们会将其用于通信参与者之间极高的吞吐量吗?@smeeb不能谈论您的案例性能数据,但此类测试可能会证明您的期望,反之亦然。检查性能测试,以便能够比较“本机”与基于ZMQ的场景。ZeroMQ性能自我测量工具通过
    zmq.Stopwatch()
    将时间分辨率降低到亚微秒级。另一个聪明的标志,端到端。