Armeria

Armeria:多様なプロトコルを、ひとつの基盤へ

Armeria:多様なプロトコルを、ひとつの基盤へ

CurioSwitchのエンジニアは、リアクティブマイクロサービスフレームワークArmeriaへ、gRPCサポートや高性能デコーダーの開発などで貢献してきました。

Armeriaは、gRPC、Thrift、REST、静的ファイル、ヘルスチェックなど、異なる種類のサービスをひとつのポートで提供できるJava向けフレームワークです。Nettyを基盤に、高い並行性能と柔軟な開発体験を両立しています。

異なる技術を自然につなぐ

実際のサービスは、ひとつの通信方式だけで完結するとは限りません。既存のREST APIを維持しながらgRPCへ移行したり、同じアプリケーションで監視用エンドポイントを提供したりする必要があります。Armeriaは、それらを余分なプロキシやサイドカーなしで組み合わせられるようにします。

  • gRPC、Thrift、RESTを同じサーバーで提供
  • Spring BootやDropwizardとの統合
  • ブラウザからRPCを確認できるドキュメントサービス
  • サービスディスカバリーとクライアント側ロードバランシング

横断的な機能を再利用可能に

認証、メトリクス、分散トレーシング、リトライ、レート制限といった共通処理は「デコレーター」として組み合わせられます。アプリケーション固有のロジックをシンプルに保ちながら、運用に必要な機能を一貫したAPIで追加できます。

CurioSwitchは、プロトコルやフレームワークの違いを越えて、チームが本来のプロダクト開発へ集中できる技術基盤づくりに取り組んでいます。