如何改善微服务之间的通信

Pir*_*ino 5 java rest spring-boot microservices

在我们公司,我们使用弹簧靴,微服务,弹簧云等...我们对这个基础设施很满意,但我仍然有一些担忧:我们使用休息作为通信协议,即使我发现它很棒,我仍然认为我们可以找到更好的东西.休息:

  • 你需要使用客户端和服务器(restcontroller)
  • 你需要知道服务器URI,http方法(POST, GET, PUT,...)
  • 你需要知道params去哪里(body,querystring)
  • ....

难道你不觉得如果我们有像RMI这样的东西会容易得多吗?我知道这是一项非常古老的技术(它不是语言独立的),但它让生活更轻松(你只需要一个界面及其实现).

搜索周围,我发现了一些有趣的项目,如假装客户端或春天云流,但它们似乎都不是银弹.

对于这个话题你有什么看法?这是你感觉到的问题吗?如果是这样,你怎么接近它?

提前致谢.

Ale*_*nis 5

在我的公司中,我们使用 JMS 将“实习生”通信堆栈添加到我们的微服务堆栈中。它可靠、使用简单、高效且性能非常好。

我们使用Apache ActiveMQ作为实现,但RabbitMQ也被广泛使用。


svi*_*kar 1

您可以使用Spring Cloud Netflix 和 Eureka作为服务发现和带有 Ribbon 的客户端负载平衡

在这些工具的帮助下,您可以通过“服务名称”而不是服务位置在微服务之间进行通信。

看看这个演示。它对于理解微服务通信应该非常有用。

这里我们有 2 个简单的微服务和用于它们之间通信的发现服务。