5月に開催されたBacon Conferenceで,bitlyのアプリケーション開発リーダのSean O’Connor氏は,毎月600億クリックを処理する分散システムの開発を通じてbitlyの開発者たちが学んだ,最も価値ある教訓について説明した。 分散システムとは何か? 分散システムを定義する3大特性は,氏によれば,Wikipediaで簡単に見付けることができる。 コンポーネントノードの真の並行性。これによってノード間の同調に関連するコストと複雑性が発生する。 共通クロックの不在。このため,異なるノードで発生したイベントを時間順に並べることは不可能になる。 障害の独立性。これはノード障害がシステム内の他のノードに影響を与えない,という能力として理解されるべきだ。 従って分散システムの構築では,これらの特性を扱うことを目標にする必要がある。 ただし氏の意見として,システムの分散的特性に起因す
![bitlyでの分散システム構築から学んだこと](https://cdn-ak-scissors.b.st-hatena.com/image/square/51cbeef5b0e05e27be6c023defe60b92115a9178/height=288;version=1;width=512/https%3A%2F%2Fcdn.infoq.com%2Fstatics_s1_20240530133244%2Fstyles%2Fstatic%2Fimages%2Flogo%2Flogo-big.jpg)