Spring Cloud

公共抽象類(lèi) Commons

DiscoveryClient

服務(wù)發(fā)現(xiàn),如EurekaDiscoveryClient

ServiceRegistry

服務(wù)注冊(cè)收奔,如EurekaServiceRegistry

RestTemplate

HTTP請(qǐng)求院喜,可以通過(guò)setInterceptors添加攔截器對(duì)請(qǐng)求進(jìn)行功能擴(kuò)展场刑,如負(fù)載均衡的實(shí)現(xiàn)

配置中心

Config

  • @EnableConfigServer

Nacos

服務(wù)注冊(cè)與發(fā)現(xiàn)

Eureka 參考

  • @EnableEurekaServer 啟用服務(wù)端
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
#服務(wù)注冊(cè)中心端口號(hào)
server.port=1110

#服務(wù)注冊(cè)中心實(shí)例的主機(jī)名
eureka.instance.hostname=localhost
#是否向服務(wù)注冊(cè)中心注冊(cè)自己
eureka.client.register-with-eureka=false
#是否檢索服務(wù)
eureka.client.fetch-registry=false
#服務(wù)注冊(cè)中心的配置內(nèi)容鳄乏,指定服務(wù)注冊(cè)中心的位置
eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/
  • @EnableEurekaClient 或 @EnableDiscoveryClient 啟用客戶(hù)端
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
#服務(wù)注冊(cè)中心的配置內(nèi)容蔽豺,指定服務(wù)注冊(cè)中心的位置
eureka.client.serviceUrl.defaultZone=http://host:port/eureka/
  • 啟用賬號(hào)密碼
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>
spring.security.user.name=aaaa
spring.security.user.password=123456
  • 工作步驟
# server端
服務(wù)注冊(cè)(Register)-> 服務(wù)續(xù)約(Renew)-> 服務(wù)下線(Cancel)-> 服務(wù)剔除(Eviction)

# producer端
服務(wù)注冊(cè)(Register)-> 服務(wù)續(xù)約(Renew)-> 服務(wù)下線(Cancel)

# consumer端
獲取服務(wù)列表(Fetch)-> 更新服務(wù)列表(Update)

Nacos

負(fù)載均衡

Ribbon

  • @LoadBalanced
  • 均衡restRemplate實(shí)例請(qǐng)求的Rest API

Nginx

LoadBalancer

  • 替代Ribbon

容錯(cuò)保護(hù)

Hystrix

  • 服務(wù)降級(jí)
  • 資源隔離区丑,防止線程長(zhǎng)時(shí)間占用耗盡tomcat的線程
  • 服務(wù)熔斷

Sentinel 官網(wǎng)

  • 流量控制

服務(wù)調(diào)用

RestTemplate

OpenFeign

  • @EnableFeignClients啟用Feign
  • @FeignClient創(chuàng)建bean
  • @RequestMapping映射Rest API
  • 自帶斷路器hystrix
  • 自動(dòng)負(fù)載均衡ribbon
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

網(wǎng)關(guān)路由

Zuul

  • @EnableZuulProxy
  • 配置路由
  • 服務(wù)過(guò)濾filter
