InfoQ ホームページ 設計/アーキテクチャ に関するすべてのコンテンツ
-
RSocketでRESTに安息(Rest)を
REST(Representational State Transfer)は、マイクロサービス間の通信におけるデファクトスタンダードになっています。これは望ましいことではない、と著者は主張します。現代的なサービスを開発するには、現代的な素材でHTTPを置き換える必要があります。オープンソースのRSocketはサービスのために設計されました。アプリケーションレベルのフロー制御を組み込んだ、コネクション指向でメッセージ駆動のプロトコルです。
-
JavaScriptとWeb開発に関するInfoQトレンドレポート
このInfoQトレンドレポートでは、JavaScript、HTML、CSS、およびWeb開発に関する現在のトレンドを取り上げ、採用がさらに進んでいるテクノロジとオプション、そして寿命が近づいているものについて説明する。新しいJavaScript、CSS、HTML、WebAssembly標準、ならびにフレームワークやその他Webテクノロジの普及は、引き続き大幅に加速している。
-
Apache Kafka: デプロイメントを最適化するための10のベストプラクティス
筆者のBen Bromhead氏が、データストリーミングプラットフォームをより効率的に管理するための、開発者のKafkaのベストプラクティスとして、ログ設定、適切なハードウェア利用、ZooKeeper設定、レプリケーション係数、パーティション数などについて論じます。
-
MongoDBを始めた頃に知っていたら、と思う14のこと
私は語るのも恥ずかしいほど長くデータベースに携わっていますが、MongoDBを扱い始めたのは最近のことです。MongoDBを始めた頃に知っていたら、と思うことがいくつかあります。一般的な経験として、データベースはどんなものなのか、何をするものなのか、という先入観は必ずあります。みなさんがMongoDBを簡単に使えれば、という思いで、よくある過ちをいくつか紹介しましょう。
-
スタートアップの視点から見たマイクロサービス
マイクロサービスへの旅を始めると、何を考えるべきなのかを知って呆然とするかもしれません。簡単にあてはまる黄金律は存在しません。旅はすべて異なり、どの組織も別の状況に直面します。この記事では、スタートアップの視点から学んだこととチャレンジ、そして、次にマイクロサービスを導入する時にどのようにするかを共有します。
-
Kubernetes時代のマイクロサービス
マイクロサービスアーキテクチャは現在もなお、分散システムにおける最もポピュラーな設計方法です。しかしながら、Kubernetesとクラウドネイティブのムーブメントは、アプリケーション設計と大規模開発をある面で再定義しようとしています。現代の開発者はビジネス機能を実装するためにプログラム言語に精通するだけでなく、クラウドネイティブテクノロジにも同じように習熟しなくてはなりません。
-
Javaの新JITコンパイラ、Graalを解説
オラクルがGraalをリリースした。これはJava用の新しいJITコンパイラであり、次世代のpolyglot仮想マシン、GraalVMにおける主要なコンポーネントでもある。この取り組みは完全なpolyglot、つまり単一のVM内での複数言語技術を解放することだけでなく、スタートアップ時間の改善、Javaアプリケーションのフットプリント削減を目指している。初期リリースにはJVMとJSに加えベータとしてLLVM、Ruby、Rが含まれる。
-
ソフトウェアアーキテクチャのためのC4モデル
ソフトウェアアーキテクチャ図は非常に便利なコミュニケーションツールではありますが、多くのチームが図を作成することを縮小しています。また、図を作成したとしても、しばしば混乱と不明瞭さを抱えています。C4モデルは、コンテキスト、コンテナ、コンポーネント、コードといった一連の階層的なソフトウェアアーキテクチャ図で構成されています。
-
マイクロサービスにおけるデータ管理
この記事では、モノリシックなデータベースからの移行に注目して、マイクロサービスにおけるデータ管理方法の実践例を提供する。最初にモノリスを構築し、実際にスケーリングやその他メリットが必要になってから、マイクロサービスに移行することを推奨する。
-
サーバレスにおけるセキュリティ - 一体何を守るのか?
この記事の目的は、サーバレスの世界におけるセキュリティに関して、広範な情報を提供することです。サーバレスによってセキュリティが向上する部分、セキュリティの変化する部分、そしてセキュリティの低下が懸念される部分を検討します。
-
リアクティブAPIの設計,実装,利用
リアクティブプログラミングはJavaのホットな話題です。非ブロックAPIを使いたいにせよ,マイクロサービスの増加に伴って増加するレイテンシに対処したいにせよ,あるいは単に計算リソースを効率的に使用したいにせよ,今こそ有望なプログラミングモデルとしてのリアクティブに注目すべき時です。今回の記事では,リアクティブAPIの設計,実装,利用に用いるべき選択肢をいくつか紹介します。
-
Java 9モジュールとVert.xマイクロサービスでCIシステムを構築する
Java 9とVert.xマイクロサービスはアプリケーション構築に最適の組み合わせです。この記事ではその例として、最小限ながら実際に動作するCIシステムを実装します。