BT

InfoQ ホームページ Architecture に関するすべてのコンテンツ

アーティクル

RSSフィード
  • API GatewayサービスをClojureからGo言語に書き直す - AppsFlyerによる実例報告

    AppsFlyerはマイクロサービスアーキテクチャ方式で構築されており,1日700億近いHTTPリクエストを処理しています。すべてのフロントエンドサービスをラップしてシステムへのエントリポイントとなるのは,API Gatewayと呼ばれるミッションクリティカルな(非マイクロ)サービスです。この記事では,Clojureベースのゲートウェイから,新たに設計されたGoベースの実装に移行した経験を報告します。

  • RESTlessnessに打ち勝つ

    GraphQLやgRPC,Apache Kafkaといった新しいAPIプロトコルが,RESTに基づいたHTTP APIに代わるものとして人気を集めています。RESTの代わりを探すのではなく,ソフトウェアエンジニア産業は,成熟したRESTエコシステムを基盤として,新たなプロトコルの技術的長所を探求する手段を模索するべきです。

  • なぜアーキテクチャ図を必要とするのか?

    ソフトウェアアーキテクチャ図は、うまく作ると、開発チーム内および外部ステークホルダーとのコミュニケーションを大幅に改善させることができる。それには、対象読者を理解することと、含めるべきものを慎重に自制することが必要だ。ひどい図がたくさんあったというだけで、図なんて必要ない、役に立たないと考えないようにしよう。

  • サーバーレスによる大変革

    この記事では、サーバーレスが他のアプリケーションアーキテクチャとどう異なるのかを定義して説明する。次に、サーバーレスアプリケーションのアーキテクチャは(適切に用いれば)非サーバーレスアーキテクチャよりも優れていることを示す。最後に、アーキテクトや開発者がサーバーレスのメリットを実現するのに役立つ経験則で締めくくる。

  • The EconomistにおけるGoを用いたマイクロサービス構築のふりかえり

    Goで書かれたマイクロサービスは、The Economistの新システムの重要コンポーネントだ。これにより、スケーラブルでハイパフォーマンスなサービスを提供し、新プロダクトをすばやくイテレーションできるようになった。Goに組み込まれた並行処理とAPIサポート、および静的コンパイル型言語としての設計のおかげで、大規模にスケール可能な分散イベントシステムを実現できる。全体として、Goを用いたチームの体験はポジティブなものだった。

  • RSocketでRESTに安息(Rest)を

    REST(Representational State Transfer)は、マイクロサービス間の通信におけるデファクトスタンダードになっています。これは望ましいことではない、と著者は主張します。現代的なサービスを開発するには、現代的な素材でHTTPを置き換える必要があります。オープンソースのRSocketはサービスのために設計されました。アプリケーションレベルのフロー制御を組み込んだ、コネクション指向でメッセージ駆動のプロトコルです。

  • Apache Kafka: デプロイメントを最適化するための10のベストプラクティス

    筆者のBen Bromhead氏が、データストリーミングプラットフォームをより効率的に管理するための、開発者のKafkaのベストプラクティスとして、ログ設定、適切なハードウェア利用、ZooKeeper設定、レプリケーション係数、パーティション数などについて論じます。

  • Kubernetes時代のマイクロサービス

    マイクロサービスアーキテクチャは現在もなお、分散システムにおける最もポピュラーな設計方法です。しかしながら、Kubernetesとクラウドネイティブのムーブメントは、アプリケーション設計と大規模開発をある面で再定義しようとしています。現代の開発者はビジネス機能を実装するためにプログラム言語に精通するだけでなく、クラウドネイティブテクノロジにも同じように習熟しなくてはなりません。

  • ソフトウェアアーキテクチャのためのC4モデル

    ソフトウェアアーキテクチャ図は非常に便利なコミュニケーションツールではありますが、多くのチームが図を作成することを縮小しています。また、図を作成したとしても、しばしば混乱と不明瞭さを抱えています。C4モデルは、コンテキスト、コンテナ、コンポーネント、コードといった一連の階層的なソフトウェアアーキテクチャ図で構成されています。

  • C#のAPI設計のモデルとインターフェース

    従来のMVC、MVP、MVVM、Web MVCの中で共通の要素はモデルです。ビュー、コントローラー、プレゼンターについて解説している記事はたくさんあります。しかし、モデルについてはほとんど取り上げられていません。この記事では、モデルを取り上げ、モデルをが実装する.NETのインターフェースについて解説します。

  • マイクロサービスにおけるデータ管理

    この記事では、モノリシックなデータベースからの移行に注目して、マイクロサービスにおけるデータ管理方法の実践例を提供する。最初にモノリスを構築し、実際にスケーリングやその他メリットが必要になってから、マイクロサービスに移行することを推奨する。

  • リアクティブAPIの設計,実装,利用

    リアクティブプログラミングはJavaのホットな話題です。非ブロックAPIを使いたいにせよ,マイクロサービスの増加に伴って増加するレイテンシに対処したいにせよ,あるいは単に計算リソースを効率的に使用したいにせよ,今こそ有望なプログラミングモデルとしてのリアクティブに注目すべき時です。今回の記事では,リアクティブAPIの設計,実装,利用に用いるべき選択肢をいくつか紹介します。

BT

あなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。

Eメールを変更すると確認のメールが配信されます。

会社名:
役職:
組織規模:
国:
都道府県:
新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。