zuul:
  ignoredServices: '*'
  host:
    connect-timeout-millis: 20000
    socket-timeout-millis: 20000
    
  routes:
    auth-service:
        path: /uaa/**
        url: http://auth-service:5000
        stripPrefix: false
        sensitiveHeaders:

    account-service:
        path: /accounts/**
        serviceId: account-service
        stripPrefix: false
        sensitiveHeaders:

Gateway

  • 替代zuul

健康檢查

Actuator

引入依賴(lài)

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

通過(guò)HTTP暴露Actuator endpoints

# 對(duì)外暴露的endpoints,默認(rèn)health,info
management.endpoints.web.exposure.include = *
# 顯示詳細(xì)信息
management.endpoint.health.show-details = always
# 關(guān)閉mongo健康檢查
management.health.mongo.enabled = false

常用接口

# 查看actuator接口
http://xxx.com/config/actuator
# 健康檢查
http://xxx.com/config/actuator/health
# 容器的Bean
http://xxx.com/config/actuator/beans

自定義

@Endpoint 構(gòu)建 rest api 的唯一路徑

@ReadOperation GET請(qǐng)求,響應(yīng)狀態(tài)為 200 如果沒(méi)有返回值響應(yīng) 404
@WriteOperation POST請(qǐng)求沧侥,響應(yīng)狀態(tài)為 200 如果沒(méi)有返回值響應(yīng) 204
@DeleteOperation DELETE請(qǐng)求可霎,響應(yīng)狀態(tài)為 200 如果沒(méi)有返回值響應(yīng) 204

@Selector 獲取路徑上的參數(shù)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市宴杀,隨后出現(xiàn)的幾起案子癣朗,更是在濱河造成了極大的恐慌,老刑警劉巖旺罢,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件旷余,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡主经,警方通過(guò)查閱死者的電腦和手機(jī)荣暮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)罩驻,“玉大人穗酥,你說(shuō)我怎么就攤上這事』荻簦” “怎么了砾跃?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)节吮。 經(jīng)常有香客問(wèn)我抽高,道長(zhǎng),這世上最難降的妖魔是什么透绩? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任翘骂,我火速辦了婚禮,結(jié)果婚禮上帚豪,老公的妹妹穿的比我還像新娘碳竟。我一直安慰自己,他們只是感情好狸臣,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布莹桅。 她就那樣靜靜地躺著,像睡著了一般烛亦。 火紅的嫁衣襯著肌膚如雪诈泼。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,046評(píng)論 1 285
  • 那天煤禽,我揣著相機(jī)與錄音铐达,去河邊找鬼。 笑死檬果,一個(gè)胖子當(dāng)著我的面吹牛娶桦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼衷畦,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了知牌?” 一聲冷哼從身側(cè)響起祈争,我...
    開(kāi)封第一講書(shū)人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎角寸,沒(méi)想到半個(gè)月后菩混,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扁藕,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年沮峡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片亿柑。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡邢疙,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出望薄,到底是詐尸還是另有隱情疟游,我是刑警寧澤,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布痕支,位于F島的核電站颁虐,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏卧须。R本人自食惡果不足惜另绩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望花嘶。 院中可真熱鬧笋籽,春花似錦、人聲如沸察绷。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)拆撼。三九已至容劳,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間闸度,已是汗流浹背竭贩。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留莺禁,地道東北人留量。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親楼熄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子忆绰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 一、服務(wù)發(fā)現(xiàn)(Eureka/Consul/ZooKeeper) 1可岂、Eureka介紹 Netflix Eureka...
    c_gentle閱讀 1,009評(píng)論 0 2
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理错敢,服務(wù)發(fā)現(xiàn),斷路器缕粹,智...
    卡卡羅2017閱讀 134,599評(píng)論 18 139
  • 單體應(yīng)用存在的問(wèn)題 隨著業(yè)務(wù)的發(fā)展稚茅,開(kāi)發(fā)變得越來(lái)越復(fù)雜。 修改平斩、新增某個(gè)功能亚享,需要對(duì)整個(gè)系統(tǒng)進(jìn)行測(cè)試、重新部署绘面。 ...
    卡布奇諾_7828閱讀 148評(píng)論 0 0
  • 今天青石的票圈出鏡率最高的晃虫,莫過(guò)于張藝謀的新片終于定檔了。 一張滿(mǎn)溢著水墨風(fēng)的海報(bào)一次次的出現(xiàn)在票圈里扣墩,也就是老謀...
    青石電影閱讀 10,308評(píng)論 1 2
  • 董多嬌第226天堅(jiān)持分享哲银,焦點(diǎn)相信,每個(gè)人在每一刻都會(huì)為自己做出一個(gè)決定與選擇呻惕,是他們當(dāng)時(shí)認(rèn)為最合適自己的荆责,所以任...
    良知良能良知良能閱讀 3,816評(píng)論 1 2