服务设计思想汇总
1.先扛住,再优化
2.可调度,可收缩
3.公司级DNS -- 解决DNS更新时间长的问题.
4.跨城IDC容灾 -- 关键数据同步到异地IDC, 做热备. 异地IDC可提供基础接入服务, 非核心业务可冷备.
5.差异化服务
6.流控
7.分组
8.可降级
9.集中配置
10.多级数据层
11.安全策略
12.故障时,提供有损服务,保证核心服务可用
13.补偿
14.有限度的有损服务
15.完善的事后补偿机制
16.内部系统改造对外部透明
17.应对机房大面积掉电-- 跨机房
18.IDC网络孤岛 -- 同城多IDC、异地跨IDC容灾
19.判定孤岛,解决脑裂 -- 引入第三方、双心跳
20.多级数据层的切换能力
21.同城同IDC的单点容灾、同城跨IDC的机房容灾、异地容灾
22.数据同步 - mysql异步复制
23.异地故障切换 -- 1.基于域名访问的, 更新域名(公司级域名)映射的IP,使客户端请求落到另一个城市部署的服务. 2.基于IP访问的, 需要提供服务IP动态发现的能力,即部署查询IP列表的服务,保证查询服务可用, 由该查询服务返回可用城市的服务IP列表
24.不间断服务
25.多级自动容灾策略
26.多级缓存策略 -- 活跃用户的缓存、全量用户的缓存
27.mysql主备数据同步的校验 -- 引入第三方, 实时校验mysql主备的数据同步情况,未同步的记录下来, 当主备切换时,可以拒绝未同步数据的读写操作. 通过损失这部分用户的体验,保证其它用户数据的一致性。
28.业务层和数据层分离, 引入中间人--数据层服务
29.数据层服务 -- 访问、路由、容灾、扩缩容
30.服务治理 -- 调度中心、配置分发、发起和管理主备切换、监控服务容量,发起扩缩容
31.gateway -- 流控
32.全cache--从硬件层面优化访问速度, key-value--从简化数据访问逻辑上优化访问速度
33.低延时 平均响应时间<10ms
34.孤岛检测方法 主cache 备cache 第三方仲裁机
1.三者相互上报心跳
a.主向 仲裁机 上报 备和自己的状态
主向 备机 上报 仲裁机和自己的状态
b.备向 仲裁机 上报 主和自己的状态
备向 主机 上报 自己和仲裁机的状态
主发现T时间内,没有收到响应,则自动降级为备,不提供写服务
仲裁机发起主备切换流程
备机从仲裁机拉取 主 未同步到 备的内容, 加入备的黑名单,这些请求将不予服务,需人工介入修复
主备完成切换

浙公网安备 33010602011771号