原创 分佈式中灰度方案實踐

讓請求在導航的服務節上點執行; 一、背景簡介 分佈式系統中會存在這樣的開發場景,不同需求可能涉及到對同一個服務的開發,那麼該服務在研發期間就會存在多個版本並行的狀態,爲了保持不同版本之間的隔離性,驗收需要將請求路由到指定版本號的服務上處

原创 微服務網關Gateway實踐總結

有多少請求,被網關截胡; 一、Gateway簡介 微服務架構中,網關服務通常提供動態路由,以及流量控制與請求識別等核心能力,在之前的篇幅中有說過Zuul組件的使用流程,但是當下Gateway組件是更常規的選擇,下面就圍繞Gateway的

原创 深入分析JVM執行引擎

程序和機器溝通的橋樑 一、閒聊 相信很多朋友在出國旅遊,或者與外國友人溝通的過程中,都會遇到語言不通的煩惱。這時候我們就需要掌握對應的外語或者擁有一部翻譯機。而筆者只會中文,所以需要藉助一部翻譯器才能與不懂中文的外國友人交流。咱們的執行

原创 字典服務的設計與管理

編碼問題,誰不想避其鋒芒; 一、業務背景 在搜索引擎的功能上,曾經遇到過這樣一個問題,數據庫中某個公司名稱中存在特殊編碼,儘管數據已經正常同步到索引中,但是系統中關鍵詞始終也無法匹配到該公司; 然後在庫中模糊匹配,將公司名稱複製到搜索框

原创 聊聊客戶檔案模型的設計與管理

可以簡單,更需要複雜; 一、基礎描述 圍繞客戶管理通常分爲售前、售中、售後、三個核心階段,即營銷、銷售、服務三個核心流程與策略,在之前的文章中有聊過CDP系統的設計,本篇從客戶檔案模型來看看設計上的細節; 首先說明在客戶檔案管理中的幾個

原创 Java基礎 | Stream流原理與用法總結

Stream簡化元素計算; 一、接口設計 從Java1.8開始提出了Stream流的概念,側重對於源數據計算能力的封裝,並且支持序列與並行兩種操作方式;依舊先看核心接口的設計: BaseStream:基礎接口,聲明瞭流管理的核心方法

原创 研發過程中的文檔管理與工具

寫文檔也是技術活 01:實踐 對於多數開發同學來說,很多時候即討厭沒有研發文檔,但是自己又不願意常寫文檔,痛且倔強着; 程序員該不該寫文檔,與爭論哪種編程語言最好一樣,想撕的嘴不留情,該寫的筆不停耕; 當自我的意識上去糾結一件事情要不要

原创 用戶身份標識與賬號體系實踐

互聯網的賬號自帶備忘機制; 一、業務背景 通常在系統研發的過程中,需要不斷適配各種業務場景,擴展服務的領域和能力,一般會將構建的產品矩陣劃分出多條業務線,以便更好的管理; 由於各個業務線的數據入口和管理策略的不同,這樣從不同路徑下沉澱的

原创 分佈式系統中數據存儲方案實踐

數據膨脹的時候,必然放大細節。 一、背景簡介 在項目研發的過程中,對於數據存儲能力的依賴無處不在,項目初期,相比系統層面的組件選型與框架設計,由於數據體量不大,在存儲管理方面通常容易被輕視,當項目發展進入到中後期階段,系統的複雜性很大程

原创 聊聊消息中心的設計與實現邏輯

厭煩被消息打擾,又怕突然間的安靜; 一、業務背景 微服務的架構體系中,會存在很多基礎服務,提供一些大部分服務都可能需要的能力,比如文件管理、MQ隊列、緩存機制、消息中心等等,這些服務需要提供各種可以複用的方法或者接口,以便其他業務服務可

原创 聊聊支付流程的設計與實現邏輯

新手打怵老手頭疼的業務; 一、業務背景 通常在業務體系中,都會或多或少的涉及到支付相關的功能;對於一些經驗欠缺同學來說,最緊張的就是面對這類支付結算的邏輯,因爲流程中的任何細節問題,都可能引發對賬異常的情況; 錯誤發生之後,再想去修復流

原创 應用配置管理,基礎原理分析

工程可以有點小亂,但配置不能含糊; 一、配置架構 在微服務的代碼工程中,配置管理是一項複雜的事情,即需要做好各個環境的配置隔離措施,還需要確保生產環境的配置安全;如果劃分的微服務足夠的多,還要考慮配置更新時的效率; 常規情況下,在配置

原创 服務管理與通信,基礎原理分析

涉及輕微的源碼展示,可放心參考; 一、基礎簡介 服務註冊發現是微服務架構中最基礎的能力,下面將從源碼層面分析實現邏輯和原理,在這之前要先來看下依賴工程的基礎結構,涉及如下幾個核心組件: commons:服務組件的抽象聲明,本文只分析

原创 客觀的聊一聊,裁員這件糟心事

時間在走,環境在變,互聯網有點卷不動了; 01 捋一捋最近互聯網上關於職場的熱點:裁員,優化,畢業,向社會輸送人才,求職;你方唱罷他方登場,持續橫跳熱搜; 年初到現在五月底,身邊已經有好幾個朋友收到裁員通知,而且是沒有給任何的心理預期;

原创 模板化的封裝,降低業務代碼開發

複雜的問題,往往需要簡單的邏輯; 一、業務背景 業務開發是一件複雜且耗時的工程,所以最近幾年出了一個很火的概念叫做"低代碼"開發,簡單的說就是開發人員通過簡單的"拖拉拽"配置,快速構建起業務應用,甚至一些業務人員可以自行操作,比如下面常