原创 Spring Cloud(10)——聲明式的Rest客戶端Feign

聲明式的Rest客戶端 Feign是一個聲明式的Rest客戶端,它可以跟SpringMVC的相關注解一起使用,也可以使用Spring Web的HttpMessageConverter進行請求或響應內容的編解碼。其底層使用的Ribb

原创 Spring Cloud(11)——基於RocketMQ的Stream實現

基於RocketMQ的Stream實現 Spring Cloud Stream是一個消息收發的框架,它提供了一套標準,應用程序只需要按照它的標準進行消息的收發,而不用關注具體的實現機制。具體的實現可以基於不同的消息中間件進行不同的

原创 Spring Cloud(06)——斷路器Hystrix

斷路器Hystrix Hystrix是Netflix實現的斷路器,其github地址是https://github.com/Netflix/Hystrix。當對一個服務的調用次數超過了circuitBreaker.requestV

原创 Spring Cloud(15)——配置中心

Spring Cloud Config Spring Cloud Config提供分佈式配置功能,它包含Server和Client兩部分。Server負責提供統一的配置信息,Client負責從Server獲取相應的配置信息。Ser

原创 Spring Cloud(09)——服務端負載工具Zuul

服務端負載工具Zuul Zuul是Netflix公司提供的服務端負載工具,Spring Cloud基於它做了一些整合。試想一下微服務場景下服務端有服務A、服務B、服務C等,每個服務對應不同的地址,作爲服務提供者,你不想直接對外暴露

原创 Spring Cloud(18)——gateway

Spring Cloud Gateway Spring Cloud Gateway是Spring提供的API網關層,可以通過它代理請求,然後轉發到真正的目標地址上。使用Spring Cloud Gateway需要加上spring-

原创 Spring Cloud(14)——Function

Spring Cloud Function Spring Cloud Function專注於提供一些與業務無關的函數功能。它允許用戶把java.util.function.Function、java.util.function.C

原创 Spring Cloud(13)——服務註冊與發現工具Consul

服務註冊與發現工具-Consul Spring Cloud也可以使用Consul作爲服務註冊與發現工具。Consul和Eureka一樣,也有服務端和客戶端的概念,它們都需要基於Consul Agent運行,即Agent有Serve

原创 Spring Cloud(12)——基於Kafka的Stream實現

基於Apache Kafka的Stream實現 如果你的應用使用了Apache Kafka,你需要把它和Spring Cloud進行整合。需要在應用中添加如下依賴。 <dependency> <groupId>org.sp

原创 RocketMQ(07)——消費者通過用戶屬性進行過濾

消費者通過用戶屬性進行過濾 生產者在發送消息的時候可以通過Message的putUserProperty()放Message中放一些用戶自定義屬性,比如下面這樣。 @Test public void testFilterSend(

原创 RocketMQ(09)——發送事務消息

發送事務消息 RocketMQ支持發送事務消息,它的事務消息是基於二階段提交機制實現的。當發送的消息是事務消息時,只有對應的消息被提交了才能被消費者進行消費。發送事務消息時生產者需要使用TransactionMQProducer,

原创 RocketMQ(08)——日誌輸出到RocketMQ

日誌輸出到RocketMQ RocketMQ對常用的幾種日誌輸出框架都定義了一個日誌輸出實現,使對應的日誌信息作爲一條消息發送到RocketMQ。要使日誌輸出信息能夠發送到RocketMQ,需要添加rocketmq-logappe

原创 RocketMQ(06)——消息的批量發送和消費

消息的批量發送和消費 發送 生產者進行消息發送時可以一次發送多條消息,這對於體積比較小的消息而言會大大改善性能,可以想象原本發送10條消息需要傳遞10次,現在只需要傳遞一次。這可以通過調用send()時傳遞一個消息集合。比如下面這

原创 RocketMQ(02)——發送消息的三種方式

發送消息的三種方式 同步發送 Producer在進行消息發送時可以是阻塞的,也可以是非阻塞的。具體對應到發送方式一共有三種,分別是同步、異步和單向的(ONEWAY)。之前介紹的調用send()返回SendResult的方法是阻塞的

原创 RocketMQ(01)——簡介

RocketMQ簡介 筆者使用的是Apache RocketMQ,官網是http://rocketmq.apache.org/。RocketMQ是Alibaba開源的一個分佈式消息隊列,可以通過http://rocketmq.ap