dubbo_小白笔记

1. 首先解释一下分布式和集群

	 1.分布式就是指,很多服务器一起做不一样的是(每台服务器做的事都不一样) ,这些不一样的事呢,组合起来就是一件大事,而集群呢就是很多服务器做一样的事.

2. dubbo是阿里开源的一个高性能,轻量级的框架

3. dubbo架构

	1. ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200702160106970.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1Rhb0Rhb0xpYW5n,size_16,color_FFFFFF,t_70#pic_center)

Provider:暴露服务的服务提供方
Container:服务运行容器
Consumer:调用远程服务的服务消费方
Registry:服务注册与发现的注册中心
Monitor:统计服务的调用次数和调用时间的监控中心

4. dubbo的高级特性

1.序列化: dubbo内部将序列化和反序列化的过程封装了,我们在pojo定义时实现 Serializable接口就行
2. 地址缓存: 注册中心(Registry)挂了,服务依然可以正常访问,因为在第一次调用时会将服务提供方的地址缓存到本地.如果在注册中心(Registry)没挂的情况下,服务提供方的地址发生变化时,注册中心((Registry)会将这一变化告知消费者(Consumer)
3. 超时和重试: 服务消费者在调用服务提供方时候遇到阻塞,等待的情况,消费者会一直等下去,而超时机制则可以解决这个问题.我们可以设置一个超时时间 <使用timeout属性配置超时时间,默认值1000,单位毫秒>在这个时间段内,无法完成服务访问,则自动断开连接.如果出现网络抖动的情况,那么这次请求就会失败,而重试机制则可以解决这问题通过 retries 属性来设置重试次数。默认为 2 次。

5. 多版本

  1. 灰度发布:当出现新功能时,会让一部分用户先使用新功能,用户反馈没问题时,再将所有用户迁移到新功能。
  2. dubbo 中使用version 属性来设置和调用同一个接口的不同版本

6. 负载均衡(4种)

	1. Random :按权重随机,默认值。按权重设置随机概率。
	2. RoundRobin :按权重轮询。
	3. LeastActive:最少活跃调用数,相同活跃数的随机。
	4. ConsistentHash:一致性 Hash,相同参数的请求总是发到同一提供者。

7. 集群容错

  1. Failover Cluster:失败重试。默认值。当出现失败,重试其它服务器 ,默认重试2次,使用 retries 配置。一般用于读操作
  2. Failfast Cluster :快速失败,只发起一次调用,失败立即报错。通常用于写操作。
  3. Failsafe Cluster :失败安全,出现异常时,直接忽略。返回一个空结果。
  4. Failback Cluster :失败自动恢复,后台记录失败请求,定时重发。通常用于消息通知操作。
  5. Forking Cluster :并行调用多个服务器,只要一个成功即返回。
  6. Broadcast Cluster :广播调用所有提供者,逐个调用,任意一台报错则报错。

8. 服务降级

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值