English

チャットワークのメッセージシステムを支える新分散ID発行器の内部

チャットワークは2017年の春にメッセージのIDを64bitに移行しました。この新IDはTwitter snowflakeのような、旧来のRDBのIDと互換性を保ちつつも、分散発行が可能なIDとなっています。分散ID発行器は1台で秒間40000のIDを発行でき、旧来の発行器と比べてレイテンシを10msほど改善しました。分散ID発行器ではAkkaとZooKeeperを用いました。ZooKeeperアプリケーションは
1.受動的で、
2.状態機械であり、
コネクションの喪失などの3.エラーに常に対処し、
またセッションの期限切れの際に4.状態を破棄する
必要があります。これらはまさにアクターで自然に実装できます。またアクターの位置透過性とAkkaのマルチJVMテストキットは分散環境でのテストを容易にします。この発表では新ID発行器の内部を、アクターとZooKeeperの組み合わせの観点から解説します。

トークの長さ
40分
発表言語
日本語
聴衆の対象
中級者: 分野の基礎は分かるが、細かい所は不安
こんな人におすすめ
分散合意アプリケーションでのアクタープログラミングの親和性を知りたい人
国内最大のビジネスチャットサービスでの分散IDの使われ方を知りたい人
Akkaで分散システムを構築したい人
発表者
安田裕介 @TanUkkii007 (チャットワーク)

票中 票投票済み

応募一覧