原创 Netty原理與基礎(一) 1.簡介 2.Netty目標 3.創建第一個Netty項目 4.Reactor反應器模式

1.簡介 Netty是爲了快速開發可維護的高性能、高可擴展、網絡服務器和客戶端程序而提供的異步事件驅動基礎框架和工具。換句話說,Netty是一個Java NIO客戶端/服務器框架 2.Netty目標 使開發可以做到“快速和輕鬆” 做到高性

原创 Netty原理與基礎(五)

1.Decoder原理 1.1什麼叫作Netty的解碼器呢? 首先,它是一個InBound入站處理器,解碼器負責處理“入站數據”。其次,它能將上一站Inbound入站處理器傳過來的輸入(Input)數據,進行數據的解碼或者格式轉換,然後輸出

原创 Netty原理與基礎(四)

1. ByteBuf淺層複製的高級使用方式 ByteBuf的淺層複製分爲兩種,有切片(slice)淺層複製和整體(duplicate)淺層複製。 1.1 slice切片淺層複製 ByteBuf的slice方法可以獲取到一個ByteBuf的一

原创 Netty原理與基礎(三)

1.Pipeline流水線 Netty的業務處理器流水線ChannelPipeline是基於責任鏈設計模式(Chain of Responsibility)來設計的,內部是一個雙向鏈表結構,能夠支持動態地添加和刪除Handler業務處理器。

原创 Netty原理與基礎(二)

5.Handler業務處理器 在Reactor反應器經典模型中,反應器查詢到IO事件後,分發到Handler業務處理器,由Handler完成IO操作和業務處理。整個的IO處理操作環節包括:從通道讀數據包、數據包解碼、業務處理、目標數據編碼、

原创 UML建模(七)需求啓發、分析之分析類圖

1.需求啓發要點 和涉衆交流的形式應該採用視圖,而不是模型 和涉衆交流的內容應該聚焦涉衆利益,而不是需求 需求啓發手段:研究資料、問卷調查、訪談、觀察、研究競爭對手 需求人員的素質培養:好奇心、探索力、溝通力、表達力、熱情 2.分析之分

原创 Feign+Ribbon、Dubbo、gRPC的選型對比

1.場景 在微服務開發中,在調用不同模塊之間的數據時,經常回去調用他的http接口,總不能這樣,RPC框架,服務在代碼裏就調用一個interface的接口,底層直接讓RPC框架發送請求到對應的服務器上去 2. feign+ribbon

原创 SpringCloudAlibaba之Nacos註冊中心架構原理

1.註冊與發現 服務通過nacos server內部的open api進行服務註冊,nacos server內部有一個sevice服務的概念,裏面有多個instance實例的概念,同時對不同的service服務可以劃歸到不同的name

原创 Netty原理與基礎 1.簡介 2.Netty目標 3.創建第一個Netty項目 4.Reactor反應器模式

1.簡介 Netty是爲了快速開發可維護的高性能、高可擴展、網絡服務器和客戶端程序而提供的異步事件驅動基礎框架和工具。換句話說,Netty是一個Java NIO客戶端/服務器框架 2.Netty目標 使開發可以做到“快速和輕鬆” 做到高性

原创 ZooKeeper、Eureka、Consul、Nacos的選型對比

1.趨勢 zookeeper和eureka,consul用的沒那麼多,nacos現在用的越來越多,以後也會是一個大的趨勢,但是現在可能還沒那麼的普及 2.CAP理論 CAP原則又稱CAP定理,指的是在一個分佈式系統中,[一致性]、[可用性

原创 UML建模(六)需求之系統用例規約

1.用例規約的內容 用例規約就是以用例爲核心來組織需求內容的需求規約 用例通過前置條件(precondition)、後置條件(postcondition)以契約的形式表達需求 前置條件:用例開始前,系統需要滿足的約束。後置條件:用例成功

原创 UML建模(五)需求之系統用例圖

1.系統執行者 定義:在所研究系統外,與該系統發生功能性交互的其他系統。 系統是能獨立對外提供服務的整體 封裝了自身的數據和行爲,能獨立對外提供服務的東西才能稱爲系統。 系統邊界是責任的邊界 系統執行者和系統有交互 外系統必須和系統有交互

原创 UML建模知識點三-業務用例圖

1.軟件是組織的零件 對於軟件開發來說,業務建模的目的是爲了得到待引進軟件系統的需求 可以從內外兩個方面來研究組織。 1.從外部看,組織是一些價值的集合,我們可以用業務用例圖表示; 2.從內部看,組織是一些系統的集合,我們可以用業務序列

原创 UML建模(四)業務建模之業務序列圖

4.1 描述業務流程的手段 描述業務流程的手段:文本 活動圖 序列圖 序列圖和活動圖比較: 1.活動圖只關注人,序列圖把人當作系統。 2.活動圖表示動作,序列圖強迫思考動作背後的目的。 3.活動圖“靈活”,序列圖不“靈活”。 4.2 業

原创 uml建模知識點(一)

1.建模和uml 軟件開發的需求目的是:讓系統更加的好賣 軟件開發中設計的目的是:降低開發維護成本 利潤 = 需求 - 設計 需求和設計不分,利潤就會縮水 從需求直接映射設計,會得到大量重複的代碼 從設計直接定義需求,會得到一堆假需求