原创 Design Pattern - Iterator Pattern

概述 Iterator Pattern,即迭代器模式。讓你能在不暴露集合底層的表現形式(列表、棧和樹等)的情況下遍歷集合中的所有元素。 又稱遊標模式(cursor pattern)提供了一種順序訪問集合或者容器對象元素的方法,又

原创 Design Pattern - Command Pattern

概述 Command Pattern,即命令模式。 命令模式是一種行爲型設計模式。將請求轉換爲一個包含與請求相關的所有信息的獨立對象。該轉換讓你根據不同的請求將方法參數化、延遲請求執行或將其放入隊列中,並且能實現可撤銷操作。 每

原创 Spring Cloud Netflix - Ribbon使用篇

本文目錄Client Side Load Balancer:RibbonHow to Include RibbonCustomizing the Ribbon ClientCustomizing the Default for A

原创 分佈式、集羣的區別

本文目錄==Cluster====Distributed====Difference== Cluster 集羣是一組服務實體,共同工作提供一個可伸縮的、高可用的服務平臺。可伸縮性,動態添加服務實體到集羣中,可以提高集羣的處理性能。

原创 併發編程 - AbstractQueuedSynchronizer

獨佔式 獨佔式獲取 如果tryAcquire(arg)獲取鎖成功,直接返回; 如果獲取失敗,調用acquireQueued(…),根據其結果,判斷是否調用線程中斷。 public final void acquire(int a

原创 kafka架構 - send message (一) *

本文目錄生產者流程圖源碼分析攔截器對消息進行處理等待集羣元數據的更新完成序列化消息計算並分配分區追加消息到Accumulator 生產者流程圖 本文分析以下流程的步驟1、2、3、4。 主要是經過攔截器處理,然後更新並獲取集羣元數

原创 Design Pattern - Chain of Responsibility Pattern

本文目錄Overview - 概述Structure - 結構Applicability - 使用場景Pros and Cons - 優缺點Code Demo - 代碼例子 Overview - 概述 將鏈中的每個節點看作是一個對

原创 Design Pattern - Observer Pattern

定義 觀察者模式(observer pattern),又被稱作發佈-訂閱模式(publish-subscribe pattern)、源-監聽器模式(source-listener pattern)、模型-視圖模式(model-vi

原创 RabbitMQ架構 - send message *

源碼解析 發送消息 以basicPublish(…)方法爲例。 這個方法用於發佈一條消息。如果發佈到一個不存在的交換器,會拋出通道級別的協議異常,會關閉通道。如果資源驅動的alarm有效,這個方法最終會阻塞。 先來看下它的重載

原创 Redis - 監視器

監視器 客戶端將自己變成監聽器,實時接收並打印服務端當前處理的命令請求的相關信息。 客戶端先發送命令請求給服務端,服務端發送命令請求給所有的監視器,然後再處理命令請求。 如何設置 客戶端執行monitor命令

原创 Netty架構 - nio - 內存映射文件

Memory Mapped File 在java早期版本中,使用FileSystem傳統的API來訪問系統文件。這種場景下,JVM發起read()、write()系統調用從OS kernel到JVM傳輸數據。JVM使用它的內存空間

原创 ZooKeeper架構 - Leader選舉 - FastLeaderElection

Leader選舉概述 更新邏輯時鐘。 初始化投票,投給自己。 發送通知給所有的參與者。 如果還沒有選舉出leader,而且這個選舉還在進行中,就循環以下步驟。 從接收隊列中拉取通知。 如果通知爲空,從連接管理器

原创 JDK動態代理 - 底層原理

JDK動態代理 是JDK原生提供的動態代理方式,無需添加任何第三方依賴。運行期,生成具體的字節碼,但是不可以修改。被代理類需要有接口。 可以通過ProxyGenerator.generateProxyClass(String s,

原创 分佈式消息隊列 - 淺談

作爲分佈式消息隊列,應該具備什麼基本功能 消息的發送與接收。 消息的存儲 集羣 跨語言 消息的確認 。。。。。。 可以拓展的高級功能 消息的有序性 支持高併發 事務 消息的可靠性 多協議 。。。。。。 使用的場景 流量削

原创 ZooKeeper - 服務器角色 - Follower

Follower 主要工作: 處理客戶端的非事務請求,將事務請求轉發給Leader服務器 參與事務請求proposal的投票 參與Leader選舉的投票 FollowerZooKeeperServer 類的繼承關係 publi