前一篇文章《微服務(wù)操作模型》中,我們定義了微服務(wù)使用的操作模型。這篇文章中,我們將開始使用Spring Cloud和Netflix OSS實(shí)現(xiàn)這一模型,包含核心部分:服務(wù)發(fā)現(xiàn)(Service Discovery)、動(dòng)態(tài)路由(Dynamic Routing)、負(fù)載均衡(Load Balancing),和邊緣服務(wù)器(Edge Server),其他部分在后面的文章中介紹。
我們將使用來自Spring Cloud和Netflix OSS的一些核心組件,實(shí)現(xiàn)在已部署的微服務(wù)交互,不必手動(dòng)管理配置,如每一個(gè)微服務(wù)的端口或者手工配置路由規(guī)則等等。為了避免端口沖突,我們的微服務(wù)在啟動(dòng)時(shí),將從端口段中動(dòng)態(tài)獲取可用的端口。為了方便訪問微服務(wù),我們將使用Edge Server提供一個(gè)微服務(wù)的訪問入口點(diǎn)。
在簡(jiǎn)要介紹Spring Cloud和Netflix OSS組件之后,我們將描述本系列文章使用的系統(tǒng),以及如何訪問源代碼,并編譯。同時(shí),也會(huì)簡(jiǎn)要指出源代碼中的最重要部分。最后,我們將運(yùn)行一些訪問服務(wù)的測(cè)試代碼,也會(huì)演示如何簡(jiǎn)單地創(chuàng)建一個(gè)新的服務(wù)實(shí)例,獲取并使用負(fù)載均衡,所有這一些都不必手工配置。
1. Spring Cloud和Netflix OSS
Spring Cloud是spring.io家庭的一個(gè)新項(xiàng)目,包含一系列組件,可用來實(shí)現(xiàn)我們的操作模型。很大程度上而言,Spring Cloud 1.0 是基于Netflix OSS組件。在Spring環(huán)境中,Spring Cloud 非常友好地集成了Netflix 組件,使用了和Spring Boot相似的自動(dòng)配置和慣例優(yōu)于配置。
下表映射了操作模式中介紹的組件和我們將要使用的實(shí)際組件: