dubbo和springCloud
Dubbo
高性能的java RPC框架
架构
init:初始化
async:异步
sync同步

- 0:需要容器启动例如Tomcat
- 1:注册ip端口以及一些东西到注册中心
- 2:订阅服务
快速入门
Zookeeper(官方推荐注册中心,同时还有Redis,Simper,Multicast,Nacos等)
安装:默认端口2181

Dubbo快速入门

传统方法,需要web依赖于service

服务者

配置服务,需要Dubbo的命名空间

消费者
将传统的注入改为远程注入

配置服务,需要Dubbo的命名空间

实际开发中会将接口提取出来当做公共接口


高级特性
Dubbo-admin管理平台

下载安装好Dubbo-admin之后修改application.properties文件,修改成注册的ip

启动admin就是运行jar文件

在服务者配置之后就可以查看元数据
![]()
Dubbo常用高级配置
序列化

具体实现

interface依赖于pojo
地址缓存

超时与重试

在service里面可以配置超时时间以及重连次数

多版本

在service端指明版本

在web端注入服务的时候选择version版本

负载均衡
负载均衡策略

演示第一种
在service的注解上添加权重

在application.properties修改配置

修改service服务的pom文件的端口

web远程注入
![]()
集群容错

![]()
服务降级


SpringCloud


版本适配


Eureka
关于ACP
![]()



![]()
service端


client端


服务发现Discover



Ribbon


依赖:Eureka-client的包下已经集成了Ribbon


配置客户端

加一个注解

在controller里面将原先的固定地址改为服务名



使用ribbon实现负载均衡
自定义Ribbon负载均衡算法

关键接口

推荐在启动类上添加注释表明自定义的负载均衡策略

![]()
注意点:警告


Feign
简介



实现方式



Hystrix




服务降级



Dashboard流量监控
在客户端基础上在导入依赖

编写端口

写启动类就可以了

最后,服务端需要有依赖

运行界面

在想被监控的服务启动类添加被访问的地址


Zuul路由网关

导入依赖(在dashboard的基础上)

配置文件

启动类

隐藏IP



SpringCloudConfig


Git环境搭建
服务端




客户端






浙公网安备 33010602011771号