2013-05-01から1ヶ月間の記事一覧
では、続きます。 前回のClojure記事にもあるように、環境がSublime Text2に移ったのでかなり快適になっています。Clojureではシーケンスに対する関数が多くありますが、それらは下記のカテゴリに分類されるとのこと。 シーケンスを生成する関数 シーケンス…
こんにちは。Clojureでの環境問題も解決したので一度Kafkaの方も進めておきます。 概要がわかったので、実際に動かしてみようとKafkaのサイトに向かったところ・・・最新版の0.8.0系のアーカイブが存在しないという状態でした。0.8.0のページ。ダウンロード…
こんにちは。今までREPLをコマンドラインで起動して使っていましたが、 さすがに効率が悪いようになってきたため、一度エディタから直接呼べるように環境を整えます。というわけで、Sublime Text2にREPLのプラグインを導入してみます。ですが、まずSublime T…
こんにちは。ようやく1ページ全てまとめ終わったので、 最後にまとめ投稿として投稿しておきます。尚、ページは下記です。 http://kafka.apache.org/07/design.html========== 1.何故Kafkaは作られたのか? 元々はLinkedInのActivity StreamとDat…
こんにちは。今回は実際分散協調をどうやっているかという話。 ある意味分散システムとしてのコアです。 19.分散方式 以後、BrokerとConsumerの協調に用いるZookeeperのディレクトリ構成とアルゴリズムについて記述する。 Zookeeper上のディレクトリ構成判例…
こんにちは。今日は実際にメッセージを保存しているログファイルの形式と形態について述べた章になります。 これまで述べられたメッセージがどういう形式でディスク上に保存されているかですね。 18.ログ "my_topic"というトピック名称を持つ2パーティション…
こんにちは。APIの確認もすみ、更に先に進みます。 15.ネットワーク層 ネットワーク層の構成は単純なNIOサーバであるため詳細な説明は省略する。 sendfileの実装はMessageSet#writeToメソッドを用いて行われる。 FileChannel#transferToメソッドにおいてFile…
今回からは実際のAPIを確認していく形になります。 13.Producer側のAPI Producer側のAPIは以下の2つの低レベルAPIをラップしている。 kafka.producer.SyncProducer kafka.producer.async.AsyncProducer class Producer { /* Sends the data, partitioned by…
こんにちは。ついに設計の大方針の内容が終わり、 個々のプロセスの設計の内容に入っていくようです。 11.Producer Producerプロセスの自動ロードバランシング Kafkaは、ProducerのTCP接続のバランスをとるための専用ロードバランサを使用するために クライ…
こんにちは。では続きに。 10.メッセージ消費側駆動の状態管理方式 プッシュ対プル これまでのBroker、Consumer側の話に関連する質問として、 Broker側がデータをpushするのか、Consumer側がメッセージをpullするのか、がある。Kafkaはデータの流れとして下…
こんにちは。とりあえず続きです。 9.エンドツーエンドのバッチ圧縮 多くの場合、ボトルネックはCPUではなくネットワークになる。 特にデータセンター間でメッセージを転送する必要があるネットワークトポロジを組んでいる場合は。もちろん、ユーザはKafkaの…
こんにちは。とりあえず続きです。 10.メッセージ消費側駆動の状態管理方式 メッセージ配信セマンティクス これまでからわかるように、メッセージ配信の保証方式として下記の3パターンが考えられる。 1回以下:前述した第1のケース。メッセージは提供後す…
1年位間があいてしまっていますが、ベースデザインの章の続きを読んでみました。 あと、個々の言葉を訳しても時間がかかるので、要点のみ抽出してとりあえず最後まで読み切ります。尚、ページ自体は下記の場所に移動していました。 http://kafka.apache.org…
こんにちは。連休が挟まったということで若干間があいていますが、続けます。で、この間にプログラミングClojureの第2版が発売されました。プログラミングClojure 第2版作者: Stuart Halloway and Aaron Bedra,川合史朗出版社/メーカー: オーム社発売日: 20…