服务设计思想汇总

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时间内,没有收到响应,则自动降级为备,不提供写服务

仲裁机发起主备切换流程

备机从仲裁机拉取 主 未同步到 备的内容, 加入备的黑名单,这些请求将不予服务,需人工介入修复

主备完成切换

posted @ 2016-06-27 14:12  JinleiZhang  阅读(260)  评论(0)    收藏  举报