自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

消息隊列備選架構(gòu)選擇,你選擇哪個?

開發(fā) 架構(gòu)
中間件團隊的研發(fā)人員認為這個方案比較簡單,實現(xiàn)成本低,但測試代表認為這個方案測試人力投入較大。運維團隊認為這個方案的硬件成本比較高,一個數(shù)據(jù)分組就需要4臺機器(2臺服務(wù)器 + 2臺數(shù)據(jù)庫)。

備選架構(gòu)1 - 開源方案評估

kafka:

人力成本:

測試代表傾向于引入 Kafka,因為 Kafka 比較成熟,無須太多測試投入。

中間件團隊部分研發(fā)人員也支持使用 Kafka,因為使用 Kafka 能節(jié)省大量的開發(fā)投入。

可維護性:

Kafka 是 Scala 語言編寫的,運維團隊沒有維護 Scala 語言開發(fā)的系統(tǒng)的經(jīng)驗,出問題后很難快速處理。

運維團隊已經(jīng)有一套成熟的運維體系,包括部署、監(jiān)控、應(yīng)急等,使用 Kafka 無法融入這套體系,需要單獨投入運維人力。

業(yè)務(wù)場景:

部分人員認為 Kafka 可能并不適合我們的業(yè)務(wù)場景,Kafka 是大容量的日志消息傳輸,而我們的消息隊列是為了業(yè)務(wù)數(shù)據(jù)的可靠傳輸。

學(xué)習成本:

業(yè)務(wù)主管傾向于采用 Kafka 方案,因為 Kafka 已經(jīng)比較成熟,各個業(yè)務(wù)團隊或多或少都了解過 Kafka

備選架構(gòu)2 - 自研集群 + MySQL 存儲

圖片圖片

【簡單描述】

1. Java 語言編寫消息隊列服務(wù)器;

2. 消息存儲采用 MySQL;

3. SDK 輪詢服務(wù)器進行消息寫入;

4. SDK 輪詢服務(wù)器進行消息讀取;

5. MySQL 雙機保證消息盡量不丟;

6. 使用 Netty 自定義消息格式,并且支持HTTP 接口。

成本:

中間件團隊的研發(fā)人員認為這個方案比較簡單,實現(xiàn)成本低,但測試代表認為這個方案測試人力投入較大。運維團隊認為這個方案的硬件成本比較高,一個數(shù)據(jù)分組就需要4臺機器(2臺服務(wù)器 + 2臺數(shù)據(jù)庫)。

可維護性:

方案可以融入到現(xiàn)有的運維體系中,而且使用 MySQL 存儲數(shù)據(jù),可靠性有保證,運維團隊也有豐富的 MySQL 運維經(jīng)驗。

業(yè)務(wù)主管對這個方案既不肯定也不否定,因為開發(fā)和運維都不是業(yè)務(wù)團隊,對業(yè)務(wù)團隊來說,只要保證消息隊列系統(tǒng)穩(wěn)定和可靠即可。

業(yè)務(wù)場景:

可以為業(yè)務(wù)場景定制開發(fā)各種特性,例如權(quán)限控制、消費速度預(yù)警等。

性能:

部分研發(fā)人員對于這個方案的性能持懷疑態(tài)度,畢竟使用 MySQL 來

存儲消息數(shù)據(jù),性能肯定不如使用文件系統(tǒng)。

其它:

是否會影響中間件團隊的技術(shù)聲譽,畢竟用 MySQL 來做消息隊列,看起來比較“土”、比較另類。

備選架構(gòu)3 - 自研集群 + 自研存儲

圖片圖片

1. 模擬 Kafka 的原理,用 Java 語言實現(xiàn),也可以用 LSM 數(shù)據(jù)結(jié)構(gòu)來存儲消息。

2. 可以保證高可用高性能。

3. 加上可維護性的各種能力,嵌入到已有的運維體系。

備選架構(gòu)3評估

成本:

要做到穩(wěn)定可靠的存儲系統(tǒng),需要較長時間迭代,投入成本大。

自研存儲系統(tǒng)的測試難度高,投入也很大。

可維護性:

可以融入到現(xiàn)有的運維體系中,但自研存儲系統(tǒng)需要較長時間才能成熟,增大了運維風險和投入。

業(yè)務(wù)場景:

可以為業(yè)務(wù)場景定制開發(fā)各種特性,例如權(quán)限控制、消費速度預(yù)警等。

性能:

性能上相比 MySQL 要高,但初步評估并不能高太多。

可用性:

從歷史經(jīng)驗來看,新系統(tǒng)上線肯定有bug,而存儲系統(tǒng)出 bug 是最嚴重的,一旦出 bug 導(dǎo)致大量消息丟失,影響會很嚴重。運維代表不太贊成這個方案,因為運維之前遇到過幾次類似的存儲系統(tǒng)故障導(dǎo)致數(shù)據(jù)丟失的問題,損失慘重。

團隊技術(shù)實力:

方案復(fù)雜度太高,按照目前的團隊人力和技術(shù)實力,要做到穩(wěn)定可靠的存儲系統(tǒng),有較大風險。

運維團隊并不相信目前的中間件團隊的技術(shù)實力足以支撐自己研發(fā)一個存儲系統(tǒng)。

備選架構(gòu)4 - 直接用阿里的 MetaQ

RocketMQ

成本:

低,接入即可。

可維護性:

UC 機房和阿里機房隔離,打通困難,如果在 UC 機房部署阿里的系統(tǒng),部署、維護、升級的人力成本太高。

UC 機房3年內(nèi)估計不會切換阿里機房。

業(yè)務(wù)場景:

可以為業(yè)務(wù)場景定制開發(fā)各種特性,例如權(quán)限控制、消費速度預(yù)警等。

性能:

性能上和 Kafka 基本持平。

可用性已經(jīng)上線運行,支撐阿里業(yè)務(wù),久經(jīng)考驗。

責任編輯:武曉燕 來源: 二進制跳動
相關(guān)推薦

2024-06-14 15:46:46

2019-12-17 09:36:16

JavaPython編程語言

2022-03-06 20:10:36

Vim文本編輯器Linux

2021-11-02 08:40:42

VS CodeAtom開源

2022-01-05 22:45:54

物聯(lián)網(wǎng)開發(fā)RTOS

2019-06-20 05:53:49

物聯(lián)網(wǎng)設(shè)備連接協(xié)議物聯(lián)網(wǎng)

2016-06-22 09:01:31

Linux MintUbuntu發(fā)行版

2020-10-10 11:01:40

后端程序員技術(shù)

2021-06-28 11:17:14

CoutPrintf接口

2021-01-24 23:06:15

存儲瀏覽器工具

2021-06-15 14:33:00

高德百度騰訊

2012-12-10 10:40:25

2017-05-05 09:08:51

WIFISD-WAN無線

2023-10-10 08:36:57

數(shù)據(jù)庫MyISMInnoDB

2023-11-17 15:08:24

消息隊列大數(shù)據(jù)

2011-02-25 15:50:49

2010-07-05 09:24:55

2009-12-02 09:17:50

Open Suse

2019-07-05 15:45:39

UbuntuFedoraLinux

2023-10-10 10:37:35

點贊
收藏

51CTO技術(shù)棧公眾號