Lineのインフラセミナーに参加してきました。

昨日、LINE Developer Conference(テーマ:インフラ)に参加してきましたので、備忘録的にメモ。

1. Systemのお話し(講演の途中から参加)

  • 年末年始の障害、redisのレスポンスが悪化し、コネクションバースト。redisの処理とNIC割り込みを同じコアで処理していた。/proc/interruptをwatchして発見し、tasksetで解決。
2. データベースのお話し
  • Lineツムツムのデータベースのお話し。multimasterのmysql replication。PerconaのMMM Managerを使用。write VIPとread VIPをMMMが管理。Failover時にVIPを移動。
  • Shardの自動追加。すべてのUIDに対しハッシュ関数を通しグループIDを発行。グループIDに対しshardを割り当てる。
  • MMMはカスタマイズして使っている。主に障害判断の部分。
  • shardの追加時には、移動するグループに対しselect/insert(update?)を複数回に分けて実行する。更新時刻でソートして実行しているので、マイグレーション中に更新されたデータも、もれなく移動することができる。
3.ネットワークのお話し
  • 内部ネットワーク。Core-Pod-Edgeの3階層。unknown unicast flooding により、ギガビット大半の帯域を消費していた。Pod当たり数千台のサーバ。L2セグメントはPod単位だったのを、L2セグメントをEdge単位にした。
  • ロードバランサL3DSR採用。L2セグメントを小さくしたので必要になった。DSCP方式。Tosフィールドのdscp=1などを設定し、それに応じてソースアドレスをリアルサーバで付け替える。
  • ラックは24kVA 51U。スイッチは背面設置。サーバの排熱を避けるためにスイッチ3台を囲えるダクトを作成。
  • 海外拠点はアメリカ、アジア3ヶ所、ヨーロッパ。リングトポロジー。専用線を節約し、冗長性を確保。MPLSでPseudo Wire。出来るだけルーティングに関与せずに、拠点間接続。
  • サーバ間接続とユーザーエッジへの接続を、別々のネットワークにした。ユーザーがどの拠点に接続するか、登録時のユーザー情報をもとにスタティックにマッピング。クライアント側で実装。
  • TCPコネクションはりっぱなし。ロードバランサのセッション、コネクションテーブルサイズがボトルネックになっていた。→ Stateless SLB ハッシュテーブルに基づいて、リクエストを分散。ソースIPをキーにハッシュ値計算すればいい。サーバが落ちるとハッシュ再計算。
  • ハッシュの再計算を部分的に行うタイプの機器で、Stateless SLBを実現。今年一月から。
  • 箱物のロードバランサを使っているらしい。LVSとかじゃダメなのかな?

お土産までいただきました。ありがとうございます!

コメント

4dwx5ef5j9 さんの投稿…
The solely form of playing that is not overseen by the MGCB is the Michigan Lottery. The authorized playing age in Michigan is 21, however Michigan residents could be 18+ to play the Michigan Lottery. Michigan on line casino gamers with a competitive streak can participate in tournaments. These occasions either have an entry charge or they're free to play. The latter are often a part of} a promotion and gamers who complete the mandatory duties acquire entry to the match. For instance, if a no threat supply is legitimate for 24 hours a lot as} $100, this implies you will receive a refund on a web loss 빅카지노 a lot as} the worth of $100 for 24 hours.

このブログの人気の投稿

今日の逸品

MegaRAIDのStorCLIを試してみました。

LinuxルーターでのIPv6 IPoE設定