把一个整体(完成人类生存的所有工作)切分成不同的部分(分工),由不同角色来完成这些分工,并通过建立不同部分相互沟通的机制,使得这些部分能够有机的结合为一个整体,并完成这个整体所需要的所有活动,这就是架构。
架构实际上就是指人们根据自己对世界的认识,为解决某个问题,主动地、有目的地去识别问题,并进行分解、合并,解决这个问题的实践活动。架构的产出物,自然就是对问题的分析,以及解决问题的方案:包括拆分的原则以及理由,沟通合并的原则以及理由,以及拆分,拆分出来的各个部分和合并所对应的角色和所需要的核心能力等。
随着网络进入千家万户,方便快捷的网络购物已经被人们视为生活中很重要的一部分。每年“双十一”大促淘宝的销售额也是一次又一次的刷新着成绩,它已经发展成为全世界电商和消费者都参与进来的盛宴。而对技术人员来说,双十一无疑已经成为一场大考,考量的角度是整体架构、基础中间件、运维工具、人员等。一次成功的大促准备不光是针对活动本身对系统和架构做的优化措施,比如:流量控制,缓存策略,依赖管控,性能优化……更是与长时间的技术积累和打磨分不开。
支付宝的架构设计上应该考虑到互联网金融业务的特殊性,比如要求更高的业务连续性,更好的高扩展性,更快速的支持新业务发展等特点。
它的整个平台被分成了三个层:运维平台(IAAS)、技术平台(PAAS)和业务平台(SAAS)。提出了逻辑数据中心架构,核心思想是把数据水平拆分的思路向上层提到接入层、终端, 从接入层开始把系统分成多个单元。
这个架构由于尽量减少了跨单元交互和使用异步化,使得异地部署成为可能。整个系统的水平可伸缩性大大提高,不再依赖同城IDC,从而也实现了异地备灾,。这样当有更多的用户访问或交易时,它拥有更强大的容灾能力,保证系统的正常运行。
而支付宝新推出的蚂蚁花呗,避开了银行间的交易链路,最大限度避免支付时的拥堵,确保了支付通道的通畅。蚂蚁花呗业务中最为关键的一环在于买家授信和支付风险的控制。从买家下单的那一刻开始,后台便开始对虚假交易、限额限次、套现、支用风险等风险模型进行并行计算,这些模型最终将在20ms以内完成对仅百亿数据的计算和判定,能够在用户到达收银台前确定这笔交易是否存在潜在风险。
想要做出成功的架构,最重要的是有过硬高稳定性的各种基础设施工具的和身经百战被“虐了千百次”的技术人员的支撑才是最后取胜的关键。而这个两个层面的问题是不能通过分享学到的,是要通过日积月累的,无数流血流泪趟雷中招锻炼出来的,没有近路可抄。