Mar*_*son 8 scalability zeromq
ZeroMQ的可扩展性如何?我特别感兴趣的是了解它在大量(10,000 - 15,000)内核上运行的潜力.
Pie*_*ens 10
您没有提到您的10k或15k核心是否在同一个盒子上.
我们假设他们是.每两年,一个盒子上的核心数量理论上可以翻倍.因此,如果我们今天拥有16核盒子,它将在20年内成为16K核心.
所以现在,你的问题可能是,"ZeroMQ能否帮助我的应用程序扩展到如此庞大的内核数量,以便它能在未来20多年内扩展?" 答案是"是的,但只有你正确使用它".这意味着使用inproc套接字和模式设计应用程序,以正确划分工作和数据流.您需要随着时间的推移调整架构.
如果您的问题是"我可以在多个应用程序之间使用那么多内核",那么答案就在于您的O/S超过ZeroMQ.您的I/O层可以处理负载吗?可能是.
如果你的问题是,"我可以使用ZeroMQ跨越10K-16K盒云",那么答案是"是的,这已经被实践证明".
请注意,尽管ZeroMQ在内部是多线程的,但仅依靠它来将其扩展到大量内核可能并不明智.但是,由于ZeroMQ使用相同的API进行机器间,进程间和线程间通信,因此使用ZeroMQ编写应用程序很容易,可以无缝地移动到每个进程的单进程场景或者进入网格结构很多很多机器.
ZeroMQ已经因为成为最快的结构化消息传递协议而享有声誉,所以如果你要做基准选择技术,ZeroMQ绝对应该是其中之一.
使用ZeroMQ的两个主要原因是其易于使用的跨语言API(参见ZeroMQ指南网站上的所有示例)及其在线路上的字节数和延迟方面的低开销.例如,ZeroMQ可以利用UDP多播比任何TCP协议运行得更快,但应用程序员不需要学习新的API.一切都包括在内.