王庆友 2003年毕业于浙江大学,计算机硕士。前1号店首席架构师,先后就职于ebay、腾讯、1号店等大型互联网公司。精通电商业务,擅长复杂系统业务建模和架构分析,尤其在大规模分布式系统的
SOA/微服务改造方面有很深入的理论和实践。
王庆友
APP服务端架构变迁及发展历史
据王庆友老师介绍,APP是最近3-5年兴起的,其服务端架构大致经历了三个阶段:
1. APP刚刚诞生时,其功能非常简单,无线team负责服务端建设,通过直接访问各个业务系统库表数据或调用接口,简单封装后,提供给APP使用。
2. 随着APP的功能逐渐丰富,APP服务端架构开始全面拷贝web端的功能,服务端分散化,由各个业务系统直接对外提供。
3. 之后,APP针对无线的特点独立发展,由独立的网关提供服务端服务,无线team提供网关基础设施和系统级功能,业务系统team提供业务功能,两者无缝衔接,统分结合,支持APP高效扩展。
如何分析APP系统级功能需求和结构?
APP一般需要通信、协议数据封装、信息上报(性能监控和行为监控),本地数据存储,Native模块和H5通信等功能。在结构上,通信和协议数据封装属于底层,对业务系统透明,其它属于公共模块,业务模块可以直接调用。
何为架构的本质?
一个软件系统随着功能越来越多,调用量急剧增长,整个系统逐渐碎片化,越来越无序,最终无法维护和扩展,所以系统在一段时间的野蛮生长后,也需要及时干预,避免越来越无序。
在首席架构师眼里,架构的本质是“拆”和“合”。拆是把系统拆分为各个子系统/模块/组件,拆的时候,首先要解决每个组件的定位问题,然后才能划分彼此的边界,实现合理的拆分。合就是根据最终要求,把各个分离的组件有机整合在一起,相对来说,第一步的拆分更难。
拆分的结果使开发人员能够做到业务聚焦、技能聚焦,实现开发敏捷,合的结果是系统变得柔性,可以因需而变,实现业务敏捷。
架构师应该具有的能力
王庆友老师表示,对架构师能力要求比较全面,具体来说,需要以下能力:
1. 首先他必须是一个出色的程序员,对代码和系统有很好的驾驽能力。
2. 要有技术的广度(多领域知识),还要有深度(技术前瞻),对主流公司的系统设计非常了解,知道优劣长短,碰到实际问题,很快有多种方案可供评估。
3. 抽象思维是架构师最重要的能力,架构师要善于把实物概念化并归类。
4. 透过问题看本质则是由虚到实,往深层次地挖掘,快速识别木桶的短板并解决。
5. 要有良好的沟通能力,确保各方对架构达成共识,愿意采取行动;
6. 要有良好的平衡取舍能力,确保架构在现有资源约束下是最合理的,理想最终照进现实。
作为电商,App服务端架构有哪些特点?
1. 内部功能的共性和个性
电商一般会同时有APP和WEB端,它们内部共用一套服务。作为APP服务端,首先要统一对接内部服务,然后针对APP特点做适配,比如数据格式转换,聚合内部多个服务以提升传输效率等。
2. 统分结合,多团队合作
电商APP服务端的功能很多,单独的一个团队(team)不可能包揽所有,一般会采用多团队合作的模式,无线团队负责系统级的功能(如通信协议/数据封装、安全、监控等),业务系统团队负责具体业务功能。
3. 故障隔离,高可用性
电商APP服务端接口由多个后端team提供支持,并且在大促的情况下,某些接口调用量急剧变大,服务端架构必须支持接口资源的相互隔离,避免一个接口出问题,影响APP全部功能。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:听首席构架师论大型APP服务端架构
本文网址:http://www.toberp.com/html/support/11121519808.html