タグ

amqpに関するKanasansoftのブックマーク (2)

  • RabbitMQの導入と、Spring AMQPを利用したメッセージ送受信

    スケールしやすいシステムを作るためのキーワード『非同期処理』。今回は、オープンソースのメッセージキューイングミドルウェアであるRabbitMQをSpring frameworkを使って実装する入門編です。Spring AMQPを利用することでJavaで簡単に非同期アプリケーションの開発が行えます。 はじめに 一般的に、システム間の連携は疎結合であることが望ましいとされています。その理由はさまざまですが、異なるシステム間での連携を疎結合にすると変更しやすい、障害時の影響を小さくしやすい、などがあげられます。 そういった実装を行うにあたって、しばしば利用されるものが「メッセージキューイング」です。メッセージングキューイングとは、簡単に言うとアプリケーション間のデータをメッセージとして、そのやり取りをキューと呼ばれる領域を利用して行うものです。メッセージキューイングでは送信側はメッセージの送信後

    RabbitMQの導入と、Spring AMQPを利用したメッセージ送受信
  • RabbitMQ と再送について

    概要 : AMQP のプロトコルを読むと、一瞥して送信はパケットを送るだけ、受信はソケットを読み込むだけのようにも見える。しかしながら、実際に書いてみると、再送処理を自前で実装する必要があるため、現実には大変に複雑な処理が必要だ。 そもそもなぜ RabbitMQ を使うのかという話、あるいはなぜ再送が必要かという話たんにコンポーネント同士が疎結合で通信したいのであればわざわざ MQ を使う必然性は皆無である。ごくあたりまえに TCP で通信すればそれでいい。暗号通信が必要なら当然 SSL でいいし、パケットエンティティに依存する複雑な L7 リバースプロキシを MQ を使って実現することも、不可能ではないが、普通そういうのは varnish とかでやるだろう。 MQ において優れているのはデータの durability だ。つまり、一旦キューにためておけば、その両側のコンポーネントは好き勝

    RabbitMQ と再送について
    Kanasansoft
    Kanasansoft 2013/01/02
    『送信はパケットを送るだけ、受信はソケットを読み込むだけのようにも見える。しかしながら、実際に書いてみると、再送処理を自前で実装する必要があるため、現実には大変に複雑な処理が必要だ。』
  • 1