天天看點

Spring Cloud 5分鐘搭建教程

1.前言:

1.1.以下内容是我通過閱讀官方文檔,并成功實踐後的經驗總結,希望能幫助你更快地了解和使用Spring Cloud.

1.2.預設讀者已經熟練掌握Spring 全家桶,Spring Boot和注解開發.

1.3.陸續更新

2.開發環境: @Deprecated

2.1.開發工具:idea

2.2.開發環境:jdk1.7

2.3.Spring版本:

2.3.1.Spring Boot :1.4.0 release

2.3.2.Spring Cloud : Camden SR2

3.demo:(獻給急于速成的各位大兄弟): demo位址:

https://github.com/leoChaoGlut/spring-cloud-demo

3.1.服務注冊demo:

Spring Cloud 5分鐘搭建教程

3.1.1.建立工程子產品,如圖所示

3.1.2.将官方提供的maven依賴,加入pom.

如果想學習Java工程化、高性能及分布式、深入淺出。微服務、Spring,MyBatis,Netty源碼分析的朋友可以加我的Java進階交流:787707172,群裡有阿裡大牛直播講解技術,以及Java大型網際網路技術的視訊免費分享給大家。

<?xml version="1.0" encoding="UTF-8"?>

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0

http://maven.apache.org/xsd/maven-4.0.0.xs

d">

4.0.0

demo

spring-cloud-demo

pom

1.0-SNAPSHOT

discovery

service0

service1

org.springframework.boot

spring-boot-starter-parent

1.4.0.RELEASE

org.springframework.cloud

spring-cloud-dependencies

Camden.SR2

import

spring-cloud-starter-config

spring-cloud-starter-eureka

spring-boot-devtools

true

3.1.3.如圖步驟,完成Discovery

3.1.4.如圖步驟完成Service0,Service1類似

3.1.5.簡單到爆炸有沒有...........,接下來先啟動Discovery,然後啟動Service0和Service1

3.1.6.打開浏覽器,通路 localhost:8080 ,8080是Discovery裡配置的端口号.一切順利的話,可以看到:

3.1.7.已經成功注冊了service0,service1兩個服務

3.2.網關demo: 光是注冊了服務還不行,這裡可以再配一個網關,讓服務調用有統一的入口.

3.2.1.通過上圖配置後,首先啟動Discovery,其次的服務和網關啟動順序随意.通過通路localhost:8083/service0/service0,即可看到,gateway幫我們轉發了請求.

3.3.Feign:一個可以把遠端服務提供方的 rest 接口變成本地方法調用的Spring Cloud元件

舉個栗子:

現在有2個服務,service0, service1

service0提供了一個test接口,

那麼這時候,如果service1需要的調用service0,除了通過網關(zuul)調用,還可以使用Feign,來把service0的遠端接口,變為本地方法調用.如圖:

4.feign + ribbon + hystrix

簡介:

hystrix: 以切面為原理,可以在不入侵業務代碼的情況下,給方法加上逾時等名額,并且可以在超出設定的名額後,調用指定的fallback方法,進行失敗回調處理.

ribbon: 用戶端負載均衡, 我曾經也寫了一個類似的東西(

https://github.com/leoChaoGlut/ServiceDIscoveryAndRegistry/tree/master/doc),

不過後來發現spring cloud已經有成熟的,現成的常用元件,是以就放棄了.哈哈.... 老式的,無注冊中心的服務調用,是通過url來實作的,但是ribbon可以讓我們隻需要提供服務名,就可以調用到多執行個體的服務,并且在用戶端做一個負載分發,減輕服務端負載的壓力.

feign: 給你以Http的形式,帶來RPC般的體驗.

認真看圖和代碼,即可快速上手 feign + ribbon + hystrix 配置

細看spring cloud, feign,ribbon,hystrix的官方文檔,加上源碼的閱讀,即可掌握如何使用spring cloud 配置 這三個元件.