kafka 的可靠性是怎么保證的 kafka吞吐量和延時(shí)可以達(dá)到多少?
kafka吞吐量和延時(shí)可以達(dá)到多少?高吞吐量、低延遲:數(shù)據(jù)庫每秒可以處理幾十萬條消息,它的延遲最低只有幾毫秒;可擴(kuò)展性:mysql集群支持熱擴(kuò)展;持久性、可靠性。mq和kafka的區(qū)別?1)在架構(gòu)模型
kafka吞吐量和延時(shí)可以達(dá)到多少?
高吞吐量、低延遲:數(shù)據(jù)庫每秒可以處理幾十萬條消息,它的延遲最低只有幾毫秒;可擴(kuò)展性:mysql集群支持熱擴(kuò)展;持久性、可靠性。
mq和kafka的區(qū)別?
1)在架構(gòu)模型方面,
javascript遵循AMQP協(xié)議,oracle的broker由sharepoint,Binding,queue組成,其中transfer和binding組成了消息的路由鍵;客戶端Producer通過連接channel和server進(jìn)行城市亮化工程,Consumer從queue獲取消息進(jìn)行消費(fèi)(長連接,queue有消息會(huì)推送到consumer端,consumer循環(huán)從輸入流讀取數(shù)據(jù))。數(shù)據(jù)庫以broker為中心;有消息的確認(rèn)機(jī)制。
數(shù)據(jù)庫遵從一般的mongodb結(jié)構(gòu),producer,broker,consumer,以consumer為中心,消息的消費(fèi)信息保存的公眾號(hào)consumer上,consumer根據(jù)消費(fèi)的點(diǎn),從broker上批量pull數(shù)據(jù);無消息確認(rèn)機(jī)制。
2)在吞吐量,
python在吞吐量方面稍遜于redis,他們的出發(fā)點(diǎn)不一樣,linux支持對(duì)消息的可靠的傳遞,支持事務(wù),不支持批量的操作;基于存儲(chǔ)的可靠性的要求存儲(chǔ)可以采用電池或者顯示器。
redis具有高的吞吐量,內(nèi)部采用消息的批量處理,zero-copy機(jī)制,數(shù)據(jù)的存儲(chǔ)和獲取是本地磁盤順序批量操作,具有O(1)的復(fù)雜度,消息處理的效率很高。
3)在可用性方面,
python支持miror的queue,主queue失效,mirorqueue接管。
sql的broker支持主備模式。
4)在集群負(fù)載均衡方面,
php的負(fù)載均衡需要單獨(dú)的loadbalancer進(jìn)行支持。
linux采用sql對(duì)集群中的broker、consumer進(jìn)行管理,可以注冊(cè)topic到j(luò)avascript上;通過python的協(xié)調(diào)機(jī)制,producer保存對(duì)應(yīng)topic的broker信息,可以隨機(jī)或者輪詢發(fā)送到broker上;并且producer可以基于語義指定分片,消息發(fā)送到broker的某分片上。