dubbo理解 - 2021年1月7日
1、为什么会出现Dubbo
我们的项目随着需求的增加,访问的数量不断增加,单项目工程出现了他的局限性。
拆分项目部署在不同的服务器增加了项目的灵活性,不会出现改动一个小bug影响整个项目。
优点:
1.服务单一化,方便发开
2.方便管理增添访问压力大的单个服务
3.代码更加灵活,也更意管理
缺点:服务间的调用(RPC)意出现问题
RPC是远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
2、注册中心Zokeeper
端口:2181
注册中心有三个角色:注册中心、服务提供者、服务消费者
1.启动项目时:服务提供者会在 注册中心 注册信息; 服务消费者 订阅 注册中心 的服务信息
2.之后注册中心会监控 服务提供者的健康状况(心跳机制 – 30s一次请求),服务宕机后删除在注册中心的信息
CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼
一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)
可用性(A):保证每个请求不管成功或者失败都有响应。
分区容忍性(P):系统中任意信息的丢失或失败不会影响系统的继续运作。
高可用
1、zk全部宕机后dubbo任然能 通过直连方式调用(缓存)
2、负载均衡 -1.权重(大约比例-随机调用 默认随机) -2.轮序 -3.最小活跃(调用访问时间小的)-4.一致性哈希(指定调用)
3、服务降级 :zk 屏蔽、 容错
4、集群容错:配置重试次数,默认访问别的服务
同步缓存:广播调用,一台报错,即为报错
hystrix :容错处理 ,报错后调用别的方法