汽车之家10年系统架构演进及平台架构实践

总是有不少人都想知道汽车之家10年系统架构演进及架构实践和下载汽车之家的相关题,但却又不很了解,那么让小编为你详细的讲解吧!


关于作者


李方,汽车之家OEM事业部技术部。2016年加入汽车之家,负责电商ERP系统、商户系统、线索系统、订单中心、AIDCC的研发和架构,目前主要负责汽车之家整体技术架构升级和业务处理。电子商务ERP系统。-商业交易系统。


指数


一、简介


2.架构的演变


1.入门


2.微服务阶段


3、主数据阶段


4.架构阶段


3.架构实践


1.企业身份


2.服务编排


3、业务构成


4.开发工具


5.数据可视化


6、知识积累


4.结局


1.探索新零售商


2、架构升级


一、简介


汽车之家电商系统诞生于2014年,并于2016年至2019年成长。多年来经历双11、818各方的最高考验,积累了稳定、可靠、优秀的在线交易能力。顺应中间业务建设热潮,我们于2019年进入中间建设阶段,正在输出过去5年在汽车电商领域积累的能力,助力汽车电商行业发展。加速您公司的数字化转型!


2.架构的演变


这一部分主要讲汽车之家电商系统的架构开发流程、各阶段技术系统的业务状况、技术挑战以及应对策略。


1.入门


在经历了2011年至2013年互联网环境下的数千场团战和电商大战[1]之后,电商业务已经成为与广告模式一起变现互联网流量的又一战略。2013年双十一期间,汽车之家推出了购车服务,并将交易链接作为重要的发展方向[2]。


在业务的早期阶段,快速迭代并上线验证产品是一项技术要求。在满足日常业务需求的同时,我们从未停止过对技术架构的思考。考虑到未来电商系统的可扩展性,参考阿里巴巴在业界的技术体系,从2014年开始开发技术栈,并逐步从.NET系统转向Java系统,并完成了所有应用的过渡。它于2015年5月30日发布。是一个完整的网上汽车购物汽车商城。


2.微服务阶段


随着电商业务的快速发展,技术人员数量不断增加,到2016年,技术团队已达到数百人。单体架构的挑战凸显出来。对于前端商城git项目,一旦满足需求,就会并行开发近30个Maven子项目。代码合并冲突、等待需求上线、上线开发缓慢等题频发,SQL等题降低了开发效率和系统整体稳定性。


当前的系统支撑面临着巨大的挑战,需要系统架构的升级和演进。我们着手开发一种去中心化的策略,将原来的单一系统拆分成多个高内聚、低耦合的中心化系统。也就是说,当前的用户中心、产品中心、订单中心、促销中心、优惠券中心、商户中心等各个独立系统都可以独立设计、独立接收、独立发布,提高整体研发效率和系统稳定性。已经完成了。步。


现阶段,我们在技术上已经完成了支撑汽车电商的百万级商品系统[3]、订购系统[4]、优惠券系统[5]的建设,并在云端完成了所有应用。6]并构建自动化测试[7]。


同时,业务上探索了多种商业模式,包括自动驾驶汽车电商模式、开放模式、B2B2C模式、报价模式、咨询模式、TPCC模式、进口车平行销售等。


3、主数据阶段


电子商务的发展速度非常快,到2019年,企业已经拥有多种在线交易模式,包括旅游、汽车产品和售后服务、积分兑换等。公司根据发展战略决定建设电商中间,一方面集中公司优质产品资源和运营资源,打造有影响力的垂直电商交易。另一方面,也是通过合理管控技术资源,实现统一的电子商务系统。在这样的背景下,我们团队的任务就是搭建一个电商中介,由于各个系统的业务形态和技术架构都有很大的不同,所以我们面临的第一个题就是如何关闭交易,类系统的集成还没有看到。


为此,我们一方面开始熟悉交易系统在不同业务场景下的现状,另一方面也在思考和讨论技术解决方案。最终,我们选择了“基于数据归一化提供标准化的中层服务,自下而上逐个系统集成”的解决方案。


数据标准化


数据是任何公司的核心资产,在任何系统中,尤其是交易系统,数据都是重中之重。主数据的建立一方面可以统一数据模型,打破系统壁垒,另一方面还可以通过集中数据进行运营数据分析,为业务决策提供依据。系统集成的第一步是主数据步骤。


交易过程中最重要的数据集中在商户、产品、订单、促销活动四个领域,这四个领域的主数据是根据公司的交易场景状态进行抽象和建模的。以尽可能统一的方式适合大多数交易场景。


下图是订单主数据核心数据模型结构示意图。


完成集成数据模型后,下一步就是将现有的异构数据导入到主库中,对于数据处理来说,通过读取数据库的binlog来完成最初的数据同步导入,这也是一种业务侵入。这是最小且最快的实现。


API标准化


主数据建设完成后,下一步就是开始基于主数据构建API标准化,API可以说是系统的神经,高质量的API可以将高质量的系统连接在一起。已经实现了某种程度的系统封闭。


为此,我们遵循单一责任原则,按领域区分,边界清晰,将所有底层API功能原子化,让上游用户可以灵活组合API来完成业务逻辑。同时,集成了参数结构。API和响应结果结构通过集成错误码、基于API网关的集成发布和调用、API数据统计监控、性能降级和限流,实现集成管控。


API读写切换


有了标准化的API,业务方自然会用它来体现API的价值,并基于它来调用各个业务,采用分层读写的方案,避免过多的步骤。改变业务重要性和规模似乎是一个非常合理的步骤,但在实际实施过程中却暴露出许多挑战。


