微服务如何相互通信?

问题描述

我想将我目前的整体应用程序转换为微服务模型。我目前仍在努力寻找独立微服务相互通信的最佳方法。理论上,每个独立的微服务都可以用不同的语言编写,因此通信协议必须独立于语言。此外,文件不起作用,因为服务可能运行在单独的计算机上,甚至可能在单独的大陆上运行。这是我目前的想法和问题:

  1. 使用像Redis这样的数据库/消息代理:这依赖于中央数据库,因此,如果它崩溃了,那么整个应用程序就会崩溃。不理想。
  2. 使用websockets:有开销吗?如何处理身份验证?
  3. 公开一个HTTP(S)API:与websockets相同的缺点
  4. 一些为最终用户设计的其他协议,例如RSS:这似乎是个坏主意。

我对上述4种方法还有其他想法吗?哪一个是最好的?如果可能的话,我还能举例说明如何最好地实施它们吗? Java是最早的微服务将要使用的语言。但是,请记住,它必须能够在大多数其他语言上工作,而不仅仅是Java!如果有更好的方法可以实现我的目标,请说明并详细说明其工作原理。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)