轉載至我的博客 https://www.infrastack.cn ,公眾號:架構成長指南 當我們使用 Mysql數據庫到達一定量級以后,性能就會逐步下降,而解決此類問題,常用的手段就是引入數據庫中間件進行分庫分表處理,比如使用 Mycat、ShadingShpere、tddl,但是這種都是過去式了 ...
一、定義 表示一個作用于某對象結構中的各個元素的操作。訪問者模式讓你可以在不改變各元素的類的前提下定義作用于這些元素的新操作。訪問者模式是一種對象行為型模式 二、描述 訪問者模式是一種較為復雜的行為型模式,它包含訪問者和被訪問元素兩個主要組成部分,這些被訪問的元素通常具有不同的類型,且不同的訪問者可 ...
背景 考慮到現有業務很多依賴于MQ的方式進行,這種方式需要依賴于MQ,發送消息到mq和消費mq消息時需要了解mq消息結構進行相應處理; 對于后續對同樣的事件做其他處理的人如不能提前了解到已有相應消息發到了mq就得再發一次消息到mq等。 圖1.1 消息中間件 現需要考慮在不依賴于Mq的形式下如何更優雅 ...
一、定義 定義一個操作中算法的框架,而將一些步驟延遲到子類中。模板方法模式使得子類不改變一個算法的結構即可重定義該算法的特定步驟。模板方法是一種類行為型模式 二、描述 模板方法模式結構比較簡單,其核心是抽象類和其中的模板方法的設計,包含以下兩個角色: 1、AbstractClass(抽象類):在抽象 ...
在當今的互聯網時代,微服務架構已經成為許多企業選擇的架構模式,它能夠提高系統的靈活性、可維護性和可擴展性。然而,微服務架構下的高可用性和彈性擴展是一個復雜的挑戰。本文將介紹如何利用容器與中間件來實現微服務架構下的高可用性和彈性擴展的解決方案。 ...
原文鏈接:https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage 譯者:Kafka KIP-405是一篇非常優秀的多層存儲的設計稿,不過此設計稿涉及內容很多,文章量大、嚴謹、知識點諸多。我們國 ...
架構設計師是系統開發的主體角色,他們通過執行一系列活動來實施架構設計。架構設計通過生成過程形成最終的產品架構,架構設計師的成果是創建架構。從圖1可以看出,系統開發中架構設計師是整個系統的核心. ...
嗨,大家好!歡迎來到C-Shopping,這是一場揭開科技面紗的電商之旅。我是C-Shopping開源作者“繼小鵬”,今天將為你介紹一款基于最新技術的開源電商平臺。讓我們一同探索吧! 點擊 這里,http://shop.huanghanlian.com/,即刻踏上C-Shopping 體驗之旅! 項 ...
概述 系統中的三高一般指:高并發、高吞吐、高可用。高并發指在某個時間點上能夠接收多少并發訪問。高吞吐主要關注處理的數據量。高可用指在部分服務出現故障后仍能對外提供服務。 高并發的核心指標 QPS(Query Per Second):每秒的請求或查詢數量,在互聯網領域指每秒響應的請求數量 TPS(Tr ...
閱讀說明: 如果有排版格式問題,請移步 [《業務單系統架構設計心得(一)》](https://www.yuque.com/mrhuang-ire4d/oufb8x/ilud3u0w74sthfpo?singleDoc# 《業務單系統架構設計心得(一)》),選擇寬屏模式效果更佳。 本文為原創文章,轉發 ...
一、定義 定義一系列算法類,將每一個算法封裝起來,并讓它們可以相互替換。策略模式讓算法獨立于使用它的客戶而變化。策略模式是一種對象行為型模式,又稱為政策(Policy)模式。 二、描述 包含以下三個角色:1、Context(環境類):環境類是使用算法的角色,它在解決某個問題(即實現某個功能)時可以采 ...
個人用戶管理是業務系統中非常基礎且重要的一個公共服務系統,我們寫的絕大多數應用都和個人用戶或會員有關,用戶(會員)數據安全無小事,必須有一個完備的用戶管理平臺系統。 因為不同公司的主業務不同,個人用戶管理的側重點也會有不同,PowerDotNet這里介紹的個人用戶管理平臺,只是個人用戶管理系統中很基 ...
一、從痛點中思考答案 痛點一:復雜系統的設計和邏輯碎片化散落,缺少沉淀導致系統后期維護、迭代以及架構升級都非常困難。 痛點二:由于新需求或新項目導致的系統的老舊邏輯梳理往往耗費大量人力,甚至造成人才的流失。 痛點三:多團隊共建場景下需要參與各方了解跨應用系統的整體設計,溝通效率低成本高、共建初期花費 ...
一、業務背景 系統業務功能:系統內部進行數據處理及整合, 對外部系統提供結果數據的初始化(寫)及查詢數據結果服務。 系統網絡架構: 部署架構對切量上線的影響 - 內部管理系統上線對其他系統的讀業務無影響 分布式緩存可進行單獨擴容, 與存儲及查詢功能升級無關 通過緩存層的隔離, 系統擴展期間外部系統可 ...
一、定義 允許一個對象在其內部狀態改變時改變它的行為,對象看起來似乎修改了它的類,狀態模式又稱為狀態對象,它是一種對象行為模式。 二、描述 狀態模式是一種較為復雜的設計模式,用于解決系統中復雜對象的狀態轉換以及不同狀態下行為的封裝問題,包含以下三個角色: 1、Context(環境類):環境類又稱為上 ...
本文介紹了在C#中如何使用單例模式,并介紹了在多線程模式下單例模式可能存在的問題及其解決方法,希望對你有所幫助。 ...
什么是布隆過濾器? 布隆過濾器是一種數據結構,具有快速插入和查找的特性,能確定某個字符串一定存在或者可能存在。布隆過濾器有著高效的空間利用率,它不存儲具體數據,只存儲數據的關鍵標識,所以占用的空間較小。它的查詢結果可能會存在一定誤差,但是誤差總體可控,同時不支持刪除操作。布隆過濾器的應用場景豐富,在 ...
在軟件開發的世界里,雖然技術日新月異,但有些原則是經久不衰的。就像建房子需要堅實的地基,軟件開發也有其基礎原則。它們像是指南針,幫助開發者在變化莫測的技術海洋中保持方向。 ...
本篇我們講紅黑樹的經典實現,Java中對紅黑樹的實現便采用的是經典紅黑樹。前一篇文章我們介紹過左傾紅黑樹,它相對來說比較簡單,需要大家看完上篇再來看這一篇,因為旋轉等基礎知識不會再本篇文章中贅述。本篇的大部分內容參考 《算法導論》和 Java 實現紅黑樹的源碼,希望大家能夠有耐心的看完。 在正文開始 ...