首页 > 编程知识 正文

中台架构设计,技术中台采用几级架构

时间:2023-05-04 17:56:48 阅读:158617 作者:1565

传统的企业平台是烟囱型系统结构,企业内部随着业务的发展不断建立各种系统,各系统之间的重复功能的建设和维护导致了重复投资。 重复投资不仅是人力,财力也有时间。 但是,通过烟囱型系统之间的交互进行集成与合作是昂贵的,各大企业必须利用ESB产品构建企业服务总线,以解决各系统之间的交互问题。

但是,这种利用ESB的“中心化”服务体系结构也有不少缺点。 “中心化”架构的所有服务调用方和服务提供商之间的交互必须通过此中心点,难以扩展此中心点的能力,此中心点将成为瓶颈。

2015年,阿里巴巴集团启动了中台战略。 目标是构建符合互联网大数据时代、创新灵活的“大中台、小前台”机制。 也就是说,作为前台的一线业务,我们将更敏捷、更快捷地应用瞬息万变的市场,而中台将汇聚集团整体的运营数据能力、产品技术能力,为各项前台业务提供有力支撑。 总体内容如下

阿里“大中台、小前台”的架构当初,阿里只有一个淘宝事业部,后来成立了天猫事业部。 此时,淘宝的技术团队同时支撑着这两个事业部。 当时的淘宝和天猫的电子商务系统,像我们很多大公司一样分为两个独立的烟囱式系统,两个系统包含商品、交易、支付、评价、物流等功能。 出于这些原因,阿里集团又成立了共享事业部。 其成员主要来自上一个淘宝技术团队。 另外,可以将两个电子商务业务进行组织和沉淀,将两个平台中共同的、通用的业务功能沉淀到共享事业部,避免建设和维护的重复。 此后,上线的成本效益、1688、菜鸟物流等业务,都是基于这个“大中台、小前台”的思路建设的。 如下图所示。

“大中台、小前台”的架构主要集中在业务共享服务层、业务共享服务团队,有独立团队来做,也有利于业务沉淀,降低研发成本,提高研发效率。 打破了产品的壁垒。 以前是跨系统请求数据,现在去共享服务中心请求数据,共享服务中心提供统一的标准数据。 降低系统间交流、团队间协作的成本。 站在巨人的肩膀上。 新产品的开发即使不考虑以前的东西,也能迅速孵化出新产品,试验错误的成本低,敢于创新产品,敢于接受变化,很难追赶竞争对手,但现在相当于竞争对手的产品经理不断涌现可持续发展、技术和业务能力可以沉淀积累。

“大中台、小前台”与微服务的关系微服务体现去中心化、天然分散化,与阿里的中台战略思想相似,是战略的具体实现方式之一。 现有架构师可以学习该模型来解决企业自身APP应用的高并发性、高可用性和运输等难题。 它也是现有互联网的经典架构,经过阿里的实践,不仅BAT,Uber、网易、美团、京东等互联网公司也很早就实现了平台的微服务化。

为什么要微服务化? 在传统的单机或SOA体系结构中,如果APP应用程序频繁升级,开发团队将非常痛苦。 企业的业务APP应用经过多年的IT建设,系统非常庞大,要改变其中的一些部分,需要重新部署整个APP应用,更谈不上敏捷开发和快速交付。

传统企业在长期的IT建设过程中,通常大量使用外包团队。 结果,采用的技术堆栈之间差异较大,统一管制和运维要求更高。 需要全天候维护、在线升级和快速响应。

在这一点上,差异化的微服务技术面对上述乱象具有几乎全身的优势:独立开发、独立部署、独立发布、集中化管理、高并发高可用性支持、丰富的技术堆栈支持,企业可以根据需要灵活选择技术。

实践微服务体系结构选择的微服务体系结构包括:

微服务是指将企业通用服务按业务化划分为单独的服务,提高可用性,便于服务扩展,降低开发成本,减少服务发布对整个平台的影响。 微服务是一种思想,实现有多种方式,企业要从单一系统过渡到微服务,需要技术选择、业务分割问题、高可用性、服务通信、服务发现与管理、集群容错、配置管理、数据一致性问题微服务器的测试、调度和部署等,需要考虑很多问题,这不是轻易能解决的。

