【问题标题】:Internal server based on nanomsg基于 nanomsg 的内部服务器
【发布时间】:2014-08-06 10:02:39
【问题描述】:

这些天我正在使用 Golang 绑定学习 nanomsg 和 zeromq。我已经使用可以工作的 Req-Rep 进行了测试,但是使用这种机制来构建可靠的内部服务器以在高并发请求(但来自有限的客户端源

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

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

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

====更新====

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

【问题讨论】:

    标签: go zeromq nanomsg


    【解决方案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章中增加可靠性的过程——无论是为了可靠性本身还是为了解锁通过资源池上的负载平衡提高性能)

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-12
      • 2013-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多