第1 章 携程整体技术架构
架构的意义在于确定"主绳"的位置。架构实际代表的是一个方法论,这个方法论的核心思想在于构建目标的主要环节,主要环节一方面可以带动次要环节,
另外一方面还可以对次要环节的作用范围进行限制。
技术架构大体上可以划分为业务架构和整体技术架构两部分:
1.业务架构更加关注业务流程的技术实现,比如用户下单流程的制定,以及各个环节需要用到的支撑系统;
2.整体技术架构更加关注全局的技术解决方案,比如业务系统之间的通信方式,以及实时观测业务系统的运行状态。
1.1 携程技术架构概览
1.1.1 分层架构
1.表现层(Presentation)
2.业务层(Business)
3.持久层(Persistence)
4.数据层(Database)
分层架构的每一个层次都有其固定的角色,并且承担着相应的职责。例如在经典的4层架构中,表现层负责与用户直接进行交互的逻辑,用户通过浏览器
或者手机客户端看到界面或进行交互,都属于表现层的范畴;业务层则负责根据用户的请求,执行特定的业务逻辑。
每一层的组件都围绕着这一层的职责范围来完成各自业务逻辑的抽象。例如,表现层不需要关心如何获取顾客数据,它需要做的事情仅限于在用户客户端
上以特定的格式把顾客数据展示出来;同理,业务层既不需要关心数据展示,也不需要关心数据来源,它只需要向持久层获取数据,完成自己的业务逻辑(如
数据聚合和计算),再将处理后的数据交给表现层即可。
1.1.2 接入层技术
优秀的前端界面和交互设计可以带给用户美好的视觉体验,而支撑这些优质视觉体验的技术,就是接入层的移动大前端技术。
所有涉及用户操作的终端都属于前端领域,在这个指到思想下,大前端的技术领域也从传统的PC浏览器前端,扩展到移动OS原生框架开发,跨平台
前端框架开发,以及微信,小程序等框架开发。
作为用户,除了最直接的视觉,其次就是速度。用户会通过各种网络接入环境和客户端设备,通过GSLB技术帮助用户连接到最合适的数据中心,再
通过cdn技术,在尽量靠近用户的边缘网络将用户频繁访问的静态资源进行缓存,把用户和服务的距离尽量缩短,从而提高速度。
呼叫中心为客服人员提供 多渠道,多地域,多业务,多语种及海量会话等全方位服务。相比传统的客服运营,携程云客服平台解决沟通单一,信息碎片
化,智能化低,效率低,移动性不足,成本高昂等问题。
1.1.3 后端技术
互联网领域的中间件,主要是指分布式系统中广泛使用的中间层软件,一般用于提供通信及数据管理服务。之所以使用中间件来与其他系统进行通信和
数据访问,是因为中间件为调用方提供了更好的封装性:一方面封装了底层操作的复杂性,使调用方可以更专注于自身的业务诉求;另一方面封装了公共业务
模型的具体实现,提升了调用方的业务逻辑表达能力,降低了业务系统架构的成本。
DevOps 解决方案是 PaaS。从持续集成入手,打通了资源,版本和发布流程。
1.1.4 技术保障
监控的重点在于发现问题。定位问题往往比解决问题更加困难。
1.2 携程整体技术架构演进
1.2.1 呼叫中心时代
1.2.2 互联网和移动互联网时代
这个阶段各个应用是分层的。分层的优势:
1.分层可以把每一层的业务进行隔离和透明化,可以更多的进行解耦,也可以很方便的部署。这样在流量大的时候,可以快速扩充,分担流量,
进行负载均衡;
2.分层支持高可用,每一层应用都部署在多个服务集群上,当其中一个集群意外宕机,另外一个集群可以很快的顶上。
3.分层可以通过服务化进行子系统之间的解耦。这个阶段的理念就是"Open API Everywhere"
分层带来的好处就是,目前大型互联网公司必须具备的3+1模式 --- 高并发,高性能,高可用,高扩展。
痛点:
1.业务快速发展跟不上
2.子系统的拆分边界不清
3.系统改造复杂
4.分层体系架构的复杂
1.2.3 大数据和人工智能时代
这个阶段主要依托 海量用户和海量数据,发展平台个性化和数字化。ABC 战略:
A -- AI, 个性化,数字化和人工智能;
B -- Bigdata, 整个集团数据集成,共享,交换,打通;
C -- Cloud,计算,网络,存储云化。
AI 赋能主要两个方面:
1.精准化营销,个性化推荐,提升订单转化率,实现营收增长
2.通过人工智能研发客服机器人和AI数据挖掘