… Live Storage Layer MySQL (master) MySQL (slave) MySQL (log) replication Cluster Set 1 Sharding Cluster Set 2 MySQL (master) MySQL (slave) MySQL (log) Cluster Set 3 MySQL (master) MySQL (slave) MySQL (log) Cluster Set 32 MySQL (master) MySQL (slave) MySQL (log) Fusion-io Fusion-io Fusion-io Fusion-io Data Mining Environment Customer Support DB Analytics Layer Data Warehouse Systems and Statistical Analysis Systems Web Server Web Server Web Server Web Server Web Server Web Server Web Server Web Server Web Server Web Server Web Server Web Server Web Server … Apache success.txt mod_cgi Client Amazon Kinesis Agent (Log Crawler) https + Basic Authentication Amazon ELB (Classic Load Balancer) Unix Shared Memory fail.txt MySQL ユーザ操作に(ポイントの チェックなど)に応じて、 ポイント取得結果を参照 App Server Atomic & Lock- Free Write Checkin.cgi Checkin.cgi checkin.cgi Amazon Kinesis Firehose キューイングによるリクエスト実 行処理とDBへの反映処理の分離 (Separation of Exec/Write) 事例① ゲームに適したリアルタイムの一貫 性と可用性を実現するアーキテクチャ設計 事例② TV連動型アプリに適した高可用性と結 果整合性を実現するアーキテクチャ設計 分散システム分析の諸理論(e.g. CAP定理)を用いて、自社ビ ジネスに要求される、一貫性、可用性、分断耐性を分析・判断 本発表では、ゲーム用 アーキテクチャを簡単に紹介 他ビジネスへの応用可能性が高い、 高可 用性アーキテクチャの事例を詳細に紹介
(e- commerce) Small Small Large No Strong Consistency Dynamic (mutable) SNS(Large Scale Web Apps) Large Small Massively Large No Eventual Consistency Dynamic (mutable) IoT (Stream DB) Massively Large no Small Yes Application- Dependent Static (immutable) Social Game Small Massively Large Massively Large Yes Strong Consistency Static (immutable) 強い一貫性と、高頻度Update、高頻度Select、そしてリ アルタイムの4つを同時に要求される環境においては、ク ラウド(AWS)を活用するアーキテクチャが必要
(log) replication Cluster Set 1 Sharding Cluster Set 2 MySQL (master) MySQL (slave) MySQL (log) Cluster Set 3 MySQL (master) MySQL (slave) MySQL (log) Cluster Set 32 MySQL (master) MySQL (slave) MySQL (log) Fusion-io Fusion-io Fusion-io Fusion-io Data Mining Environment Customer Support DB Analytics Layer Data Warehouse Systems and Statistical Analysis Systems Web Server Web Server Web Server Web Server Web Server Web Server Web Server Web Server Web Server Web Server Web Server Web Server Web Server … Amazon EC2を用いたスケーラブルWebアーキテクチャ 一貫性制御は、時間方向に極めて高価な処理であるため、複数のアプリケーションサーバにまたがった 一貫性のある情報を保持できるデータベース(二次記憶)は、メモリ(主記憶)よりも、貴重な資源と とらえることができる。
MySQL (log) replication Cluster Set 1 Fusion-io Web Server memcached PHP MySQL stores status data, which are updated in a real-time manner. Main memory, memcached stores static data shared among all the PHP processes. This bandwidth is the most precious resources.
Live Storage Layer MySQL (master) MySQL (slave) MySQL (log) replication Cluster Set 1 Sharding Cluster Set 2 MySQL (master) MySQL (slave) MySQL (log) Cluster Set 3 MySQL (master) MySQL (slave) MySQL (log) Cluster Set 32 MySQL (master) MySQL (slave) MySQL (log) Fusion-io Fusion-io Fusion-io Fusion-io Web Server Web Server Web Server Web Server Web Server Web Server Web Server Web Server Web Server Web Server Web Server Web Server Web Server … Sharding& Partitioning
Storage Layer MySQL (master) MySQL (slave) MySQL (log) replication Cluster Set 1 Sharding Cluster Set 2 MySQL (master) MySQL (slave) MySQL (log) Cluster Set 3 MySQL (master) MySQL (slave) MySQL (log) Cluster Set 32 MySQL (master) MySQL (slave) MySQL (log) Fusion-io Fusion-io Fusion-io Fusion-io Data Mining Environment Customer Support DB Analytics Layer Data Warehouse Systems and Statistical Analysis Systems データ マイニング処理
has been updated, if something else references that data, it will always be guaranteed that the updated data can be referenced. A: Availability of the system No matter what the current situation, the system will continue to operate. P: Tolerance to network partitions Messages can be dropped. CAP Theorem References: E. Brewer, "Towards Robust Distributed Systems," Proc. 19th Ann. ACM Symp.Principles of Distributed Computing (PODC 00), ACM, 2000, pp. 7-10 E. Brewer, "CAP twelve years later: How the "rules" have changed," in Computer, vol. 45, no. 2, pp. 23-29, IEEE, Feb. 2012.
capability. Intel AVX2 instruction set is fully supported in C4 instances. ② Closure-Like CGI and Shared-Nothing Architecture is great. Old school CGI works very fine even today. ③ Combination of Amazon Kinesis Firehose and Amazon SQS have contributed greatly to prevent congestion of large-scale requests.