JMS 不是部署在 Cloud Foundry 中的微服务的首选消息传递机制吗?如果是这样,请您详细说明为什么不是?
问问题
737 次
1 回答
2
标准答案:Cloud Foundry 对您的应用程序如何通信没有意见。
您可能希望使用 RESTful 点对点通信而不是使用消息代理的原因有很多。值得考虑的一件事是,您在 Cloud Foundry 上运行的应用程序将是短暂的,并且可能随时终止和重新创建。
消息队列技术的使用方式往往是人们对诸如“恰好一次”语义之类的事物做出假设,这在分布式环境中物理上是不可能保证的。分布式事务在分布式环境中也变得更加棘手,并且由于网络跳数更多,系统中的不确定性更大,并且出现故障的可能性增加。
关于这个问题还有很多要说的,但是你不会经常看到像 JMS 这样的东西正在与云原生应用程序讨论,因为这些技术通常与对云不友好的设计模式相关联,即使没有什么本质上使它们如此。
于 2016-10-18T08:37:58.877 回答