对于读写依赖较大的场景,例如用户下单后,立即去订单详情确认订单。如果此时写入API转换尚未完成,则通过以下方式读取数据如果读API由于数据同步延迟而失败,没有办法优雅地先切换到读和写,最好的办法是同时切换读和写。


是对业务转换影响最小的方式,并且兼容原有接口的参数和返回结果,所以强制业务方按照标准API进行切换,势必会带来切换成本和不必要的负面影响。商业方面。


这个时候,我们自然要站在对方的角度来进行一些权衡。我们采取的做法是在标准API之上增加一个适配层,用于现有协议和新协议之间的转换,这样业务方只需要切换域名和请求URL,而其他逻辑保持不变并最大化。这对业务方面很友好。


我们提供的基础API都是原子性的,但在实际场景中,尤其是前后端分离的项目中,前端并不愿意多次调用接口来达到相同的结果。另外,最后增加了Facade层,在基础AtomicAPI的基础上,对外提供适合业务场景的API,适度兼容差异化的接口逻辑。


阅读和写作的过渡不可能一蹴而就。在这个过程中,不可避免地会出现主数据API和原始业务API并存的场景。由于所有的API入口都是我们提供的,所以我们也采用了路由机制。路由层位置和所有用于差异化交付的API对于调用者来说都是透明的。


实际API转换过程中存在特殊场景,由于系统最终必须集成,对稍后集成的功能强制进行API转换是一种资源浪费,所以有时会提前进行。为了可预测,您可以适当地避免转换,并等到功能集成后再切换整个功能。


系统功能集成


API读写转换完成后,基于主数据的功能基本集成,此时需要系统集成集成商户管理后端、集成运营后端、集成C等通用功能。-系统级集成,包括侧面交易体验,目的是为用户提供统一的操作界面,体现的专业性。


在系统集成过程中,我们采取了“求同存异”的原则。对于产品上线、订单列表等常用功能,我们将通用功能进行抽象,提供统一的单元化服务。功能操作界面满足各业务方的使用需求。


对于业务独有的功能,我们会鼓励业务自行实现,对于目前还不能形成通用功能,但未来可能成为通用功能的功能,我们会用最快的方式在线实现小版本。遵循MVP原则,随着业务迭代不断实现功能沉淀。


在整个系统集成过程中,在集成原有系统功能的同时,不可避免地会出现新的需求,而面对这些场景,我们的做法是同时开发新系统和现有系统,这似乎增加了成本。一方面不会影响业务的发展,也不会因为技术整合而导致业务下滑。这也是验证新集成系统功能的方式。


完成大部分系统集成工作后,核心电商交易环节已投入运行,从卖家录入、产品上线、产品展示、下单、支付、合同履行、售后均经过长期在线验证。我们正在一一解决一路上出现的任何题,直到最终解决。现阶段我们已经完成了公司三大交易系统的整合,并进行了电商的闪购系统结构升级和优惠券系统结构升级[8],实现2020-2021年818晚会、双11、双双11、12以及其他大型活动的闪购、优惠券场景。我们也在积极探索领域驱动模型DDD的理论和行业实践,并在发数据库系统的重构中加以实现[9],也为后续的架构升级提供技术支持。


4.架构阶段


随着电商业务中心不断向业务“靠近”,系统的抽象和部署难度也呈指数级增长,一系列新的题也随之出现。


随着建设中间项目结束、人员撤离,电商业务中间集成了众多业务线的逻辑,代码中充满了无数的条件判断,开发成本和测试成本,每次需求迭代的回归成本都非常高。高的。如何分离不同业务之间的逻辑,降低业务之间的耦合度?


如何抽象出连接到您的电商业务的多个业务线的通用功能,以避免重复部署?


新业务接入您的电商业务中心后,如何基于现有能力和解决方案快速配置和上线,支持业务快速迭代和创新?


如何利用科技手段提高产品运营日常工作的效率?


综上所述,在构建电子商务业务中介的过程中,对各业务部门的公共功能进行抽象以及公共功能的可复用设计和实现尤为重要。业务中台必须实现功能复用和灵活性。打造中间,建设在公司发展过程中起到降本增效的作用。系统架构需要升级,这就进入了架构阶段。


3.架构实践


什么是架构?需要将各个业务的基础功能和特色服务进行分离,分离服务之间的逻辑。化的核心是业务抽象建模和系统架构开放,业务抽象解决80%的通用题,系统架构开放解决20%的个性化题。


在参考ThoughtWorks[10]提供的《现代企业架构白皮书》解决方案以及行业内互联网公司美团[11]、有赞[12]的中层解决方案后,智家电商解决方案通过抽象汽车基于领域的建模,如何在家下载视频?在线播放后,C:DocumentsandSettingsAdministratorLocalSettingsTemporaryInternetFiles文件夹中会有一个缓冲文件,因此将其复制并保存到指定路径。


下载汽车之家的人有车吗?你不必有车。


汽车之家是一款汽车专业知识应用,包含汽车销售、维修等常识。即使没有车的人也可以去那里了解汽车价格、驾驶技巧等。即使有车的人也可以学习。有车的人不一定会下载AutoHome,因为汽车保养、开车时人们在开车时会遇到一些情况,以及开车时的一些不良习惯。


除非特别注明,本站所有文字均为原创文章,作者:admin

No Comment

留言

电子邮件地址不会被公开。 必填项已用*标注

感谢你的留言。。。