微服务框架应当利用虚拟化平台,根据需要编制机器、调整大小,通过基础设施自动化从一台机器扩展到多台机器,并具有业务监控报警、异常熔断等功能。 现有框架为Dubbo和SpringCloud,Dubbo为RPC服务治理框架,与SpringCloud一样具有服务注册、发现、路由、负载均衡等功能。

Dubbo和Spring Cloud的区别是什么? 我们先来做个简单的功能比较:

从上面的图中可以看出,Dubbo的功能是Spring Cloud体系的一部分,Dubbo已经停止了几年,最近宣布要加强对开源的支持,但是对于其他框架来说非常落后。

另外,Dubbo是SOA时代的产物,其关注点主要在于服务调用、流量分发、流量监控、熔断。 另一方面,Spring Cloud诞生于微服务器架构时代,考虑到微服务器管理的各个方面。 另外,由于依赖Spirng、Spirng Boot的优势,两个框架的开始目标不一致,Dubbo定位服务管理,Spirng Cloud是生态的。

至于如何进行技术选型,相信会有更多的架构师为了选择Spring Cloud生态,引用了网友的理由。

1 )从两家公司的背景说起。 Dubbo是阿里巴巴服务化管理的核心框架,广泛应用于中国各互联网公司。 Spring Cloud是有名的Spring

家族的产品。阿里巴巴是一个商业公司,虽然也开源了很多的顶级的项目,但从整体战略上来讲,仍然是服务于自身的业务为主。Spring专注于企业级开源框架的研发,不论是在中国还是在世界上使用都非常广泛,开发出通用、开源、稳健的开源框架就是他们的主业。

2)从社区活跃度这个角度来对比,Dubbo虽然也是一个非常优秀的服务治理框架,并且在服务治理、灰度发布、流量分发这方面做的比Spring Cloud还好,除过当当网在基础上增加了rest支持外,已有两年多的时间几乎都没有任何更新了。在使用过程中出现问题,提交到github的Issue也少有回复。

相反Spring Cloud自从发展到现在,仍然在不断的高速发展,从github上提交代码的频度和发布版本的时间间隔就可以看出,现在Spring Cloud即将发布2.0版本,到了后期会更加完善和稳定。

3) 从整个大的平台架构来讲,dubbo框架只是专注于服务之间的治理,如果我们需要使用配置中心、分布式跟踪这些内容都需要自己去集成,这样无形中使用dubbo的难度就会增加。Spring Cloud几乎考虑了服务治理的方方面面,更有Spring Boot这个大将的支持,开发起来非常的便利和简单。

4)从技术发展的角度来讲,Dubbo刚出来的那会技术理念还是非常先进,解决了各大互联网公司服务治理的问题,中国的各中小公司也从中受益不少。经过了这么多年的发展,互联网行业也是涌现了更多先进的技术和理念,Dubbo一直停滞不前,自然有些掉队,有时候我个人也会感到有点可惜,如果Dubbo一直沿着当初的那个路线发展,并且延伸到周边,今天可能又是另一番景象了。

  Spring 推出Spring Boot/Cloud也是因为自身的很多原因。Spring最初推崇的轻量级框架,随着不断的发展也越来越庞大,随着集成项目越来越多,配置文件也越来越混乱,慢慢的背离最初的理念。随着这么多年的发展,微服务、分布式链路跟踪等更多新的技术理念的出现,Spring急需一款框架来改善以前的开发模式,因此才会出现Spring Boot/Cloud项目,我们现在访问Spring官网,会发现Spring Boot和Spring Cloud已经放到首页最重点突出的三个项目中的前两个,可见Spring对这两个框架的重视程度。

  因此可以看到SpringCloud良好的生态是非常重要的,这里只讲到至SpringCloud实现微服务,具体SpringCloud微服务的详情后面再介绍不做多讲,还有与微服务紧密相关的容器技术也是相当重要的,还有微服务的DevOps自动化运维到智能化运维后面再作主题介绍。

   最后要说的是由于服务能力的集中管控,很大程度会促进我们一体化运维的能力,但在“大中台、小前台”的模式下,每一个服务都负责对N多个前端业务应用提供支持,这就要求运维在信息安全、备份、监控等方面要有更强的能力,这也将改变企业的组织架构调整。

   以上是每一位架构师都需要不断学习的内容,相关衍生出来的内容更多,这里只作抛砖引玉,文中部分引用了秀丽的画板大咖的内容 ,在此感谢他们的付出。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。