2

I'm learning nanomsg and zeromq these days with Golang binding. I've tested with Req-Rep which can work, but is it a proper idea to use this mechanism to build reliable internal server for serving data under high concurrent requests (but from limited client sources < 30)?

Some pseudo code may looks like,

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

How to achieve similar communication pattern in nanomsg? Is there any example (C is ok) available?

====UPDATE====

Sorry the question looks too broad. The most important question for me is, "Is there any workable Req/Rep example (C is ok) around?"

4

1 に答える 1

2

「高い同時負荷に対応するための信頼できるサーバーの構築方法」を決定するときに最初に知っておくべきこと

新しいライブラリを学ぶことはスリリングで、多くの新しい洞察が得られます。

非常に重要な洞察の 1 つは、自分自身の学習曲線に沿って、適切な規模の合理的な課題に取り組むことです

ZeroMQの共同父であるPieter Hintjensが、信頼できるサービスの設計に関する章に入った直後に[ほとんど太字で]次の発言を書いた場合、彼は、そのような設計に関する次の段落の前に同様の強調された警告を表示する理由をよく知っていました。 ...

  • (cit.:) " ... ここで不快なほど複雑な領域に入り込み、別のエスプレッソを飲む必要があります信頼できない、または「十分な」信頼性を回避できれば、コストと複雑さの点で大きな勝利を収めることができます。確かに、時々データを失う可能性があります。良いトレードオフ...」

Nanomsg は間違いなく優れたスマートなライブラリ プロジェクトです。

高度な設計に関する Pieter Hintjens の本からもたらされた高レベルの哲学思想は、「基本的なZeroMQを超えた」スケーラブルなフォーマル コミュニケーション パターンを構築します。

私見では、コーディングに移る前に、ピーター・ヒンチェンスの両方の本のアイデアと設計パラダイムとストーリーにさらに数週間を費やすのが最善です.

どちらも 400 ページ以上の本The ZeroMQ Guide - for Python Developers, Section II., Advanced ZeroMQです (つまり、 Chapters 6.2, 6.7, 7.1 and 7.5 )。

300 ページ以上の本「Code Connected Volume 1」 (つまり、第 5 章で信頼性を追加するプロセス - 信頼性自体のためか、または負荷分散による次のレベルのパフォーマンスのロックを解除するためか)リソースのプール)

誰もが分散システム アーキテクチャのこの素晴らしいがスリリングな分野の探求を開始するのに役立ち、すでに行き止まりであることが証明されている多くの行き止まりを再調査することなく、生き残ることができるアプローチを設計するために必要な視点を得るのに役立ちます。

于 2014-08-06T12:57:01.337 に答える