Spring Cloud微學習(三)Eureka應用——服務間通訊
微服務可以在“自己的程式”中執行,並通過“輕量級裝置與HTTP型API進行溝通”。這裡的
溝通
就是本節要說的服務間通訊。即各個微服務註冊到Eureka服務註冊中心,這些微服務之間的通訊
建立服務提供者
啟動上一節 Eureka入門——叢集的服務內容,把hello-service作為服務提供者,通過java -jar hello.jar --server.port=8181
和java -jar hello.jar --server.port=8282
啟動兩個hello-service服務,開啟Eureka資訊面板可以看到兩個HELLO-SERVICE例項
建立服務消費者
新建Spring Boot專案MeetSpringCloud
ribbon
依賴
<dependency>
<groupid>org.springframework.cloud</groupid>
<artifactid>spring-cloud-starter-ribbon</artifactid>
</dependency>
修改主類MeetSpringCloud.java
如下
@EnableDiscoveryClient
@SpringBootApplication
public class MeetSpringCloudApplication {
@Bean
@LoadBalanced
RestTemplate restTemplate(){
return new RestTemplate();
}
public static void main(String[] args) {
SpringApplication.run(MeetSpringCloudApplication.class, args);
}
}
在包com.centerm.controller
下建立類ConsumerController.java
@RestController
@RequestMapping("")
public class ConsumerController {
@Autowired
RestTemplate restTemplate;
@GetMapping("ribbon-consumer")
public String helloConsumer() {
return restTemplate.getForEntity("http://HELLO-SERVICE/getIndex",
String.class).getBody();
}
}
修改application.yml如下:
server:
port: 9091
eureka:
client:
serviceUrl:
defaultZone: http://peer1:11111/eureka/,http://peer2:22222/eureka/
spring:
application:
name: ribbon-consumer
執行程式,開啟Eureka資訊面板
體驗消費結果
檢視ribbon-consumer的日誌可以看到下面的資訊,列出了可用服務的列表以及訪問狀態等資訊,有關Ribbon
的詳細介紹會在後面的章節中涉及
DynamicServerListLoadBalancer for client HELLO-SERVICE initialized: DynamicServerListLoadBalancer:{NFLoadBalancer:name=HELLO-SERVICE,current list of Servers=[AGOD21-05021513:8181, AGOD21-05021513:8282],Load balancer stats=Zone stats: {defaultzone=[Zone:defaultzone; Instance count:2; Active connections count: 0; Circuit breaker tripped count: 0; Active connections per server: 0.0;]
},Server stats: [[Server:AGOD21-05021513:8282; Zone:defaultZone; Total Requests:0; Successive connection failure:0; Total blackout seconds:0; Last connection made:Thu Jan 01 08:00:00 CST 1970; First connection made: Thu Jan 01 08:00:00 CST 1970; Active Connections:0; total failure count in last (1000) msecs:0; average resp time:0.0; 90 percentile resp time:0.0; 95 percentile resp time:0.0; min resp time:0.0; max resp time:0.0; stddev resp time:0.0]
, [Server:AGOD21-05021513:8181; Zone:defaultZone; Total Requests:0; Successive connection failure:0; Total blackout seconds:0; Last connection made:Thu Jan 01 08:00:00 CST 1970; First connection made: Thu Jan 01 08:00:00 CST 1970; Active Connections:0; total failure count in last (1000) msecs:0; average resp time:0.0; 90 percentile resp time:0.0; 95 percentile resp time:0.0; min resp time:0.0; max resp time:0.0; stddev resp time:0.0]
]}ServerList:org.springf[email protected]1c0a0a56
相關推薦
Spring Cloud微學習(三)Eureka應用——服務間通訊
微服務可以在“自己的程式”中執行,並通過“輕量級裝置與HTTP型API進行溝通”。這裡的溝通就是本節要說的服務間通訊。即各個微服務註冊到Eureka服務註冊中心,這些微服務之間的通訊 建立服務提供者 啟動上一節 Eureka入門——叢集的服務內容
Spring Cloud微學習(二)Eureka入門——叢集
引言:上一節 Eureka初探中我們介紹了Eureka服務端以及客戶端的基本搭建方法,那麼考慮如果Eureka所在的伺服器掛掉了,就相當於所以客戶端的通訊連線斷了。這一節將介紹如何降低出現這種問題
spring cloud系列教程(4)--eureka註冊中心叢集配置,微服務註冊資訊完善
給大家推薦個靠譜的公眾號程式設計師探索之路,大家一起加油 1.Eureka是什麼 Eureka是Netflix的一個子模組之一,AP設計原則。Eureka是一個以及Rest的服務,用於定位服務,以實現雲端中間層服務發現和故障轉移。服務註冊與發現對於微服務架構來
Spring Cloud Commons教程(三)忽略網絡接口
ech 什麽 targe 地址 分享圖片 ans str log list 有時,忽略某些命名網絡接口是有用的,因此可以將其從服務發現註冊中排除(例如,在Docker容器中運行)。可以設置正則表達式的列表,這將導致所需的網絡接口被忽略。以下配置將忽略“docker0”接口
Spring Cloud Stream教程(三)持續發布 - 訂閱支持
點對點 cst 服務 均值 而不是 兩個 搭建 另一個 進行 應用之間的通信遵循發布訂閱模式,其中通過共享主題廣播數據。這可以在下圖中看到,它顯示了一組交互式的Spring Cloud Stream應用程序的典型部署。 SCSt傳感器圖6. Spring Cloud Str
Spring極簡學習(三)例項化Bean的方法有兩種
其實例項化一個Bean並沒有那麼複雜,不就是將new Bean()的過程放到Spring這裡來實現了嗎? 其實的確如此,當然了,之前的設計模式中的例項化Bean的方式Spring也得支援支援吧。 一、最直觀例項化(反射模式) xml配置 <bean id="car1
Spring Cloud 元件搭建(一)Eureka服務發現
Spring Cloud生態圈目前有21個子專案來共同構建,解決了目前微服務系統的很多問題,廢話不多說,直接上其最普通簡單的Eureka服務發現與註冊中心搭建過程。本系列教材依照1.3.5.RELEASE版本,該版本比較穩定,JDK要求1.7以上。 1、mic
Spring Cloud 應用篇 之 Spring Cloud Sleuth + Zipkin(三)修改資料儲存方式
(一)簡介預設情況下,Zipkin Server 會將跟蹤資訊儲存在記憶體中,每次重啟 Zipkin Server 都會使之前收集的跟蹤資訊丟失,並且當有大量跟蹤資訊時,記憶體儲存也會造成效能瓶頸,所以通常我們都需要將跟蹤資訊儲存到外部元件中,如 Mysql。由於 Sprin
《Spring Cloud》學習(一) 服務治理!
前言:之前網上學習過Spring Cloud,對於工作上需要是足夠了,總歸對於一些方面一知半解,最近難得有些閒暇時間,有幸讀了崔永超先生的《Spring Cloud 微服務實戰》,一方面記錄下自己的學習歷程和讀後感,一方面分享下自己對Spring Cloud微服務的一些見解,寫下此文。 注意:本文著重於
Spring Boot參考教程(三)內部應用監控(Actuator)
使用方式 實現類 pat igp pid localhost aid 倉庫 默認 3. 內部應用監控(Actuator) 如上2.4中所述,傳統spring工程中工程的初始化過程,bean的生命周期,應用的內部健康情況均無法監控,為了解決這個問題,spring boot提供
Hadoop權威指南學習(三)——MapReduce應用開發
開發MapReduce程式,有一個特定流程:1.寫map和reduce函式,並經過單元測試;2. 編寫本地測試程式執行作業;3. 在叢集上執行,使用IsolationRunner在失敗的相同輸入資料上執行任務;4. 優化調整,任務剖析,Hadoop提供鉤子(hook)輔助分
Spring Cloud Alibaba系列(二)nacos作為服務配置中心
> Nacos 提供用於儲存配置和其他元資料的 key/value 儲存,為分散式系統中的外部化配置提供伺服器端和客戶端支援。使用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中管理你 Spring Cloud 應用的外部屬性配置。 首先我
Spring Cloud Alibaba系列(五)sentinel實現服務限流降級
## 一、sentinel是什麼 sentinel的官方名稱叫分散式系統的流量防衛兵。Sentinel 以流量為切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性。在Spring Cloud專案中最開始我們使用的是Hystrix,目前已停止更新了。現在Spring Cloud官方推薦的是r
程序與執行緒(三)——程序/執行緒間通訊
在使用者空間中建立執行緒 用庫函式實現執行緒(《現代作業系統》 P61) #include<pthread.h> #include<stdio.h> #include<stdlib.h> #define NUMBER_OF_THREAD
(三)(1)執行緒間通訊---wait和notify的使用
這篇部落格記錄執行緒間通訊相關api使用以及理解。 首先第一點,我之前的部落格裡的執行緒之間也是通訊的,但是他們的通訊是建立在訪問的是同一個變數上的,相當於是變數、資料層面上的通訊,而下面要講的是執行緒層面上的通訊,這種比前者更加可控。 Wait和notify機制 首先明白為什麼會出現這個機制。 目的:舉個例
Spring Cloud學習(三)Feign簡單使用
前面瞭解瞭如何通過RestTemplate+Ribbon去消費服務,這裡講述如何通過Feign去消費服務。 Feign是一個宣告式的偽Http客戶端,它使得寫Http客戶端變得更簡單。使用Feign,只需要建立一個介面並註解。它具有可插拔的註解特性,可
Spring cloud Eureka服務註冊及發現(三)發現使用服務
Feign是一個宣告式的Web Service客戶端,它使得編寫Web Serivce客戶端變得更加簡單。我們只需要使用Feign來建立一個介面並用註解來配置它既可完成。具體Feign的解釋請看:Spring Cloud Feign詮釋 下面,通過一個例子
Spring Cloud構建微服務架構(三)高可用服務註冊中心
前言在Spring Cloud系列文章的開始,我們就介紹了服務註冊與發現,其中,主要演示瞭如何構建和啟動服務註冊中心Eureka Server,以及如何將服務註冊到Eureka Server中,但是在之前的示例中,這個服務註冊中心是單點的,顯然這並不適合應用於線上生產環境,那
Spring Boot學習(三)
src pack art tin pre size -s script jar Spring boot實戰 —— Hello Word 1、創建maven項目 2、pom.xml文件 <?xml version="1.0" encoding="UTF-8"?>
微服務架構 SpringCloud(三)Eureka(註冊中心集群篇)
ima static ice fff active hostname 需要 lee 分別是 一:集群環境搭建第一步:我們新建兩個註冊中心工程一個叫eureka_register_service_master、另外一個叫eureka_register_service_back