摘要:對訂單類系統(tǒng)而言,單據(jù)號是非常重要的東西。一個好的單據(jù)號組成往往應該包含豐富的元素,利于問題的調查,業(yè)務的擴展。
對訂單類系統(tǒng)而言,單據(jù)號是非常重要的東西。一個好的單據(jù)號組成往往應該包含豐富的元素,利于問題的調查,業(yè)務的擴展。
這里列舉幾種不好的單據(jù)號范例:
單純的數(shù)字遞增: 001, 002, 003 //無業(yè)務含義
UUID//無業(yè)務含義,且無順序概念
日期+用戶ID//當天同一用戶發(fā)生兩筆業(yè)務時可能重復
好的單據(jù)號規(guī)則
系統(tǒng)標識 | 日期 | sequence空間 |
---|---|---|
表示當前單據(jù)號是屬于哪個系統(tǒng)的,比如001表示支付系統(tǒng),002表示團購系統(tǒng) | 表示這筆單據(jù)是發(fā)生在哪一天的,yyyyMMdd格式字符串 | 可放8位數(shù)字,支持一億的sequence,值可以來自當前表的主鍵ID,不滿8位的左邊統(tǒng)一補0,這個保證了最終的唯一性 |
如果當前系統(tǒng)有子單據(jù)概念,比如訂單系統(tǒng)里還有物流單的概念,則可以加入子業(yè)務單標識
系統(tǒng)標識 | 日期 | 子業(yè)務單標識 | sequence空間 |
---|---|---|---|
- | - | 001表示物流單,002表示退款單 | - |
如果你的數(shù)據(jù)庫是分庫分表的,則強烈建議在單據(jù)號中加入分庫分表位,將有很大的收益
系統(tǒng)標識 | 日期 | 分庫分表位 | sequence空間 |
---|---|---|---|
- | - | 0102表示01庫的02號表 | - |
總之好的單據(jù)號可以獲得如下收益:
根據(jù)單據(jù)號馬上可以知道這個來自哪個系統(tǒng),發(fā)生在哪一天
在這個系統(tǒng)中屬于具體哪一個子業(yè)務
這筆單子是屬于哪個庫哪個表的
在程序中只要你能獲得單據(jù)號,就能通過截取的方式獲得很多有價值的信息,便于邏輯的處理。久而久之你會不自主讓單據(jù)號貫穿整個系統(tǒng),也樂意在日志中打印,將極大方便你解決問題
當整個系統(tǒng)群都遵守統(tǒng)一的標準時,你會發(fā)現(xiàn)當進入任意一個新系統(tǒng)時,只要給你這個系統(tǒng)的單據(jù)號則你都能快速定位日志,代碼,數(shù)據(jù)庫表,非常利于學習
讓我們擁抱好的單據(jù)號生成習慣吧!
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/11782.html
摘要:有些接口可以天然的實現(xiàn)冪等性,比如查詢接口,對于查詢來說,你查詢一次和兩次,對于系統(tǒng)來說,沒有任何影響但對于有寫庫操作的增刪改接口,多次調用就會對系統(tǒng)有多次影響。 寫在前面:之前在設計接口時因經(jīng)驗尚淺,并未過多考慮冪等性,但這兩天出現(xiàn)的一個線上問題讓我認識到了某些情況下接口冪等性的重要性; 非冪等場景:服務A將單據(jù)A信息通過RPC遠程過程調用傳給下游服務B接口(非冪等接口)用于生成關聯(lián)...
摘要:解決冪等問題的三部曲,也是作者的思考框架。這是解決冪等問題的第二部曲列出并減少副作用的分析維度。所以在并發(fā)執(zhí)行的維度,將并發(fā)重復執(zhí)行變成串行重復執(zhí)行是最好的冪等解決方案。 綱要 文章目的:本文旨在提煉一套分布式冪等問題的思考框架,而非解決某個具體的分布式冪等問題。在這個框架體系內,會有一些方案舉例說明。文章目標:希望讀者能通過這套思考框架設計出符合自己業(yè)務的完備的冪等解決方案。文章內容...
摘要:如果要消滅大程序,那就得切分,做好切分必然離不開高內聚低耦合的核心思想。分布式系統(tǒng)關注點高內聚低耦合詳解這篇聊的就是這個。也是分布式系統(tǒng)的分治思想體現(xiàn)。垂直切分垂直切分有時候也會被稱作縱向切分。題外話不到迫不得己,盡量避免進行水平切分。 如果第二次看到我的文章,歡迎下方掃碼訂閱我的個人公眾號(跨界架構師)喲~本文長度為5389字,建議閱讀14分鐘。堅持原創(chuàng),每一篇都是用心之作~ 沒...
摘要:建立后臺觸發(fā)熔斷操作入口,人工錄入熔斷配置或資損防控檢測出異常新增并生效熔斷配置,應急情況生效熔斷,日常支付鏈路不會過熔斷判斷。確認無誤或故障處理完成后,觸發(fā)解熔斷操作,業(yè)務繼續(xù)處理或駁回。 1. 資損盲區(qū) 隨著有贊支付體量的增大,資產部門承擔的資金管理,風險把控的責任也越大。我們一方面要小步快跑,快速支撐業(yè)務,又要穩(wěn)住底盤,守好底線。支付業(yè)務底線就是守護用戶的每一分錢,不能有資金損失...
閱讀 1715·2021-11-18 10:02
閱讀 2228·2021-11-15 11:38
閱讀 2678·2019-08-30 15:52
閱讀 2201·2019-08-29 14:04
閱讀 3241·2019-08-29 12:29
閱讀 2095·2019-08-26 11:44
閱讀 1004·2019-08-26 10:28
閱讀 842·2019-08-23 18:37