ActiveMQ学习笔记(22)----ActiveMQ的优化和使用建议

1. 什么时候使用ActiveMQ

  1. 异步通信

  2. 一对多通信

  3. 做个系统的集成,同构,异构

  4. 作为RPC的替代

  5. 多个应用相互解耦

  6. 作为事件驱动架构的幕后支撑

  7. 为了提高性能的可伸缩性

2. ActiveMQ的优化

  2.1 ActiveMQ的性能依赖的因素

      1.网络拓扑结构,比如;嵌入、主从复制、网络连接。
    2.transport协议
    3.service的质量,比如topic还是queue,是否持久化,是否需要重新投递,消息超时等
    4.硬件、网络、jvm和操作系统等
    5.生产者的数量,消费者的数量
    6.消息分发要经过的destination数量,以及消息的大小等

  2.2 优化建议

    非持久化消息比持久化消息更快,原因如下:
      1.非持久化的消息发送时异步的,Producer不需要等待consumer的receipt消息
      2.持久化消息是需要先把消息存储起来,然后再传递
   尽量使用异步投递消息,示例如:
      cf.setUserAsyncSend(true);
   Transaction比Non-transaction更快
   可以考虑内嵌启动broker,这样应用和broker之间可以使用VM协议通讯,速度快
   尽量使用基于文件的消息存储方案,比如使用KahaDB的方式

  

 

原文 ActiveMQ学习笔记(22)----ActiveMQ的优化和使用建议

posted @ 2019-05-13 08:35  xiaoshen666  阅读(889)  评论(0编辑  收藏  举报