使用Spring Cloud進行微服務開發

2021-09-25 21:25:27 字數 2883 閱讀 7842

按照上文中典型的spring cloud架構,我們通過乙個簡單的示例來體驗下spring cloud架構的魅力。

1、註冊中心

建立包含eureka server的工程,工程中的pom.xml會自動引入eureka server依賴的包。

在**中加入註解,宣告是eureka server服務,

@enableeurekaserver

在配置檔案中增加配置如下:

啟動工程,開啟頁面http://localhost:8761/可以檢視服務註冊情況,如下圖所示:

2、測試服務

建立三個測試服務,兩個order-service和乙個product-service,在**中加入註解,宣告是eureka客戶端及引入rest:

@enablediscoveryclient

@restcontroller

加入rest呼叫:

public responseentityhello()

order-service1的配置檔案如下:

order-service2的配置檔案如下:

product-service的配置檔案如下:

3、負載均衡

建立包含zuul的工程,在**中加入註解,宣告是eureka客戶端

@enablediscoveryclient

在**中引入負載均衡:

@bean

@loadbalanced

public resttemplate resttemplate()

在另乙個檔案ribboncontroller實現負載均衡,如下**:

@restcontroller

public class ribboncontroller

public string orderhello()

}

配置檔案如下:

4、智慧型路由

建立包含zuul的工程,在**中加入註解,宣告是eureka客戶端和zuul服務

@enablediscoveryclient

@enablezuulproxy

在配置檔案中增加配置如下:

#針對各個服務實現路由

zuul.routes.product-service.path=/product-service/**

zuul.routes.product-service.serviceid=product-service

zuul.routes.order-service.path=/order-service/**

zuul.routes.order-service.serviceid=order-service

zuul.routes.ribbon-service.path=/ribbon-service/**

zuul.routes.ribbon-service.serviceid=ribbon-service

各工程完成後,啟動重新整理服務治理檢視頁面http://localhost:8761/,已經看到服務,如下圖所示:

結果驗證如下:

[root@vos ~]# curl ''

hello order service

[root@vos ~]# curl ''

hello order service2

[root@vos ~]# curl ''

hello product service

#驗證路由功能

[root@vos ~]# curl ''

hello order service

[root@vos ~]# curl ''

hello product service

#驗證負載均衡,每一次分別分配到不同節點的服務上

[root@vos ~]# curl ''

hello order service

[root@vos ~]# curl ''

hello order service2

用SpringCloud進行微服務架構演進

在 架構師必須要知道的阿里的中颱戰略與微服務 中已經闡明選擇springcloud進行微服務架構實現中臺戰略,因此下面介紹springcloud的一些內容,springcloud已經出來了很多年,網上資料一大堆,這裡推薦 程式猿dd 的部落格 關於springcloud微服務各元件內容等做了非常詳細...

用SpringCloud進行微服務架構演進

在 架構師必須要知道的阿里的中颱戰略與微服務 中已經闡明選擇springcloud進行微服務架構實現中臺戰略,因此下面介紹springcloud的一些內容,springcloud已經出來了很多年,網上資料一大堆,這裡推薦 程式猿dd 的部落格 關於springcloud微服務各元件內容等做了非常詳細...

spring cloud 使用Hytrix熔斷器

一 和ribbon一起使用 1.在eyreka的客戶端加入依賴 org.springframework.cloud spring cloud starter netflix hystrix 2.1.2.release 在啟動類加上註解 enablehystrix 熔斷器在呼叫服務的介面新增快速失敗執...