Dubbo

集群和分布式

	- 举例来说,假设我是一个厨师,后厨只有我一个人。我需要洗菜切菜炒菜,这样的话我的效率就很低。后来我招聘一个员工A,我们两个一起洗菜切菜炒菜,这样就快了一些。我们两个干的活一样,这就是集群。
	- 后来我觉得还是慢,招了一员工B专门洗菜切菜,A专门炒菜,那么AB干的活不同,他们两个就是一个分布式。
	- 一段时间以后,生意越来越好,洗菜的忙不过来,我又招了一个洗菜员工,这称为可伸缩。
	- 为了以防万一,我雇了一个人,哪里忙去哪里帮忙,称为高扩展性

Dubbo高级特性

Dubbo是阿里巴巴公司开源的一款高性能、轻量级的RPC框架,后来被Apache公司收购,现在是Apache公司顶级项目之一。
Dubbo的两大功能:远程服务调用和服务治理。

dubbo管理平台:dubbo-admin

在GitHub上搜索dubbo-admin,下载解压后找到dubbo-admin-server-src-main-resources,找到配置文件,把centers in dubbo的地址全部改成自己虚拟机的地址。
- 在下图目录中,使用命令行:mvn clean package
在这里插入图片描述

  • 打包完成后,进入distribution结尾的文件夹---->target目录下,右键使用shell打开,运行命令java- jar ./打包好的jar包名。运行成功后在浏览器输入生成的地址即可看见dubbo的界面
1、 序列化

序列化用于电脑之间传输对象,将对象序列化成流数据发过去。对象想被序列化,就要实现serializable 接口。
在这里插入图片描述

  • 在dubbo内部,已经封装了序列化和反序列化,只需要在定义类是实现序列化接口即可
2.负载均衡

dubbo提供了四种负载均衡策略

  1. Random:按照权重随机概览,是默认方式
  2. RoundRobin:按权重轮巡
  3. LeastActive:
  4. ConsistentHash:相同参数总是发到同一个提供者
3、集群容错

同样的提供了四种容错方式

  1. Failover Cluster:默认值,失败重试,例如访问A失败了,最多再访问B,C,再失败才会抛出异常
  2. FailFAST Cluster:访问了一次,失败了,抛出异常
  3. Failsafe Cluster:访问失败直接忽略,返回空
  4. FailBack Cluster:访问失败,自动恢复,过一会再发请求直到成功
  5. forking Cluster:一次调用多个,有一个成功立即返回
4、服务降级

什么是服务降级:例如某个软件由ABC三个模块组成,运行时由于种种原因软件即将崩溃,这时候就需要释放一个或多个资源,来保证核心C正常运行

5、地址缓存

问:如果注册中心挂了,服务还能否正常访问。
可以,因为消费者在第一次访问注册中心时,会将地址缓存到本地,下次再用就是调取本地的地址。但是如果地址需要更新时注册中心挂了那就没办法了。

6、多版本

灰度发布
当发布一个新版本时,让一部分用户先使用新版本,使用没有问题再将全部用户迁移过去。
dubbo使用version属性来设置和调用同一接口不同版本。
在这里插入图片描述
在这里插入图片描述

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值