2.1.4 MumuLab的三个版本
MumuLab平台是典型的Web应用,非常适合采用公有云的部署方式,为了兼容本书中的私有化部署、混合架构等章节的练习,设定MumuLab支持简版、完整版、私有版进行部署。简版是仅选用单个地域部署,完整版是为了覆盖全球用户在全球多个地域中进行部署的版本,私有版是私有化部署,私有版也包括从私有环境向公有云的迁移和扩展,并达到混合架构。
• 简版:单地域部署。
简版仅选用单个地域部署,不考虑跨地域、高可用、备份的设计,减少了网络连通、数据同步的操作。业务部署在公有云平台上海地域中,在可用区A和可用区B均选择2台2C4G云主机,通过负载均衡面向互联网来提供服务,在负载均衡中绑定5Mbps带宽的EIP,并将其设定为按照带宽计费,另外将关系型数据存储到MySQL数据库中,静态文件选用对象存储并搭配CDN进行加速。
• 完整版:多地域部署。
在公有云上进行部署时默认选择单地域的至少要有两个可用区,以实现单地域的高可用部署(部分模块需进行特殊部署,后面将单独介绍)。部署完成即可面向全球提供账号注册、页面浏览、页面提交等服务。全球用户访问同一个域名www.mumuclouddesignpatterns.com解析到云平台的EIP中,通过负载均衡将请求分配到两个可用区的云主机上。应用层云主机负责页面展示,逻辑层云主机负责处理实验提交、数据接口操作等,数据库层云主机采用云端MySQL服务。
• 私有版:私有化部署。
在私有化部署基础上连通公有云,构建混合架构。在业务负载超过超融合一体机柜的服务上限时需要进行扩容,简便的方式是将计算能力、存储能力、安全防护能力扩展到公有云平台。首先通过公网VPN连通本地超融合一体机柜和公有云,在公有云上按照三层架构部署,应用层和逻辑层需要保持无状态(Stateless),因此登录状态、其他共享数据应存储在Redis等共享组件中,数据库层公有云端作为MySQL从库与本地MySQL主库保持主从同步。前端通过“流量转发及全局负载均衡”模式将所有前端流量分发到本地超融合一体机柜和公有云端,存储用户登录状态的Redis并没有实现本地环境和公有云端的数据同步,因此进行流量分发时需要对用户开启“会话保持”,将同一个用户的请求分配到私有环境或公有云端固定的一侧。为了进一步减轻本地服务器的负载压力,可将数据统计、报告生成、资料上传转码等任务交给公有云进行异步处理。