您当前的位置:首页 > 电脑百科 > 程序开发 > 架构

一口气说透中台--给你架构师的视角

时间:2020-08-05 11:57:04  来源:  作者:

中台到底是什么鬼?

很多人写类似的文章,想告诉大家什么是“中台”。反正我看一篇扔一篇,原因是没有一篇能够说清楚。这也不怪谁,原因很简单,一个“概念”,其实是所有人的想象的合集,跟“鬼”的逻辑是一样的。

从技术角度上来说,中台是一种技术架构方法;从组织角度上来说,中台也是一种组织架构方法。我只能看清中台在这两个角度上的投影。这两个投影都与架构相关,唯独与“万能”无关。今天我就从技术架构的角度帮大家捋一捋中台到底是什么鬼。

信息系统架构

软件开发技术的发展与硬件不一样。冯诺依曼早在1945年就提出了“冯·诺依曼体系结构”,硬件系统在几十年间,基本没有任何变化。

一口气说透中台--给你架构师的视角

 

但是软件开发的架构,却在不断的进化。从最早的单体架构到最新的云原生架构,都是为了应对不断复杂的需求和爆发式增长的数据。

一口气说透中台--给你架构师的视角

 

单体架构

在当年单机时代,所有的软件架构都是单体架构。当时流行的架构区分为C/S架构和B/S架构。C/S指的是客户端(那时叫客户机)和服务端(那时叫服务器),是桌面程序。B/S指的是浏览器和服务器。

当时是不叫单体架构的,因为还没区分出其他架构。当时最典型的架构框架叫做MVC,即medel(代表数据)、view(代表展示)、controller(代表业务逻辑处理),如下图所示:

一口气说透中台--给你架构师的视角

 

架构敏感的同学会立刻生出一堆问题:

  • 怎么支持超多超复杂的业务啊?
  • 扩展性怎么做?
  • 怎么解决复用的问题?
  • 耦合太紧,一旦出问题就全部完蛋,怎么办?

是的,但是不用担心,当时的需求并没有那么复杂,基本上从业务逻辑到数据访问到返回结果一路写下来也就搞定了。

所以单体架构的优点非常明显:

  • 开发简单
  • 测试简单
  • 部署简单

分层架构

当业务逻辑复杂到一定程度,单体架构就没法支撑了,上述问题也就逐一暴露出来。当时的程序员们就想了各种办法,核心就是“拆”。那么,有几种拆的方式呢?

tips:架构演进的过程中,“拆”和“合”就是架构的核心中的核心。

一口气说透中台--给你架构师的视角

 

是的,有两种拆分方法,横向和纵向。横向把业务逻辑拆分为网关层、业务逻辑层和数据访问层,这就是“水平分层架构”。所谓的“前后端分离”,也属于水平分层的进一步拆分。

一口气说透中台--给你架构师的视角

 

纵向按照业务进行拆分,每个模块提供一个单独的服务,可以拆成用户服务、商品服务和订单服务。这就是“垂直分层架构”,也就是大名鼎鼎的“面向服务架构”--SOA。

一口气说透中台--给你架构师的视角

 

拆完之后,该抽象抽象,该解耦解耦,各自对外提供相应服务,单体结构遇到的复杂业务、复用、一错全崩等问题都迎刃而解了。

微服务架构

但是,当需求提的越来越多,业务变得越来越复杂的时候,我们发现,无论是水平拆分还是垂直拆分,都无法再提升我们的开发效率,一些公共耦合会导致系统的复杂度提升,程序包慢慢变成祖传屎山。这时候又要祭出架构的法宝“拆”字诀。

一口气说透中台--给你架构师的视角

 

我们把每一个业务的每一层单独拆成一个小模块,各自改各自的东西,不需要再去公共组件中去修改了。在进行进一步解耦之后,每个模块的复杂度降低了,模块之间的耦合度也降低了。由于有多个DAO,sql执行的效率也提升了。

同时,为了应对高吞吐量和海量请求,微服务还对静态资源和代理进行进一步拆解,引入了MQ将同步请求解耦为异步请求,加入RPC框架,进行远程服务调用等等。

一口气说透中台--给你架构师的视角

 

这时候就会有人问了,这得拆多少个微服务?这对管理简直是一个灾难!各管一滩事,谁去统一管控?所以微服务架构还有一个事情是必须做的,就是增加管理组件。这些组件的核心作用就是对各种微服务进行统一管控,不仅能管理微服务的全生命周期,还能在某个微服务被流量撑爆的时候进行各种丢车保帅的操作,在长长的链路中,可以不断向下跟踪,发现问题的根源。

一口气说透中台--给你架构师的视角

 

服务网格架构

