AirJD 焦点
AirJD

没有录音文件
00:00/00:00
加收藏

构建多公有云系统部署实践 by 叶向宇@曙安

发布者 devops
发布于 1465778645107  浏览 5949 关键词 DevOps 
分享到

第1页

构建多公有云系统部署实践

上海曙安数据服务有限公司 叶向宇



第2页

2016-4-22



第3页

关于我

• 过去:

• 联想集团服务器事业部 • 微软中国技术中心 • 惠普中国技术中心 • 微软云计算事业部

• 现在:

• 上海曙安数据服务有限公司 • VC3多云管理平台架构师



第4页

今天的话题

• 我们的目标是什么? • 实现业务目标过程中遇到了什么问题? • 我们是如何思考的? • 我们是如何实践的? • 我们下一步的计划是什么?



第5页

• 单数据中心,VMWare环境 • 宕机4小时

• 单云供应商 • 宕机6小时



• 切换云供应商 • 再次宕机

3 4

• 再找一家云供应商???



我们如何走到这一步?



第6页

从宕机中学到的几件事(1)

SLA <99.95%  $$

• 供应商SLA不是保证不宕机,而是索赔的依据



第7页

从宕机中学到的几件事(2)



1000台服务器



64GB Mem



24小时无内 存故障



内存颗粒无故障工作

= 87.6 年



• 小范围宕机几乎不可避免



第8页

从宕机中学到的几件事(3)

https://cloudharmony.com/status-of-compute

• 大范围宕机发生可能性依然存在



第9页

“不宕机是核心需求”



第10页

“如果一朵云宕机不可避免 那就把应用部署到多个云上”



第11页

目标

• 多数据中心多活 • 节省成本、可负担的解决方案 • 在灾难发生的过程中,如果无法达到完全可用,则至少应该保证部分可用:

• 部分业务功能可用 • 部分客户业务可用 • 部分数据可用

• 尽量少的人工干预



第12页

App

Data



第13页

App



第14页

App App

GIT/Ansible



第15页

GSLB

App App

GIT/Ansible



第16页

GSLB



User App





User App



GIT/Ansible



第17页

Data





第18页

Master / Slave



Data

master



Data

slave



第19页

Master / Slave

App

Data

master



App

Data

slave



第20页

Master / Slave

App

(Write)

Data

master



App

Data

slave



第21页

Master / Slave

App

(Write)

Data

master



App

xData

slave



• 如果设计目标是随时保持2分数据拷贝,那么slave宕机的情 况下,master应不能写入



第22页

Master / Master

App

Data

master



App

Data

Master



第23页

• 需要假定网络可靠(拜占庭将军问题) • Master越多越慢,代价越高,不可扩展 • 适合单数据中心内部,可以用来解决局部故障 • 跨数据中心则可能需要投入专线



第24页

Master / Master / Master



App App



App



Data

master



Data

master



Data

Master



第25页

Master / Master / Master



App App



A pp



D a ta

m a ste r



D a ta

m a ste r



D a ta

M a ste r



1. 允许任意一个站点宕机、断网的情况下保证依然有2个可用站点 2. 可以形成2:1的多数派解决数据不一致的问题 3. 超高的可用性



第26页

实战之:找到合适的云



第27页

不同云的性能



第28页

云间的网络



第29页

最后的选择



第30页

Master / Master / Master



A pp

D a ta

m a ste r



A pp

D a ta

m a ste r



A pp

D a ta

M a ste r



• 公网传输数据(专线成本过高) • 允许1个云计算数据中心宕机 • 允许网络传输不稳定 • 允许时钟不同步 • 当数据差异发生时可以做到多数票



PAXOS



第31页

Paxos PG数据库



D a ta

m a ste r



Proprose (N, V)



Accept(N, V) or

Accept(N’, V,’ ) or

Deny



Choose (N, <V|V’>)



D a ta

m a ste r



D a ta

M a ste r



Propose



https://github.com/citusdata/pg_paxos https://www.youtube.com/watch?v=WX4gjowx45E



Accept



Choose



第32页

Paxos PG 性能问题



X10 Latency



第33页

数据的分类处理



数据分类

元数据 (用户信息、权限、记账)

资产数据 (云上资源资产信息)

操作数据 (云上资源的操作日志)



常见操作

Create Read Update Delete

Create Read Update Delete

Create Append Read



存储选择

Paxos PostgreSQL

双实例数据库 +

定期批量复制到从站 +

资源实际状态定期更新

OSS和异步复制



第34页

Front Page Console A



META



Master



Slave



OSS



GSLB



Console C



META



Master



Slave



OSS



Front Page Console B



META



Master



Slave



OSS



第35页

Front Page Console A



META



Master



Slave



OSS



GSLB



Console C



META



Master



Slave



OSS



Front Page Console B



META



Master



Slave



OSS



第36页

Front Page Console A



META



Master



Slave



OSS



GSLB



xConsole C META



Master



Slave



OSS



Front Page Console B



META



Master



Slave



OSS



第37页

META



Master



Slave



OSS



Proxy



Proxy



META



Master



Slave



OSS



Proxy



META



Master



Slave



OSS



第38页

尚需解决的问题

• paxos_pg 事务性的问题 • paxos的算法的数据代理??? • 异地数据中心部署的可能性 • 10~100万量级云资产管理



第39页

总结

• 故障理所当然发生 • 打破Dev|Ops的边界,双方共同构建可用性 • 理解业务目标,按需架构设计 • 学会妥协



第40页

VC3云管家 跨平台、智能化管理运维 让所有云轻松用、易管理 Make Cloud Work for You

WWW.VC3MARKET.COM



支持文件格式:*.pdf
上传最后阶段需要进行在线转换,可能需要1~2分钟,请耐心等待。