浅谈:阿里私有云实践

2016年08月21日 陈鑫杰

cloud.jpg

从云的诞生,发展到现在。已经有越来越多的应用依赖云,越来越多的用户依赖云。
廉价的硬件设备,超大规模的虚拟化、分布式架构,以及动态伸缩。这些优点,决定了越来越多的个人、企业选择云,搭建各种应用与服务。


摘要

《阿里私有云实践》是基于现实项目而来,文中只叙述阿里开源框架,搭配以及使用技巧。

  1. 不涉及实际业务、功能
  2. 不提供技术以外的信息。

基础组件

  1. EDAS:企业级分布式应用服务
  2. HSF:RPC服务
  3. TXC:分布式数据库事务
  4. RDS:云数据库RDS(ApsaraDB for RDS,简称RDS)是一种稳定可靠、可弹性伸缩的在线数据库服务。

系统架构

基于 EDAS、HSF 搭建服务中心、业务系统。以部署多台服务器来实现分布式架构。
基于 TXC 管控 Tomcat 进程,实现在不同服务器、服务中心、业务系统之间数据库操作的成功/回滚的全局事务。
基于 RDS 实现 MYSQL 分布式数据库。

服务中心

抽取、整合业务以外的代码,形成单独应用供其他应用调用。

服务中心的设计,减少了业务系统的代码复杂度。同时在业务发生改变时,不需要重新部署业务以外的功能。

实现 灰度发布1 的重要前提。

业务系统

以不同的业务目标,切分为不同的业务系统。

通过统一的登录、角色授权、数据权限实现不同业务系统之间的切换。

同时,不同的业务系统在业务发生变更时,不会影响到其他业务系统的运行。

全局事务

在多服务中心、业务系统同时操作数据库的场景下,TXC 实现了从发起请求到结束请求之间,一旦抛出异常,所有的数据全部回滚的全局事务控制。

而且,TXC 是 Tomcat 进程级别的数据库事务,不需要考虑是否兼容的问题。

数据库

以服务中心为主,建立服务中心数据库。

以业务系统为主,建立业务系统数据库。


MQ 消息队列

异步消息处理,适用在线与离线、异步操作两种业务场景。


SchedulerX 定时调度

Web 端的分布式定时调度系统,可以设置自动、手动触发,查看日志。


排错技巧

链路分析

通过 EDAS 控制台,查看并分析某应用在某时间段内请求的处理时间,以及该请求调用了哪些方法、数据。

在进行系统压力测试之前,必须要把所有的请求处理时间控制在 1ms 以内。

数据异常分析

  1. 服务中心/业务系统日志分析。
  2. 应用服务器 /home/admin/log/txc.进程号.log 日志
  3. RDS 服务器 /home/admin/drds/log/数据库名/sql.log 日志

  1. 灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。 

(转载本站文章请注明作者和出处 FoamValue – www.foamvalue.com ——=== 访问 404页面 寻找遗失儿童。 ===——