原创 Dubbo源碼學習15

本篇幅分析Dubbo的集羣Cluster以及ClusterInvoker的實現。爲了避免單點故障,現在的應用通常至少會部署在兩臺服務器上。對於一些負載比較高的服務,會部署更多的服務器。這樣,在同一環境下的服務提供者數量會大於1。對於服務

原创 Dubbo源碼學習07

RegistryProtocol.export服務導出流程:導出服務ExporterChangeableWrapper->註冊服務到註冊中心->訂閱註冊中心overrideSubscribeUrl數據;篇幅有限,本篇幅主要分析導出服務E

原创 Dubbo源碼學習09

RegistryProtocol.export服務導出流程:導出服務ExporterChangeableWrapper->註冊服務到註冊中心->訂閱註冊中心overrideSubscribeUrl數據;篇幅有限,本篇幅主要分析註冊服務到

原创 Dubbo源碼學習12

該篇幅分析RegistryDirectory.subscribe(URL url)方法 RegistryDirectory.subscribe(URL url) public void subscribe(URL url) {

原创 Dubbo源碼學習14

本篇幅主要分析DubboProtocol.refer方法創建invoker DubboProtocol.refer(Class<T> serviceType, URL url) @Override public <T> In

原创 《Redis入門指南》筆記一

本篇幅主要涉及Redis的配置、基礎命令、四種數據類型的操作命令 Redis是Remote Dictionary Server遠程字典服務器的縮寫,它以字典結構存儲數據,並允許其他應用通過TCP協議讀寫字典中的內容。到目前爲止Redi

原创 Netty中ByteBuf的copy、duplicate、slice方法對比

Jdk註釋翻譯 /** *返回ByteBuf的可讀字節的拷貝。修改返回的ByteBuf內容與當前ByteBuf完全不會相互影響。 *此方法不會修改當前ByteBuf的readerIndex或writerIndex **/ public

原创 Disconf源碼分析02

分析DisconfMgr.secondScan()

原创 Curator——Service Discovery

JAR包: Curator Service Discovery在Maven Central中以其獨立的軟件包提供:curator-x-discovery 什麼是Discovery Service 在SOA /分佈式系統中,服務需要相互查找

原创 《Redis入門指南》筆記二

本篇幅講解Redis的進階知識  Redis事務 Redis事務的原理是先將屬於一個事務的命令發送給Redis,然後再讓Redis依次執行這些命令。例 Redis保證一個事務中的命令要麼都依次執行,要麼都不執行。如果在發送EXEC命

原创 AtomicIntegerFieldUpdater與AtomicInteger使用引發的思考

在閱讀《實戰Java高併發程序設計》一書的4.4.7讓普通變量也享受原子操作:AtomicIntegerFieldUpdater使用的demo代碼如下: /** * @author 周寧 * @Date 2020-01-03 14:

原创 《從零蛋開始學習MySQL》筆記

MySql數據類型 Enum類型和SET類型 假如我們有一列是性別只能填男或者女,如果使用Int或者varchar非常尷尬,我們提出了一個叫ENUM的類型,也稱爲枚舉類型,它的格式如:ENUM('str1', 'str2', 'str3'

原创 Dubbo源碼學習16

Dubbo 提供了4種負載均衡實現,分別是基於權重隨機算法的 RandomLoadBalance、基於最少活躍調用數算法的 LeastActiveLoadBalance、基於 hash 一致性的 ConsistentHashLoadBa

原创 使用Elasticsearch搜索log4j日誌

        當一臺機器已經無法支撐業務量,一般會選擇將一個服務部署到多臺服務器上,當服務報錯時,即時定位錯誤將會變得麻煩,這時候可能迫切需要一個能統一查看甚至是搜索日誌的平臺,前一陣子學習了ElasticSearch,又碰巧看了log

原创 Disconf源碼分析03

本篇幅主要分析ReloadablePropertiesFactoryBean和ReloadingPropertyPlaceholderConfigurer