你們團隊是否有RocketMQ創建Topic、GID創建規范呢

這里是weihubeats,覺得文章不錯可以關注公眾號小奏技術

背景

早期在使用RocketMQ的時候,系統和開發人員不算多。所以topic的創建會非常隨意,各種千奇百怪的topic

比如: order_topicORDER_TOPICorder-topic

各種奇奇怪怪的風格,用_的,用駝峰的,純大寫加下劃線的。各種風格

其實這個還不是主要的,比如上面的order_topic,你大致知道這個topic是屬于訂單組的,比如如果我們出現了一個domain_eventtopic,這時候我們去看這個topic,他是屬于哪個系統的呢?實際會比較困惑

包括比如要消費這個topic,我們可以有如下gid
gid_domian_event

我看了這個gid也不知道這個gid屬于哪個系統的,是屬于自己系統消費自己的topic,還是屬于其他系統消費domian_event這個topic

所以可以看到如果沒有一個topicgid創建規范,有時候這些topicgid會非常沒有意義,在做topic或者gid維護的時候看這些名字是非常沒有意義的

Topic規范

topic的創建規范我們推薦是
serviceName + topicName(業務名稱)

舉個🌰

比如我們有訂單系統(order)要創建自己的領域事件topic

topic名稱為:order-domain-event-topic

消費者(gid)規范

規范:gid + 消費系統 + consume + topic

如果是自己消費自己則省略 消費系統 + consume變成

gid + topic

舉個🌰

比如我們支付要消費訂單的topic
那么我們的gid為

gid-pay-consume-order-domain-event-topic

如果訂單要消費自己的topic呢?

那我們就可以省略 消費系統 + consume,直接是gid+topic

比如 gid-order-domain-event-topic

一些錯誤的gid命名例子

收益

這樣我們看到每個topicgid就知道是干嘛的了

比如給你一個order-domain-event-topic

你就知道是訂單組的領域事件topic

看到gid-order-domain-event-topic 就是訂單組自己消費自己的order-domain-event-topic

看到gid-pay-consume-order-domain-event-topic就知道是支付用來消費訂單的order-domain-event-topic topic

當然如果公司有足夠的研發資源還是可以自研RocketMQ 的dashboard,從流程上去規范topic的創建,比如創建topic的時候需要說明屬于哪個系統,用途等

不知道其他小伙伴有沒有什么更好的建議呢

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/714781.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/714781.shtml
英文地址,請注明出處:http://en.pswp.cn/news/714781.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

GO結構體

1. 結構體 Go語言可以通過自定義的方式形成新的類型,結構體就是這些類型中的一種復合類型,結構體是由零個或多個任意類型的值聚合成的實體,每個值都可以稱為結構體的成員。 結構體成員也可以稱為“字段”,這些字段有以下特性&am…

JS清空數組方法

清空數組的方法有多種,以下是幾種常見的方式: 1.使用 array.length 屬性將數組的長度設為0,這樣會移除數組中的所有元素: var arr [1, 3, 5]; arr.length 0; console.log(arr); // [] 2. 使用 array.splice() 方法,…

STM32 | 零基礎 STM32 第一天

零基礎 STM32 第一天 一、認知STM32 1、STM32概念 STM32:意法半導體基于ARM公司的Cortex-M內核開發的32位的高性能、低功耗單片機。 ST:意法半導體 M:基于ARM公司的Cortex-M內核的高性能、低功耗單片機 32:32位單片機 2、STM32開發的產品 STM32開發的產品&a…

【論文筆記】Improving Language Understanding by Generative Pre-Training

Improving Language Understanding by Generative Pre-Training 文章目錄 Improving Language Understanding by Generative Pre-TrainingAbstract1 Introduction2 Related WorkSemi-supervised learning for NLPUnsupervised pre-trainingAuxiliary training objectives 3 Fra…

Java 網絡面試題解析

1. Http 協議的狀態碼有哪些?含義是什么?【重點】 200:OK,客戶端請求成功。 301:Moved Permanently(永久移除),請求的URL已移走。Response中應該包含一個Location URL,…

steam++加速問題:出現顯示443端口被 vmware-hostd(9860)占用的錯誤。

目錄 前言: 正文: 前言: 使用Steam對GitHub進行加速處理時,建議使用2.8.6版本。 下載地址如下:Release 2.8.6 BeyondDimension/SteamTools GitHub 下載時注意自己的系統位數 正文: 使用GitHub時會使…

NOC2023軟件創意編程(學而思賽道)python初中組初賽真題

軟件創意編程 一、參賽范圍 1.參賽組別:小學低年級組(1-3 年級)、小學高年級組(4-6 年級)、初中組。 2.參賽人數:1 人。 3.指導教師:1 人(可空缺)。 4.每人限參加 1 個賽項。 組別確定:以地方教育行政主管部門(教委、教育廳、教育局) 認定的選手所屬學段為準。 二、…

