複数のコンテナー化されたマイクロサービスで分離した Web アプリケーションに取り組んでいます。現在、約 20 のサービスがありますが、システム全体で 300 以上のサービスが必要になることは間違いありません。現在のほとんどのサービスと、将来的にはマシン全体を必要としないサービスもあるため、同じホストに複数のサービスを展開します。他の人がサービス間通信をどのように扱っているのか疑問に思っています。私の好みの方法は、REST ベースの通信を使用することでしたが...
同じマシンで複数の Web サーバーを実行するのは重すぎませんか? Ruby で開発していますが、Puma のような軽量の Web サーバーでも大量のメモリを消費する可能性があります。
UNIX ソケットを使用したカスタム通信チャネルの作成を開始しました。したがって、1 つの Web サーバーを開始すると、「ルーター」アプリは、UNIX ソケットを介してそのホストで現在実行中のサービスと通信します。しかし、努力する価値があるかどうかはわかりません。さらに、この種の通信を使用するには、すべてのサービスを作成してカスタマイズする必要があります。Ruby-on-Rails などのフレームワークを使用するのは難しいと思います。マイクロサービス アーキテクチャの全体的な魅力であるさまざまな言語を使用することもできます。車輪を再発明しようとしているような気がします。
それで、誰かがより良いアプローチを提案したり、私の現在のものに投票したりできますか?
助けていただければ幸いです。
ありがとう、