在我们公司,我们使用弹簧靴,微服务,弹簧云等...我们对这种基础设施感到满意,但我仍有一些担忧: 我们使用休息作为通信协议,即使我发现它很棒,我仍然认为我们可以找到更好的东西。休息时间:
URI
,http方法(POST, GET, PUT,...
)难道你不觉得如果我们有像RMI这样的东西会容易得多吗?我知道这是一项非常古老的技术(而且它不是语言独立的),但它让生活更轻松(你只需要一个界面及其实现)。
搜索周围,我发现了一些有趣的项目,如假装客户端或春天云流,但它们似乎都不是银弹。
您如何看待这个话题?这是你感觉到的问题吗?如果是这样,你怎么接近它?
提前致谢。
答案 0 :(得分:3)
在我的公司,我们使用JMS为我们的微服务堆栈添加“实习生”通信堆栈。它可靠,易于使用,高效且性能卓越。
我们使用Apache ActiveMQ作为实现,但RabbitMQ也被广泛使用。
答案 1 :(得分:1)
微服务并不意味着紧密耦合,RMI需要两端的代码,当你没有控制另一方时很有趣,例如不想升级的客户,它是B!@ *!通过防火墙。
Soap解决了你提到的大部分事情,遗憾的是Java从来没有一个好的Soap堆栈。据说Rest还有其他优势,特别是从网页和javascript访问服务时。
答案 2 :(得分:0)
您可以使用Spring Cloud Netflix and Eureka作为服务发现和Client-Side Load Balancing with Ribbon。
借助那些可以通过“服务名称”而不是服务位置在微服务之间进行通信的人。
结帐this demo。对于未完成的微服务通信应该非常有用。
这里我们有2个简单的微服务和发现服务,用于它们之间的通信。