内部服务器基于nanomsg

时间:2014-08-06 10:02:40

标签: go zeromq nanomsg

这些天我用golang绑定学习nanomsg和zeromq。我已经使用Req-Rep进行了测试,但是使用这种机制构建可靠的内部服务器以便在高并发请求(但来自有限的客户端来源< 30)下提供数据是一个正确的想法吗?

某些伪代码可能看起来像,

for {
    data, conn = socketRep.readData()
    go func(data, conn){
        result=process(data)
        conn.sendReply(result)
        conn.close()
    }()
}

如何在nanomsg中实现类似的通信模式?有没有可用的例子(C还可以)?

==== UPDATE ====

对不起,这个问题看起来太宽泛了。对我来说最重要的问题是,“是否有可行的Req / Rep示例(C可以)?”

1 个答案:

答案 0 :(得分:1)

在决定" 如何构建可靠服务器...时,首先要知道的是服务于高并发负载"

学习任何新图书馆都很激动人心,并提出了许多新的见解。

一个非常重要的见解是 进行 恰到好处的&合理的挑战以及自己的学习曲线轨迹。

如果是ZeroMQ的共同父亲Pieter Hintjens 已经写了 [几乎用粗体] 以下备注关于设计任何可靠服务的章节,他非常清楚为什么要在这些设计的前段落中加上类似的突出警告......

  • (cit。:)" ......在这里进入一个令人不快的复杂领域 让我起床另一杯意式浓缩咖啡。你应该欣赏 制作"可靠"消息传递非常复杂,总是 需要问,"我们真的需要这个吗?"在跳进去之前。 如果你可以逃脱不可靠,或者足够好"可靠性, 你可以在成本和复杂性方面取得巨大成功。当然, 你可能会偶尔丢失一些数据。这通常是一个很好的权衡。 ..."

Nanomsg绝对不是一个伟大的&智能图书馆项目

高级哲学思想带来了Pieter Hintjens关于高级设计的书籍,这些书籍超越了初级ZeroMQ"可扩展的正式沟通模式仍然大致相同

恕我直言,最好再花几周时间思考和设计范例& Pieter Hintjens'书籍,在进入任何编码之前。

400多页的书籍 ZeroMQ指南 - 适用于Python开发人员,第II部分,高级ZeroMQ (即第6.2,6.7,7.1和7.5章)

300页以上的书" Code Connected Volume 1" ,(即在第5章中增加可靠性的过程 - 无论是为了可靠性本身还是为了通过资源池上的负载平衡来解锁下一级性能

将帮助任何人开始探索分布式系统架构这个伟大但令人兴奋的领域。将有助于获得设计可生存的aproaches所需的观点,而无需重新探索已经被证明是死路的许多死胡同。