(⼋)SpringCloudAlibabaDubbo(含案例源码、案例解析)Spring Cloud Alibaba Dubbo
⼀、项⽬简介
Dubbo Spring Cloud 基于 Dubbo Spring Boot 2.7.1 和 Spring Cloud 2.x 开发,⽆论开发⼈员是 Dubbo ⽤户还是 Spring Cloud ⽤户,都能轻松地驾驭,并以接近“零”成本的代价使应⽤向上迁移。DubboSpring Cloud 致⼒于简化CloudNative 开发成本,提⾼研发效能以及提升应⽤性能等⽬的。
Dubbo Spring Cloud ⾸个 Preview Release,随同 SpringCloud Alibaba `0.2.2.RELEASE` 和0.9.0.RELEASE ⼀同发布,分别对应Spring Cloud Finchley 与 Greenwich(下⽂分别简称为 “F”版 和 “G” 版)
⼆、功能的完成度
由于 Dubbo Spring Cloud 构建在原⽣的 Spring Cloud 之上,其服务治理⽅⾯的能⼒可认为是 Spring CloudPlus,不仅完全覆盖Spring Cloud 原⽣特性,⽽且提供更为稳定和成熟的实现,特性⽐对如下表所⽰:
功能组件Spring Cloud Dubbo Spring Cloud
分布式配置(Distributed configuration)Git、Zookeeper、
Consul、JDBC
Spring Cloud 分布式配置 + Dubbo 配置
中⼼
服务注册与发现(Service registration and discovery)Eureka、
Zookeeper、
Consul
Spring Cloud 原⽣注册中⼼ + Dubbo 原
⽣注册中⼼
负载均衡(Load balancing)Ribbon(随机、
轮询等算法)
Dubbo 内建实现(随机、轮询等算法 + 权
重等特性)
服务熔断(Circuit Breakers)Spring Cloud
Hystrix
Spring Cloud Hystrix + Alibaba
Sentinel[9] 等
服务调⽤(Service-to-servicecalls)Open Feign、
RestTemplate
Spring Cloud 服务调⽤ + Dubbo
@Reference
链路跟踪(Tracing)Spring Cloud
Sleuth[10] +
Zipkin[11]
Zipkin、opentracing 等
三、框架的搭建
我们将搭建如图所⽰的项⽬框架
3.1  搭建 spring-cloud-dubbo-examples
spring-cloud-dubbo-exmaples 是⼀个⽗项⽬,⽤来给⼦项⽬控制版本和去除公共的依赖。
3.1.1 创建项⽬
使⽤ IDEA 创建⼀个模块:
选择 Maven:
点击 Next,进⾏下⼀步操作:
Parent:必须选择之前我们创建的 spring-cloud-alibaba-examples。
Name:spring-cloud-dubbo-examples项⽬的名称
点击 Finish,完成项⽬的创建。
⾄此,spring-cloud-dubbo-examples 项⽬已经完成创建了。
3.1.2 添加依赖
打开该项⽬的 l,添加以下内容:
<dependencies>
<dependency>
<groupId> com.alibaba.cloud </groupId>
<artifactId> spring-cloud-starter-dubbo </artifactId>
springboot结构</dependency>
<dependency>
<groupId> com.alibaba.cloud </groupId>
<artifactId> spring-cloud-starter-alibaba-nacos-discovery </artifactId>
</dependency>
</dependencies>
3.1.3 修改项⽬的打包⽅式
<packaging>pom</packaging>
3.1.4 完整的 l ⽂件如下
<?xml version="1.0"encoding="UTF-8"?>
<project xmlns="/POM/4.0.0"
xmlns:xsi="/2001/XMLSchema-instance"
xsi:schemaLocation="/POM/4.0.0
/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>spring-cloud-alibaba-examples</artifactId>
<groupId>com.bjsxt</groupId>
<version>1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
<artifactId>spring-cloud-dubbo-examples</artifactId>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-dubbo</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>  </dependency>
</dependencies>
</project>
3.2  搭建 dubbo-api
dubbo-api ⾥⾯将存放⽤于发表服务的接⼝。
3.2.1 创建 dubbo-api 项⽬
使⽤ IDEA 创建⼀个⼦模块。
选择 Maven 项⽬:
点击 Next 进⾏下⼀步操作:
Parent:选择 spring-cloud-dubbo-examples Name:名称为 dubbo-api
点击 Finish完成项⽬的创建:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。