原创 併發編程 - 阻塞隊列 - SynchronousQueue (公平模式)

前言 一種阻塞隊列,插入操作必須要有對應的刪除操作正在執行,反之亦然。它沒有任何容量。不能執行peek()操作。不能迭代。適用於線程間的傳遞,一個線程向另一個線程傳遞一些信息、事件、或者任務等。支持公平(FIFO)和非公平模式(L

原创 Spring MVC架構 - 九大組件 - RequestToViewNameTranslator

本文目錄OverviewDefaultToViewNameTranslator在DispatchServlet中的使用UrlPathHelper Overview RequestToViewNameTranslator接口,如果請

原创 RabbitMQ架構 - queueBind

源碼解析 queueBind 以channel.queueBind(...)爲例,展開分析。 將一個隊列綁定到一個交換器。 Queue.BindOk queueBind(String queue, String exchange,

原创 Kafka架構 - send message (二) *

生產者流程圖 本文分析以下流程圖的步驟5。 概述:在原有的ProducerBatch中嘗試追加消息,如果嘗試兩次都失敗,會創建新的ProducerBatch,第三次嘗試追加消息。而追加消息,實際上,是將消息有關屬性寫入到數據流中

原创 Spring MVC - MultipartResolver組件

MultipartResolver /** * 依照<a href="https://www.ietf.org/rfc/rfc1867.txt">RFC 1867</a>,對於二進制文件上傳的策略接口。 * 在一個應用程序上下

原创 ElasticSearch使用篇 - Query DSL (一) - 前序

本文目錄Query and filter contextQuery contextFilter contextDemoOthersMatch All Query Query and filter context 查詢從句的行爲依賴

原创 vmware + centos7 靜態ip設置

靜態ip設置 https://gper.club/articles/7e7e7f7ffeg53gc1

原创 Kafka架構 - send message(三)*

生產者流程圖 概述:本文主要解析Sender線程從RecordAccumulator拉取消息、發送消息到Kafka Cluster之後的後置處理,比如對請求完成的處理、響應完成的處理、斷開連接的以及新加入連接的處理、超時請求的處

原创 ZooKeeper - 四字命令解析

四字命令 操作方式 echo “ruok” | nc 192.168.0.106 2181 cons 輸出當前服務器的所有客戶端的連接信息 NIOServerCnxn代碼: private class ConsCommand e

原创 Spring Cloud架構 - Open Feign源碼解析(一)

源碼解析 - 註冊bean 從@EnableFeignClients開始分析。 @EnableFeignClients的作用是掃描標註@FeignClient註解的所有接口。 現在重點關注下FeignClientRegistra

原创 RocketMQ架構 - 同步發送

前言 圍繞 defaultMQProducer.send(message) 這行代碼展開分析。 源碼解析 經過下面的一系列代碼分析,RocketMQ發送消息的底層藉助Netty的Channel#writeAndFlush(…)方法

原创 ZooKeeper架構 - 服務器角色 - Leader、Follower、Observer

本文目錄LeaderPrepRequestProcessorProposalRequestProcessorSyncRequestProcessorAckRequestProcessorCommitProcessorToBeApp

原创 Design Pattern - Mediator Pattern

Mediator Pattern 中介者模式(Mediator Pattern),又稱爲調停者模式,調解者模式。使用中介者封裝一系列對象之間的交互。中介者可以使各對象不用顯示地相互作用,從而使其鬆散耦合。此外,可以獨立改變對象間的

原创 Design Principle - Simple Responsibility Principle

Definition In short, classes should have a single responsibility and thus only a single reason to change. 不要存在多於一個導