上产使用MQ的三点注意

  • 安全性考量:在正式环境中使用消息队列中间件服务一定要做相关的安全性设置。包括启用消息队列服务的用户名和密码、启用消息队列服务自带的SSL加密设置。如果您使用的消息队列服务不自带SSL加密,则一定要自己进行加密。幸运的是,如果您使用的是ActiveMQ,那么以上两种安全性要求都可以满足。甚至ActiveMQ还支持为每一个队列单独进行用户名和密码设置。

  • 错误数据的处理:在正式环境中使用消息队列中间件服务一定要假设会发生传输的消息由于各种业务原因导致的消费者处理错误的情况。所以对超出redeliveryCounter重试次数的错误消息一定要转存到另外的“待处理区域”,并在后续进行人工干预。在ActiveMQ中这个“待处理区域”就是死消息队列:ActiveMQ.DLQ。

  • 在产品预算内赋予消息服务中间件最大的可用性:类似于ActiveMQ、RabbitMQ这样的消息队列中间件,其目的并不是一味地追求单位时间内消息数据的吞吐量/并发量的处理能力。它们的功能中涵盖了诸多功能:事务机制、确认机制、重试机制、热备机制等等,都是为了一个更重要的功能目的:保证消息完整可达。所以您和您的团队一定要按照业务特性来确定是否适合使用这样的中间件服务,并且您需要在预算范围内为您的消息服务中间件配置多个服务节点、多个存储单元,以便保证消息队列中间件能够完成它的任务——消息完整可达。

上一篇:C#中“==”和equals()的区别


下一篇:C#调用C++ DLL类方法(转)