タグ

architectureに関するwata88のブックマーク (5)

  • Grokking Modern System Design Interview for Engineers & Managers - AI-Powered Learning for Developers

    EXPLORE THE CATALOGSupercharge your career with 700+ hands-on courses

    Grokking Modern System Design Interview for Engineers & Managers - AI-Powered Learning for Developers
  • Shopifyはいかにしてモジュラモノリスへ移行したか

    原文(投稿日:2019/07/29)へのリンク ShopifyのシニアエンジニアであるKirsten Westeinde氏がShopify Unite 2019で、Shopifyにおけるモジュラモノリス(modular monolith)への展開について論じた。変更をいつ行うか、どのように達成するか、といった判断にデザインペイオフラインを使用したこと、ターゲットアーキテクチャからマイクロサービスを除外した理由、などがその内容だ。 重要な点は、モノリスは必ずしも悪いアーキテクチャではなく、単一のテストおよび展開パイプラインなど多くのメリットがある、ということだ。新たな機能を短期間で提供する必要のあるプロジェクトを立ち上げるには、これは非常に有用だ。アーキテクチャの改善に着手すべきなのは、"設計のペイオフライン"を越えた時、すなわち設計の悪さが機能開発を妨げるポイントにおいてのみである。Sho

    Shopifyはいかにしてモジュラモノリスへ移行したか
  • 分散キューという名の苦しみ - Software Transactional Memo

    TL;DR 分散システムにおいてキューを導入する場合、当にキューが必要なのか再考すべき。そこが地獄の入り口だから。 システムの抽象 コンピュータの世界は、来は0と1の信号の羅列が飛び交う無機質なものである。でも人類は信号だけですべてを語らず、様々な喩えを定義してきた。それはデスクトップ・ウィンドウ・マウスカーソルといったグラフィカルな表現に留まらず、パケットやカプセル化といった用語にロック・キュー・リスト・木などのアルゴリズムやデータ構造の世界にも自然に溶け込んでいる。これらはすべて人間の理解を助けるための喩え話に過ぎず、この喩えこそが人間のより直感的な理解をもたらす一方で、発想の制約を生み出してきた。 人間が大きなシステムを作るときも何らかの喩えを用いてシステム全体を整理する。アーキテクチャの「ポンチ絵」を描いて情報共有をするのは企業に勤めていれば経験した人も多いだろう。パワーポイン

    分散キューという名の苦しみ - Software Transactional Memo
    wata88
    wata88 2018/06/18
    exactly at once カジュアルに崩壊するなーって印象なので考えたくない
  • 高速なシステムを作る方法

    NewsPicksの広告配信システム(アドサーバー)を構築した際に高速に処理するためにアーキテクチャや設計上工夫したポイントの説明資料です。

    高速なシステムを作る方法
  • Uberがリアルタイムマーケットプラットフォームをスケールしている方法 | FAworksブログ

    Uberは、たった4年で38倍という目覚ましい成長を遂げたという。今回が恐らく初めてだと思うが、UberのチーフシステムアーキテクトであるMatt Ranney氏が、その面白くて詳細にわたる発表、「Scaling Uber’s Real-time Market Platform(Uberのリアルタイムマーケットプラットフォームをスケーリングする)」の中で、Uberのソフトウェアの仕組みについて詳しく説明している。 もしあなたが「急騰料金(サージ・プライシング)」に興味があるなら、それはこの発表の中に出てこない。知ることができるのは、Uberのディスパッチシステム、同社の地理空間インデックスの実装方法、システムのスケール方法、高可用性の実現方法、不具合の対処法についてだ。例えば、ドライバーの電話をリカバリ用の外部分散ストレージシステムとして使うという、データセンターの不具合に対処する驚きの方

    Uberがリアルタイムマーケットプラットフォームをスケールしている方法 | FAworksブログ
  • 1