私たちのチームはマイクロサービスWebバックエンドを開発しています。開発者は展開について何も知らず、サービスを展開するためにいくつかのWebフレームワーク(Springbootなど)を使用します。展開はK8Sと同様にコンポーネントによって制御されるため、すべてのサービスをホスト間で移行できます。
だから私はローカルソケットでUnixドメインソケットを自動的に使用できるかどうか疑問に思います。たとえば、今日のサービスa
とサービスがb
同じホストに展開されている場合は、Unixドメインソケットを使用して互いに通信します。いつか交換すると、b
Unix Domain Socketが使用されます。それ以外の場合(サービスが同じホスト上にない場合)、通信にパブリックソケットを使用してください。c
a
c
IMO、私に必要なのは、次のような一種のOS構成です。
config = kernel.read(some_config)
sk = kernel.get_socket(some_socket)
if (config == 1 and sk.destination_ip == 127.0.0.1) {
sk uses Unix Domain Socket to do the communication
} else {
sk uses common socket to do the communication
}
Linuxにそのような構成やメカニズムがありますか?