大家好:我有“简单化”的工作流程管理技巧(如旋转文件队列,控制器线程等等)在各种生产者/消费者环境中工作......文件只是被重命名,删除,并以系统的方式创造;或“主”线程是调用和协调工人。
相比之下,我还在一些玩具应用程序中“玩”了JMS,我可以看到它如何用于协调复杂的应用程序工作流程。
我想知道:像JMS这样的消息传递服务提供的是标准的生产者/消费者工作流程(当然,如果我在这里遗漏了一些东西,或者对于何时/为何使用JMS有错误的想法,请随时纠正我)?
特别是,哪种类型的应用程序需要企业级消息传递框架?
答案 0 :(得分:1)
JMS等消息传递服务提供的标准生产者/消费者工作流程是什么?
可扩展性,可用性,透明度,可管理性。在点对点通信中,发送方绑定到接收方,反之亦然。作为应用程序开发人员,您有责任考虑在流量增加时做什么,并实施必要的更改。您的应用程序必须了解其工作环境,并且每次环境更改时都必须更改。在解决典型的消息传递问题时,您不得不重新发明轮子,例如,临时拥塞(当消费者能够与制作人保持一段时间的步伐时该怎么办?)。如果某些内容无法按预期运行,您必须提供自己的监控当前情况的方法。名单继续......
现在想象一下,你必须以这种方式连接10个不同的系统。显然,你需要提出一个相当通用的解决方案,这样你就不必从头开始实现每个连接逻辑 - 生产成本非常高,更不用说维护它了。 JMS消息代理是这种可能的通用解决方案之一。
特别是,哪种类型的应用程序需要企业级消息传递框架?
简而言之,复杂。我在一家拥有约70个系统网络的公司工作,其中一些系统已有30年历史。随着时间的推移新系统被添加到网络中,旧系统不需要更改,新系统也不必了解古老的数据交换协议 - 消息代理的集中式集群可以将JMS消息转换为某些大型机消息格式我不知道,同样回答答案。