是的,您发现了,解决一个问题必然会带来其他问题。微服务做到了进一步解耦,解决了很多分层架构的很多问题,但是遇到了以下挑战:

  • 每个微服务可能会用不同语言的不同版本
  • 有太多的基础框架和工具需要学习
  • 所有的client、server都需要维护n个版本
  • 上下游需要同步升级,否则你懂的

解决办法呢?能不能进一步解耦?有人说了,都解耦到这种程度了,再解,那得变成啥德行啊?

还真可以。

一口气说透中台--给你架构师的视角

 

这个时候,我们的整个微服务体系,就变成了这个网格的样子,所以叫服务网格架构。

一口气说透中台--给你架构师的视角

 

这个架构的好处就显而易见了,所有的通信都让代理实现,服务就只做自己的业务逻辑处理就好了。所有的跨语言问题、各个微服务版本的问题、上下游的问题全部解决了。

中台架构

懒婆娘的裹脚布,终于一层层的解开到最后,终于该说中台架构了。以服务网格架构为分界线,前面的架构优化思路只有一个,就是“拆”。到服务网格,就没法再拆下去了,那么还有更好的模式吗?既然提到了中台,那么这自然就是解决之道。

Supercell的故事就不用再重复了。这里必须八卦一下阿里和腾讯,阿里向Supercell学习了中台方法论,并把它进化成超级武器;腾讯把Supercell收购了,却只是用来继续做游戏。从组织的角度上来说,阿里完胜。

每个微服务都是个性化的,在单一业务线中,这就是最优的架构。但是业务线一多,或者上下游系统太多,每条业务线都在重复造轮子,存在大量资源浪费的情况;不同业务线之间的数据也是孤立的,无法打通。那该怎么办呢?

一口气说透中台--给你架构师的视角

 

是的,信息系统的核心就是抽象,我们在业务线之上,再抽象一层就完了。所以中台架构的核心思想不再是“拆”了,而是“合”。各自的微服务中必然就有共同的服务,我们可以把这些共同的服务合并、标准化、统一化,封装后对外提供服务。所以就会出现各种中心,这些中心的组合,就是中台:

一口气说透中台--给你架构师的视角

 

在业务逻辑部分做这种抽象整合重组,就是业务中台;

在数据部分做这种抽象整合重组,就是数据中台;

在算法部分做这种抽象整合重组,就是算法中台;

在技术底层做这种抽象整合重组,就是技术中台。

而想要实现上述任何一种中台,必须要先做组织的抽象整合重组,这就是组织中台。这也说明了,任何一个中台并不是孤立的,没有组织中台,妄想单独做其中一个中台,把中台当做银弹,那么必死无疑。

作者:彭文华 大数据架构师 分享数据分析、大数据技术、数仓建设相关的技术、方法论、案例、解决方案。



