InfoQ ホームページ Architecture に関するすべてのコンテンツ
-
Muxでのサービス間プロキシとしてのEnvoy
Muxは、gRPCリクエストと長時間のHTTP/2接続に関連する既知の負荷分散の問題を解決するためKubernetesクラスタにEnvoyネットワーキングプロキシを使用している。
-
Quarkus2.8.0がきめ細かく制御できるトランザクションAPIを導入
RedHatはQuarkus 2.8.0をリリースした。Quarkus 2.8.0では、デフォルトでRESTEasy Reactive RESTレイヤとGraalVM 22.0との統合が提供される。きめ細かく設定できるプログラマティックトランザクションAPIを使うと、トランザクションをより細かく制御できるようになる。
-
スキーマ検証とコード生成に対する新たなアプローチのためにGraphQL構文を利用
Nav Inc.は、GraphQL構文を使ってイベントとメッセージ形式を定義するオープンソースのスキーマ定義とコードジェネレーターを作成した。GraphQLは、開発者の間で表現力と親しみやすさから選ばれたが、それは構文にのみ使われる。Nav Schema Architecture(NSA)ではGraphQLランタイムは使われない。
-
GitHub CodespacesがマイクロサービスとMonorepoプロジェクトのサポートを追加
GitHubは、クラウドベースの開発環境であるCodespacesの拡張を続けている。その目的は、柔軟性を高めて開発者の生産性を向上させることである。具体的には、Codespacesの最新リリースは、マイクロサービスを開発している、あるいは大規模なMonorepoを使用しているチームを対象としている。
-
SoundCloudでパブリックAPI Stranglerが終わりを迎えた
SoundCloudは、Stranglerパターンを使って、モノリスアプリケーションから本格的なBFFへの移行の過程を無事に完了した。
-
Metaがどのように匿名化された認証でプライバシーを配慮したクレデンシャルを使ったか
Metaは認証を使って、サービスのエンドポイントを不正使用から保護している。個人を特定できる情報を削除するためにアクセスデータを後処理することは、リソースを大量に消費するアプローチであることがわかった。どのようにMetaが匿名化された認証を活用して、サービスとユーザのプライバシーを同時に保護するかを説明する記事が最近公開された。
-
JobRunr 5.0.0ではフレームワークのサポートが改善
JobRunr 5.0.0では、Spring Nativeの実装を提供し、デフォルトの再試行回数の設定とデータベースタイプを選択をできるようにし、そして、トランザクションをサポートすることにより、Spring、Quarkus、Micronautのサポートを改善している。現在、ジョブは間隔に基づいてスケジュールできる。cron式により、週の最終日と月の最終日をサポートする。
-
Netflix Studio Search:ElasticsearchとApache Flinkを使ってフェデレーションGraphQLデータのインデックス付け
Netflixのエンジニアは最近、どのようにStudio Searchの構築したかを公開した。そこでは、Apache Kafkaストリーム、Apache Flinkベースのデータメッシュプロセス、Elasticsearchシンクを使ってインデックスが管理される。彼らは、NetflixのフェデレーションGraphQLグラフの要素を抽出し、それを検索可能にするプラットフォームを設計した。現在、Studio Searchでは、組織内の多くのアプリケーションのユーザエクスペリエンスに関して重要な部分が強化されている。
-
ソフトウェアが気候変動にどのように影響するか、ソフトウェアエンジニアがそれに対して何ができるか
地球上のいたるところで大量のソフトウェアが実行されており、このソフトウェアは実行時にエネルギーを消費する。残念ながら、世界中のエネルギーのほとんどはまだ化石燃料の燃焼によって生成されている。ソフトウェアエンジニアがソフトウェアを改善して、処理に使用するエネルギーを少なくすることができれば、化石燃料を燃焼させることによって生成する必要のあるエネルギーが少なくなり、気候にとってより適した状態となる。
-
AWSがグローバルエンドポイントを使ってAmazon EventBridgeの可用性と信頼性を向上
最近、AWSは、サーバーレスイベントバスサービスAmazon EventBridgeにグローバルエンドポイントと呼ばれる新機能を発表した。可用性と信頼性を向上させるためである。
-
アプリ内メッセージングプラットフォームを構築する方法:Lyftの事例
モバイルアプリ用のアプリ内メッセージングプラットフォームの構築を考えたことがある場合には、Lyftの経験がそれを正しく行うための役に立つ可能性がある。Lyftのエンジニアは、MVP、スケーリング、最適化の3段階のアプローチを適用した。
-
eBayで分散アーキテクチャによって複雑な依存関係を管理
eBayエンジニアリングチームは最近、彼らがどのようにしてスケーラブルなリリースシステムを考案したかについてその概要を説明した。リリースソリューションは、分散アーキテクチャを活用して、約2時間で3,000を超える依存関係にあるライブラリをリリースする。チームはJenkinsをGroovyスクリプトと組み合わせて使って、リリースを実行する。
-
Java Newsラウンドアップ: Hibernate 6.0、JobRunr 5.0、JHipster 7.8.0、Spring CVE、JReleaser 1.0-RC2
2022年3月28日、今週のJavaラウンドアップは、JDK 19、Spring Boot、SpringのCVE対応、Apache Tomcatのポイントリリース、Quarkus Tools for Visual Studio Code、Micronaut 3.4.1、JetBrainsのMicronaut Foundation参加、Open Liberty Paketo Liberty Buildpack、Hibernate 6.0、JobRunr 5.0、WildFly 26.1 Beta S2Iイメージ、JReleaser 1.0-RC2、MicroStream 7.0-M2、JHipster 7.8.0、JMH 1.35といったニュースをお届けする。
-
Faunaトランザクションデータベースがイベントストリーミングを導入
Faunaトランザクションデータベースを提供する企業のFaunaは、最近、イベントストリーミングの一般提供を発表した。これは、サブスクライブされたクライアントにドキュメントレベルとコレクションレベルの両方で変更を送信するプッシュベースのストリームである。
-
Lyftにおけるマイクロサービステストの拡張と自動化
Liftは以前、エンドツーエンドのテストなど、いくつかの目的でクラウドベースの分離環境を使用していた。しかしながら、マイクロサービスの数が増えるにつれて、これらの環境を用いたテストでは拡張性が不足するようになり、次第に価値を失っていった。先日の記事では、Lyftが共有ステージング環境においてリクエスト分離を使用したテストへ移行し、運用デプロイメントのゲート管理に受け入れテストを使用するようになった経緯を紹介した。