SpringCloud的簡單使用

2021-10-01 14:39:41 字數 2280 閱讀 4455

apache dubbo zookeeper

springcloud alibaba

服務網格

微服務優點

微服務缺點

微服務技術棧

微服務條目

落地技術

服務開發

springboot,spring,springmvc

服務配置與管理

netflix的archaius, 阿里的diamond

服務註冊與發現

eureka,consul,zookeeper

服務呼叫

rest,rpc,grpc

服務熔斷

hystrix,envoy

負載均衡

ribbon,nginx

服務介面呼叫(客戶端呼叫伺服器的簡化工具)

fegin

訊息佇列

kafka,rabbitmq,activemq

服務配置中心管理

springcloudconfig,chef

服務路由(api閘道器)

zuul

服務監控

zabbix,nagios,metrics,specatator

全鏈路追蹤

服務部署

docker,openstack,kubernetes

資料流操作開發包

springcloud stream(封裝與redis,rabbit,kafka等傳送接收訊息)

事件訊息匯流排

springcloud bus

springcloud和springboot的關係

dubbo和springcloud技術選型

參考**

建立微服務子專案-po

建立微服務子專案-provider

建立微服務子專案-consumer 原理

和dubbo對比

三大角色

使用,寫乙個eureka伺服器

使用,寫乙個provider

eureka自我保護機制

集群配置

eureka

:instance

:hostname

: eureka7001.com

client

:register-with-eureka

:false

fetch-registry

:false

service-url

:defaultzone

:

對比zookeeper

eureka保證的是ap

eureka可以很好的應對網路故障導致部分節點失去聯絡的情況,而不會像zookeeper那樣使整個服務癱瘓

程序式lb

整合ribbon

ribbon實現負載均衡

ribbon負載均衡演算法

使用-服務降級-客戶端-考慮整體負載

dashboard流監控-配置監控頁面

遠端倉庫新增客戶端配置

spring

:profiles

:active

: dev

---server

:port

:8201

#spring的配置

spring

:profiles

: dev

:name

: springcloud-provider-dept

#eureka的配置,服務註冊到**

eureka

:client

:service-url

:defaultzone

: ---server

:port

:8202

#spring的配置

spring

:profiles

: test

:name

: springcloud-provider-dept

#eureka的配置,服務註冊到**

eureka

:client

:service-url

:defaultzone

:

建立客戶端

controller中獲取遠端服務

@value()

@value

("$"

)private string eurekaserver;

@value

("$"

)private string port;

springCloud之eureka的使用

隨著技術的更新迭代,服務的治理至關重要。傳統的專案架構 例如 單體架構,垂直架構 已經不適用。現在大部分公司使用的還是soa系統架構。簡單介紹下soa架構的特點 1.soa可以將重複的公共的部分功能抽取出來當成乙個元件,以服務的方式被各個系統呼叫。2.系統與各個服務之間採用webservice,rp...

springcloud之ribbon的使用

spring cloud ribbon是乙個基於http和tcp的客戶端負載均衡工具,它基於netflix ribbon實現。通過spring cloud的封裝,可以讓我們輕鬆地將面向服務的rest模版請求自動轉換成客戶端負載均衡的服務呼叫.下面乙個小demo呈上,介紹ribbon結合resttem...

spring cloud簡單搭建

spring cloud簡單搭建,該分享來自eureka和feign的使用 遇到的問題及解決 feign.feignexception status 404 reading userfeignclient findbyid long provide專案controller層的方法要 public l...