JMS场景

更多相关推荐 企业应用 有一个服务器端程序,和多个客户端程序分布在不同的机器上。服务器端生成一个任务指令后要下发到多个客户端,客户端接收指令后运行一些程序完成指令。
目前做法:使用数据库通讯,服务器程序把指令写到服务器端的数据库里,这时服务器端有个监控程序(c++程序)把指令下发到客户端某个目录下(以XML格式),客户端也有个监控程序(c++程序)接收xml格式的指令后启动完成指令的程序模块。
新的想法:想使用JMS完成指令的传达,服务器端的指令通过JMS服务传递到客户端,然后客户端程序执行指令。


请问这样的情况用JMS和不合理?
Tomcat上能不能使用JMS服务?我们没有用spring 架构
下一个版本可能要用Jboss,Jboss对JMS支持怎么样?
有一个服务器端程序,和多个客户端程序分布在不同的机器上。服务器端生成一个任务指令后要下发到多个客户端,客户端接收指令后运行一些程序完成指令。


这是典型的消息订阅/发布模式啊,用JMS再适合不过了:
1.将来你的业务要求复杂后也容易扩展,比如将来要多个指令共同完成一个任务你现在怎么办,只能改源程序添加功能代码
2.出错了怎么办,指令写入数据库时出错怎么办?指令下发到客户端时出错怎么办,接受失败怎么办....这些自己做都需要大量的代码,而这些工作都可以交给JMS
3.移植也方便,无论是操作系统平台的移植还是消息服务器的移植,

推荐使用activemq,它还提供了JMS的C++客户端
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JMS(Java Message Service)和MQ(Message Queue)都是消息传递技术,用于在分布式系统中进行异步通信和解耦应用组件。 JMS是Java平台的消息传递标准,提供了一种用于创建、发送和接收消息的API。它适用于Java应用程序之间的通信,并且可以与各种消息中间件(包括MQ)集成。JMS适用于以下应用场景: 1. 发布/订阅模式:在这种模式下,消息发布者将消息发送到主题(Topic),而订阅者可以通过订阅主题来接收消息。这种模式适用于多个消费者需要同时接收消息的场景,如新闻订阅、实时数据更新等。 2. 点对点模式:在这种模式下,消息发送者将消息发送到队列(Queue),而接收者通过从队列中接收消息来消费。这种模式适用于只有一个接收者需要处理消息的场景,如任务分发、订单处理等。 MQ(Message Queue)是一种消息中间件,提供了可靠的消息传递机制,并支持多种通信协议。MQ适用于以下应用场景: 1. 异步通信:MQ可以实现异步通信,发送方将消息发送到队列中,而接收方可以在合适的时机从队列中获取消息并进行处理。这种方式可以提高系统的可靠性和性能,减少系统之间的耦合。 2. 流量削峰:当系统面临高峰期时,MQ可以作为缓冲层,接收并缓存请求,然后按照系统的处理能力逐步消费。这样可以避免系统过载,保证系统的稳定性。 3. 系统解耦:使用MQ可以将系统解耦,各个模块之间通过消息进行通信,而不是直接调用对方的接口。这样可以降低系统之间的依赖性,提高系统的灵活性和可维护性。 总而言之,JMS适用于Java应用程序之间的通信,而MQ适用于各种异步通信和解耦场景。它们可以根据具体的需求进行选择和使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值