Tags:中台   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
中台是前几年比较火的概念,最近正好看到公司的一个资料,因为里面介绍的不是很详细,又在网上扒了些材料看了看,关于中台,自己的理解主要围绕五个方面:1、中台的由来,即它的历史。2、...【详细内容】
2021-12-08  Tags: 中台  点击:(19)  评论:(0)  加入收藏
不知几年前,数据中台这个概念开始变得很热闹,各个机构都要上中台,中台架构意味着先进,人见人爱,也冒出许多以中台为业的软件公司。然而,大概从去年中开始,听说又有好多机构开始忙着...【详细内容】
2021-08-19  Tags: 中台  点击:(79)  评论:(0)  加入收藏
数据中台不是一个单纯的系统,而是一套架构、一套数据流转模式。数据中台需要采集数据作为原材料进行数据加工、数据建模,然后分门别类地储存,再根据实际的业务场景,打造各类数据...【详细内容】
2021-08-16  Tags: 中台  点击:(58)  评论:(0)  加入收藏
在人工智能、大数据等技术发展和企业数字化转型加速的双重驱动下,数据中台在众多赛道中脱颖而出,成为行业焦点。除了提供综合解决方案的互联网头部企业之外,专注于某一具体场景...【详细内容】
2021-07-28  Tags: 中台  点击:(112)  评论:(0)  加入收藏
前言在 4 月 27 日举办的 Gopher China 2019 中,来自花椒直播的周洋进行了题为《花椒直播关于创业公司中台的技术思考与实践》的演讲,以下为演讲实录。No.0背景介绍 周洋:2009...【详细内容】
2021-06-29  Tags: 中台  点击:(106)  评论:(0)  加入收藏
当人们谈论数据中台时,他们在谈论什么当下,人人都在谈论数字化转型,但怎么转,做什么,中台有可能成为企业推进数字化转型的有效方法之一。“中台”早期是由美军的作战体系演...【详细内容】
2021-06-11  Tags: 中台  点击:(125)  评论:(0)  加入收藏
【51CTO.com原创稿件】随着互联网公司崛起,“中台”这个词也进入了人们的视线。BAT 等公司纷纷推出了自己的中台系统。 图片来自 Pexels那么,什么是中台系统?它是如何诞生的?...【详细内容】
2021-04-13  Tags: 中台  点击:(360)  评论:(0)  加入收藏
导读:中台的存在价值是为它的客户服务,比如业务中台和数据中台要快速响应前台应用的需求。但如果中台同时服务于多个前台应用,在资源有限的情况下,必然涉及对来自不同应用的需求...【详细内容】
2021-04-13  Tags: 中台  点击:(328)  评论:(0)  加入收藏
第一部分问对问题很重要 继续阅读之前大家要停下来,如何真的可以,停在这里,思考三分钟,企业需要的中台到底是什么?有了答案后,如果可能找一张纸,写下来。中台是什么不重要,一个名词,...【详细内容】
2021-03-04  Tags: 中台  点击:(200)  评论:(0)  加入收藏
这几年的数据领域出现好多的概念,例如:人工智能、物联网、边缘计算、数据治理、数据湖、数据中台……可谓是“百花齐放”!一时间大家都在提新概念,但却不是所有人都...【详细内容】
2021-02-25  Tags: 中台  点击:(152)  评论:(0)  加入收藏
▌简易百科推荐
为了构建高并发、高可用的系统架构,压测、容量预估必不可少,在发现系统瓶颈后,需要有针对性地扩容、优化。结合楼主的经验和知识,本文做一个简单的总结,欢迎探讨。1、QPS保障目标...【详细内容】
2021-12-27  大数据架构师    Tags:架构   点击:(3)  评论:(0)  加入收藏
前言 单片机开发中,我们往往首先接触裸机系统,然后到RTOS,那么它们的软件架构是什么?这是我们开发人员必须认真考虑的问题。在实际项目中,首先选择软件架构是非常重要的,接下来我...【详细内容】
2021-12-23  正点原子原子哥    Tags:架构   点击:(7)  评论:(0)  加入收藏
现有数据架构难以支撑现代化应用的实现。 随着云计算产业的快速崛起,带动着各行各业开始自己的基于云的业务创新和信息架构现代化,云计算的可靠性、灵活性、按需计费的高性价...【详细内容】
2021-12-22    CSDN  Tags:数据架构   点击:(10)  评论:(0)  加入收藏
▶ 企业级项目结构封装释义 如果你刚毕业,作为Java新手程序员进入一家企业,拿到代码之后,你有什么感觉呢?如果你没有听过多模块、分布式这类的概念,那么多半会傻眼。为什么一个项...【详细内容】
2021-12-20  蜗牛学苑    Tags:微服务   点击:(8)  评论:(0)  加入收藏
我是一名程序员关注我们吧,我们会多多分享技术和资源。进来的朋友,可以多了解下青锋的产品,已开源多个产品的架构版本。Thymeleaf版(开源)1、采用技术: springboot、layui、Thymel...【详细内容】
2021-12-14  青锋爱编程    Tags:后台架构   点击:(20)  评论:(0)  加入收藏
在了解连接池之前,我们需要对长、短链接建立初步认识。我们都知道,网络通信大部分都是基于TCP/IP协议,数据传输之前,双方通过“三次握手”建立连接,当数据传输完成之后,又通过“四次挥手”释放连接,以下是“三次握手”与“四...【详细内容】
2021-12-14  架构即人生    Tags:连接池   点击:(16)  评论:(0)  加入收藏
随着移动互联网技术的快速发展,在新业务、新领域、新场景的驱动下,基于传统大型机的服务部署方式,不仅难以适应快速增长的业务需求,而且持续耗费高昂的成本,从而使得各大生产厂商...【详细内容】
2021-12-08  架构驿站    Tags:分布式系统   点击:(23)  评论:(0)  加入收藏
本系列为 Netty 学习笔记,本篇介绍总结Java NIO 网络编程。Netty 作为一个异步的、事件驱动的网络应用程序框架,也是基于NIO的客户、服务器端的编程框架。其对 Java NIO 底层...【详细内容】
2021-12-07  大数据架构师    Tags:Netty   点击:(16)  评论:(0)  加入收藏
前面谈过很多关于数字化转型,云原生,微服务方面的文章。虽然自己一直做大集团的SOA集成平台咨询规划和建设项目,但是当前传统企业数字化转型,国产化和自主可控,云原生,微服务是不...【详细内容】
2021-12-06  人月聊IT    Tags:架构   点击:(23)  评论:(0)  加入收藏
微服务看似是完美的解决方案。从理论上来说,微服务提高了开发速度,而且还可以单独扩展应用的某个部分。但实际上,微服务带有一定的隐形成本。我认为,没有亲自动手构建微服务的经历,就无法真正了解其复杂性。...【详细内容】
2021-11-26  GreekDataGuy  CSDN  Tags:单体应用   点击:(35)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条