---恢復內容開始---
分布式、dubbo/zookeeper、spring boot/cloud
一、分布式應用
在分布式系統中,國內常用zookeeper+dubbo組合,
而spring boot推薦使用 全棧的spring,spring boot+spring cloud。
分布式系統:
單一應用架構當**流量很小時,只需乙個應用,將所有功能都部署在一起,以減少部署節點和成二、zookeeper和dubbo本。此時,用於簡化增刪改查工作量的資料訪問框架(orm)是關鍵。 垂直應用架構當訪問量逐漸增大,單一應用增加機器帶來的加速度越來越小,將應用拆成互不相干
的幾個應用,以提公升效率。此時,用於加速前端頁面開發的web框架(mvc)是關鍵。 分布式服務架構當垂直應用越來越多,應用之間互動不可避免,將核心業務抽取出來,作為獨立的服
務,逐漸形成穩定的服務中心,使前端應用能更快速的響應多變的市場需求。此時,
用於提高業務復用及整合的分布式服務框架(rpc)是關鍵。 流動計算架構當服務越來越多,容量的評估,小服務資源的浪費等問題逐漸顯現,此時需增加乙個
排程中心基於訪問壓力實時管理集群容量,提高集群利用率。此時,用於提高機器利
用率的資源排程和治理中心(soa)是關鍵。
•zookeeperzookeeper 是乙個分布式的,開放原始碼的分布式應用程式協調服務。它是乙個為分布式應用提供一致性服務的軟體,提供的功能包括:配置維護、
網域名稱服務、分布式同步、組服務等。• dubbodubbo是alibaba開源的分布式服務框架,它最大的特點是按照分層的方
式來架構,使用這種方式可以使各個層之間解耦合(或者最大限度地鬆耦
合)。從服務模型的角度來看,dubbo採用的是一種非常簡單的模型,要
麼是提供方提供服務,要麼是消費方消費服務,所以基於這一點可以抽象
出服務提供方(provider)和服務消費方(consumer)兩個角色。
1、安裝zookeeper作為註冊中心
具體參考:
• 2、編寫服務提供者
1)引入dubbo和zkclient相關依賴
com.alibaba.boot2)配置dubbo掃瞄包和註冊中心位址dubbo-spring-boot-starter
0.1.0
com.101tec
zkclient
0.1.0
3)使用service發布服務
注意:service是dubbo包的
package• 3、編寫服務消費者com.atguigu.ticket.service;
import
com.alibaba.dubbo.config.annotation.service;
import
org.springframework.stereotype.component;
@component
@service
//將服務發布出去
public
class ticketserviceimpl implements
ticketservice
}
1)引入dubbo和zkclient相關依賴
2)註冊中心位址
3)引用服務
建立一樣的介面
引用(@service是spring包的,引用採用@reference註解):
• 4、整合dubbo com.alibaba.spring.boot dubbo-spring-boot-starter 2.0.0
三、spring boot和spring cloud
spring cloud
spring cloud是乙個分布式的整體解決方案。spring cloud 為開發者提供了在分布式系統(配• springcloud分布式開發五大常用元件置管理,服務發現,熔斷,路由,微**,控制匯流排,一次性token,全域性瑣,leader選舉,分
布式session,集群狀態)中快速構建的工具,使用spring cloud的開發者可以快速的啟動服務
或構建應用、同時能夠快速和雲平台資源進行對接。
• 服務發現——netflix eureka• 客服端負載均衡——netflix ribbon
• 斷路器——netflix hystrix
• 服務閘道器——netflix zuul
• 分布式配置——spring cloud config
• spring cloud 入門
– 1、建立provider引入spring cloud– 2、建立consumer
– 3、引入spring cloud
– 4、引入eureka註冊中心
– 5、引入ribbon進行客戶端負載均衡
org.springframework.cloudspring-cloud-starter-eureka-server
引入eureka註冊中心建立provider建立consumer:org.springframework.cloud---恢復內容結束---
SpringBoot 分布式事務
方案二 最終一致性 分布式事物解決方案 1 兩段提交協議 2pc jta 2 事務補償 tcc 3 訊息佇列實現最終一致性 為解決分布式系統的資料一致性問題出現了兩階段提交協議 2 phase commitment protocol 兩階段提交由協調者和參與者組成,共經過兩個階段和三個操作,部分關聯...
springboot整合(分布式)
首先建立乙個空工程,然後用springboot初始化器建立三個模組 服務註冊中心,服務提供者,服務消費者 首先看註冊中心 server port 8761 eureka instance hostname eureka server eureka例項的主機名 client register with...
SpringBoot整合之分布式概述
在分布式系統中,國內常用zookeeper dubbo組合,而spring boot推薦使用全棧的spring,spring boot spring cloud。分布式系統 zookeeper 是乙個分布式的,開放原始碼的分布式應用程式協調服務。它是乙個為分布式應用提供一致性服務的軟體,提供的功能包...