## 1、dubbo高可用解决方案
本地缓存
集群容错(失败自动切换、快速失败、失败安全、重试、并行调用多个服务器)
降级(容错加屏蔽)-熔断机制 mock配置
负载均衡(随机、轮询、hash)
dubbo2与dubbo3
2:接口级别服务注册发现
3:应用级别服务注册发现 不可互相兼容
3:节省内存,和减轻地址推送压力
## 2、redis主从数据同步方案
主从模式,哨兵模式,集群模式
1 主从复制包括全量复制,增量复制。主节点挂了不能自动恢复,需要手动将从节点升级为主节点并且通知调用方更新
2 哨兵模式监视所有的Redis主节点和从节点。主节点挂了可以自动将从节点升级选举机制(至少三个哨兵)。
每个节点数据一样
3 集群模式 分布式存储(hash槽的方式),每台Redis节点上存储不同的内容。节点通信Gossip协议 分别是:ping、pong、meet、fail。
数据同步 slave启动后发送一个SYNC消息,master启动备份rdb,备份完成将数据发送给slave
数据操作 master写操作记录到aof文件中,同步到slave
## 3、weifuwu
1 客户端如何访问这么多的服务
API、网关
2 服务与服务之间如何通信
同步通信:
HTTP(Apache Http Client)
RPC(Dubbo,只支持Java)
异步通信:
消息队列(kafka RabbitMQ RocketMQ)
3 这么多服务如何管理(管理实质是管理微服务的地址)
服务治理:服务注册与发现
基于客户端的服务注册与发现(Dubbo+Zookeeper)
基于服务端的服务注册与发现(Spring Cloud中的Eureka)
4 服务挂了怎么办
重试机制
服务熔断
服务降级
服务限流
常用的有两套微服务解决方案:
Spring Boot+Spring Cloud
基于HTTP
使用Eureka(Netflix旗下)完成服务注册与发现
组件多,功能完备
Spring Boot+Dubbo+Zookeeper(Apache旗下)
基于RPC的通信框架
使用Dubbo+Zookeeper完成服务注册与发现
组件少,功能没有第一套方案完备
常见的高可用解决方案
最新推荐文章于 2024-04-08 08:53:21 发布