Mybatis-Plus+SpringBoot多數據源注解方式@DS

前言 最近接到一個新需求需要處理多數據源的問題 &#xff0c;今天就來和大家一起學習一下。 一、使用步驟 1.引入庫 代碼如下&#xff08;示例&#xff09;&#xff1a; <!--配置多數據源--><dependency><groupId>com.baomidou</groupId><artif…

藍橋杯Java B組歷年真題(2013年-2021年)

一、2013年真題 1、世紀末的星期 使用日期類判斷就行&#xff0c;這里使用LocalDate&#xff0c;也可以使用Calendar類 答案 2099 使用LocalDate import java.time.LocalDate; import java.time.format.DateTimeFormatter; // 1:無需package // 2: 類名必須Main, 不可修改p…

常見問題和解決方案

OOM overview 發現監控告警 定位日志java.lang.OutOfMemoryError 避免參數配置代碼規范 example jvm性能調優實戰 -55RPC調用引發的OOM故障-阿里云開發者社區 (aliyun.com) 發現監控告警 定位日志java.lang.OutOfMemoryErrorA rpc BMAT打開堆快照文件分析histogram右擊看引…

CentOS7 Hive2.3.8安裝

CentOS7 Hive2.3.8 安裝 建議從頭用我的博客&#xff0c;如果用外教的文件到 一、9)步驟了&#xff0c;就用他的弄完&#xff0c;數據庫不一樣&#xff0c;在9步驟前還能繼續看我的 一、 安裝MySQL 0.0&#xff09;查詢mariadb,有就去0.1&#xff09;&#xff0c;沒有就不管…

python3裝飾器

裝飾器 它允許你修改函數或類的行為&#xff0c;而不更改其源代碼。實質上&#xff0c;裝飾器是接受另一個函數作為參數并返回一個包裝原始函數的新函數。這樣&#xff0c;你可以在不修改原始函數的情況下&#xff0c;添加一些額外的功能或邏輯。 def time_cost(func):"…

排隊接水問題

時間限制&#xff1a;1秒 內存限制&#xff1a;128M 題目描述 有n個人在一個水龍頭前排隊接水&#xff0c;假如每個人接水的時間為Ti&#xff0c;請編程找出這n個人排隊的一種順序&#xff08;若有多種順序則編號小的在前&#xff09;&#xff0c; 使得n個人的平均時間…

ARCGIS進行視域分析及地形圖制作

問題說明 開發商要在本區域建造觀景亭,希望在觀景亭上能看到優美的景色。根據提供的數據,完成以下要求。 一、 數據說明(見“題目3”文件夾) 1. DEM.tif:研究區域的數據高程模型數據。 2. 觀察點.shp:需要建造觀景亭的位置。

美團分布式 ID 框架 Leaf 介紹和使用

一、Leaf 在當今日益數字化的世界里&#xff0c;軟件系統的開發已經成為了幾乎所有行業的核心。然而&#xff0c;隨著應用程序的規模不斷擴大&#xff0c;以及對性能和可擴展性的需求不斷增加&#xff0c;傳統的軟件架構和設計模式也在不斷地面臨挑戰。其中一個主要挑戰就是如…

學生云服務器_學生云主機_學生云數據庫_云+校園特惠套餐

2024年騰訊云學生服務器優惠活動「云校園」&#xff0c;學生服務器優惠價格&#xff1a;輕量應用服務器2核2G學生價30元3個月、58元6個月、112元一年&#xff0c;輕量應用服務器4核8G配置191.1元3個月、352.8元6個月、646.8元一年&#xff0c;CVM云服務器2核4G配置842.4元一年&…

自注意力機制(Self-Attention)

注意&#xff1a;本文引用自專業人工智能社區Venus AI 更多AI知識請參考原站&#xff08;【http://www.aideeplearning.cn】&#xff09; Transformer模型中最關鍵部分就是自注意力&#xff08;Self-Attention&#xff09;機制&#xff0c;正如 Transformer 的論文的標題是“…

【Vue3】函數式編程(h 函數)

h 函數的原理就是 createVNode。可以使用 h 函數封裝一些小組件。 <template><table border><tr><th>name</th><th>age</th><th>操作</th></tr><tr v-for"item in list" :key"item.age"&…

shell封裝

shift 命令用于對參數的移動(左移)&#xff0c;通常用于在不知道傳入參數個數的情況下依次遍歷每個參數然后進行相應處理&#xff08;常見于Linux中各種程序的啟動腳本&#xff09; shift(shift 1) 命令每執行一次&#xff0c;變量的個數($#)減一&#xff0c;移動2位可以 執行…

數據結構實現-線性表

順序存儲 #include<iostream> using namespace std; #define MaxSize 50 //靜態順序表 template<typename ElemType> struct sqList{ElemType data[MaxSize];//元素int length;//長度 }; //動態順序表 #ifdef DEBUG //關閉啟用 #define InitSize 100 template<…