消息隊列
用過哪些 MQ,和其他 mq 比較有什麼優缺點,MQ 的連接是線程安全的嗎,你們公司的MQ 服務架構怎樣的。
根據實際情況說明
我們公司用activeMQ 因爲業務比較簡單 只有轉碼功能,而amq比較簡單
如果是分佈式的建議用kafka
http://blog.csdn.net/sunxinhere/article/details/7968886
MQ 系統的數據如何保證不丟失。
基本都是對數據進行持久化,多盤存儲
rabbitmq 如何實現集羣高可用。
集羣是保證服務可靠性的一種方式,同時可以通過水平擴展以提升消息吞吐能力。RabbitMQ是用分佈式程序設計語言erlang開發的,所以天生就支持集羣。接下來,將介紹RabbitMQ分佈式消息處理方式、集羣模式、節點類型,並動手搭建一個高可用集羣環境,最後通過java程序來驗證集羣的高可用性。
1. 三種分佈式消息處理方式
RabbitMQ分佈式的消息處理方式有以下三種:
1、Clustering:不支持跨網段,各節點需運行同版本的Erlang和RabbitMQ, 應用於同網段局域網。
2、Federation:允許單臺服務器上的Exchange或Queue接收發布到另一臺服務器上Exchange或Queue的消息, 應用於廣域網,。
3、Shovel:與Federation類似,但工作在更低層次。
RabbitMQ對網絡延遲很敏感,在LAN環境建議使用clustering方式;在WAN環境中,則使用Federation或Shovel。我們平時說的RabbitMQ集羣,說的就是clustering方式,它是RabbitMQ內嵌的一種消息處理方式,而Federation或Shovel則是以plugin形式存在。
https://my.oschina.net/jiaoyanli/blog/822011
https://www.ibm.com/developerworks/cn/opensource/os-cn-RabbitMQ/
MQ分佈式系統事務一致性解決方案
http://www.infoq.com/cn/articles/solution-of-distributed-system-transaction-consistency