SpringBoot整合之分佈式概述

一、分佈式應用

在分佈式系統中,國內常用zookeeper+dubbo組合,而Spring Boot推薦使用全棧的Spring,Spring Boot+Spring Cloud。

分佈式系統:

二、Zookeeper和Dubbo

ZooKeeper:

ZooKeeper 是一個分佈式的,開放源碼的分佈式應用程序協調服務。它是一個爲分佈式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分佈式同步、組服務等。

Dubbo:https://github.com/alibaba/dubbo

Dubbo是Alibaba開源的分佈式服務框架,它最大的特點是按照分層的方式來架構,使用這種方式可以使各個層之間解耦合(或者最大限度地松耦合)。從服務模型的角度來看,Dubbo採用的是一種非常簡單的模型,要麼是提供方提供服務,要麼是消費方消費服務,所以基於這一點可以抽象出服務提供方(Provider)和服務消費方(Consumer)兩個角色。

應用:

  1. 安裝zookeeper作爲註冊中心
  2. 編寫服務提供者
  3. 編寫服務消費者
  4. 整合dubbo

<dependency>
    <groupId>com.alibaba.spring.boot</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>2.0.0</version>
</dependency>

三、Spring Boot和Spring Cloud

Spring Cloud是一個分佈式的整體解決方案。Spring Cloud 爲開發者提供了在分佈式系統(配置管理,服務發現,熔斷,路由,微代理,控制總線,一次性token,全局瑣,leader選舉,分佈式session,集羣狀態)中快速構建的工具,使用Spring Cloud的開發者可以快速的啓動服務或構建應用、同時能夠快速和雲平臺資源進行對接。

五大常用組件

  • 服務發現——Netflix Eureka
  • 客服端負載均衡——Netflix Ribbon
  • 斷路器——Netflix Hystrix
  • 服務網關——Netflix Zuul
  • 分佈式配置——Spring Cloud Config

Martin Fowler 微服務原文:https://martinfowler.com/articles/microservices.html 

Spring Cloud 入門

  • 1、創建provider
  • 2、創建consumer
  • 3、引入Spring Cloud
  • 4、引入Eureka註冊中心
  • 5、引入Ribbon進行客戶端負載均衡
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章