魅族生活服务多机房方案

本文探讨了生活服务平台的多机房部署方案,旨在提升业务可用性和用户体验。内容涉及数据情况分析、基础设施同步方案(如MySQL、MetaQ、Redis、MongoDB等)及其问题、设计概要及预演方法。在遇到机房故障时,其他机房能提供降级服务,确保订单等关键业务的正常运行。
摘要由CSDN通过智能技术生成

生活服务多机房方案

做多机房部署的目的在于提升业务可用性,结合智能DNS,GSLB使用户可以就近访问提升体验,并避免DNS劫持.

生活服务数据情况分析

数据使用情况

  1. 运营配置数据保存在mysql使用redis缓存
  2. VirtualType等保存在mysql的枚举数据,本地缓存并使用MetaQ进行广播同步
  3. 订单回调数据,实时写入mysql,客户端用户重新可以查看数据,要求实时性较高
  4. 活动状态数据(奖品库存数量,用户中奖信息等等)
  5. 用户提交的意见反馈,活动中奖后提交的地址等联系方式信息
  6. 团购,电影等同步CP的数据,由定时任务进行更新,低实时性,一致性要求
  7. yard配置数据.
  8. 分布式SESSION,记录登陆用户数据

数据特性

  1. 订单数据基本是读写均衡的
  2. yard,运营配置枚举,用户意见反馈,地址联系方式等数据明显是读多写少,可以接受一定延迟.
  3. 活动状态数据必须保障强一致性才能防止奖品超发
  4. 团购和电影数据通过定时任务跟CP保持同步

基础设施的跨机房同步方案及问题分析

MySQL

支持跨机房的主从同步.在网络层面支持专线和公网VPN切换,对上层应用程序透明.
专线可用时,同步延迟基本和同机房一致,切换为公网VPN延迟会略提示.
只支持主机房单边写入.

当南沙机房(主机房)不可用时,可以让DBA手动将其他机房的mysql实例设置为主,程序的Datasource可以自动切换写入节点,保证写入.(切换过程还是有中断时间)

MetaQ

MetaQ主题支持跨机房订阅/发布.根据设计和网络情况可能有延时,和消息重复情况.以南沙机房为主节点,不保障跨机

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值