微服务、中台思想、区块链是软件行业的热词,这些词汇有一种铺天盖地的感觉,交流时没有涉及到这些似乎难以启齿,但真的懂了这些背后的本质和来龙去脉而不是人云亦云?
微服务
先说微服务,它似乎是一颗新的救命稻草和银弹,不管它是否适用都往上扯。微服务真的是前所未有的新技术新概念?其实不是,微服务就是SOA服务化中的细粒度服务而已,不是啥新技术。在微服务这个热词出现之前,根据实际需要,在系统架构设计中拆分出细粒度的服务是很平常的事情。服务注册服务发现、服务注册中心、服务网关、服务治理、限流熔断等都是很早就有,也不是啥新鲜玩意。
在架构设计中对系统做适当粒度的拆分(分解)才是关键,不是微服务,当然并不排斥微服务。如何进行架构分解,强烈推荐本人的这篇文章:软件架构分解。如何拿捏好是否"适当",就是要在考虑系统的业务量和面临的具体痛点、团队结构和人力和所所熟悉的技术栈、上线时间期限、配套的运维体系成熟度等基础上,进行权衡,来对系统进行适当粒度的服务拆分,微服务可能并不适用于实际情况。当然随着容器化的兴起和服务化框架的成熟完善,比较便利微服务的开发部署而已,并不说明微服务就是银弹,在不合适的阶段,过早拆分得过细,反而增加开发、运维成本和数据不一致的可能性。
spring cloud这些所谓的微服务框架,也是为了蹭微服务的热度,对粗粒度的服务照样可以使用spring cloud。
中台思想
大中台+小前台,敏捷灵活支持业务。基于阿里的影响力,中台思想也是很多人嘴中的大词热词,显得很高深。在熟悉SOA服务化的人看来,这个中台思想也不是啥新鲜玩意,在架构设计中很早就在使用,它本质上就是IBM的SOA参考架构模型,参考架构是一个架构模板,模型如下图。
对中台的这种理解,不是一家之言,在工作交流中和提出这个思想的公司架构师做过确认。
这个模型和DDD领域驱动设计中的服务分层分类(应用服务-》领域服务&领域对象,可以根据其在业务处理流程中的位置继续分层-》基础设施服务)是类似的,对DDD中应用服务和领域层服务的透彻理解见充血模型中的职责分配。
在分层架构中,无论是技术中台、业务中台或组织中台,中层都是起到承上启下的作用。
第一层Consumers层就是前台应用,贴近用户,它提供各种方便用户使用的通道channel。
第二层是流程和服务编排,组合下层的服务。DDD中的应用服务(前台应用自身的应用服务)可位于第一层中,有时也可在第二层。
第三层对应中台思想中的业务中台,这些服务是抽取各个业务线的共性需求,向下沉淀,通过服务化把这些能力开放出来。可见这些服务是比较稳定的,对应DDD的领域层服务(领域服务和领域对象),它们是可重用的,可被多个前台应用共享的。在一个具体的架构中,就是各种服务中心,例如订单中心、用户中心。
IBM SOA参考架构中还有更底层的服务,例如基础设施包括中间件,这个就是业务后台或技术后台、数据架构和业务职能BI(把这个服务化就是数据中台)、服务治理框架等。
参考架构并没有限制不能使用DDD和微服务,抛开参考架构中的ESB后,中台思想和IBM SOA参考模型本质上没有区别,SOA参考架构是抽象的模板,概念模型,而中台这种说法更形象更通俗易懂而已,管理者和不怎么懂SOA的人大多也能听懂,也就是中台只不过是SOA服务化换了个马甲而已,是SOA服务化进行到深入发展阶段而落地和演绎出的一种形态,本质上没区别。
大规模的深入的服务化改造,还涉及到组织结构的调整,这个就是康威定律所讲的内容,到一定的发展阶段,组织架构要和系统架构对齐,保持一致,打左灯向右拐是要出大事的。
综上,从SOA服务化分层架构和DDD服务分层分类可以看出,叫或不叫中台,中台原本早就在那里,不增不减。对那些不熟悉SOA服务化和少见多怪的,也可以认为是把后台中贴近前台的一些业务逻辑(功能)划分出一层而产生中台或抽取前台应用中有共性的一些业务功能,沉淀而成。在熟悉架构分解本质和SOA服务化以及DDD(领域驱动设计)本质的人眼中,微服务和中台不是什么新概念,新瓶装老酒换了马甲而已。
区块链
单纯的区块链技术真能保证数据真实?其实它保证的是不能篡改数据,并不能保证数据真实性。单纯采用区块链技术,并不能避免虚假的数据写到链上,如果发生这样的事情,此时它保证的是链上的虚假数据不能被篡改,假的真不了改不了。
没有慧眼,不了解技术和思想的本质、来龙去脉和演化过程,换个马甲就不认识了,容易被人忽悠迷惑和偷换概念,要有洞察本质、融汇贯通的能力。
相关推荐
苏宁数据中台包含多个子项目,例如Olap负责数据的加速和查询,百川是指标平台,UDMS管理维度和维表,天工是报表设计平台,而慧眼则作为一个统一的报表门户,处理复杂的报表权限管理和自动化匹配。每个子项目都通过...
【苏宁数据中台基于Spring Cloud微服务架构实践】 在当今的IT行业中,微服务架构已经成为企业级应用开发的重要模式,而Spring Cloud作为其中的佼佼者,为许多大型企业提供了构建分布式系统的强大工具。苏宁数据中台...
这些技术有助于提高遥感数据的质量,使其更准确地反映地表状况。 在遥感的应用方面,本书会探讨遥感在环境监测、灾害评估、城市规划、农业遥感等方面的实际案例。这些案例分析将帮助读者理解遥感在解决实际问题中的...
9. **版本更新与技术支持**:"free2.12"表示这是一个免费版本,且至少经历了2.11版本的迭代优化,通常意味着软件在稳定性和功能性上有一定的保证,并可能有持续的技术支持和更新。 由于提供的文件列表中只有一个名...
首先,我们要理解大数据在商业地理中的核心价值。大数据不再仅仅是对海量信息的简单堆积,而是通过挖掘、分析这些数据,找出隐藏的模式、趋势和关联,为企业的战略规划、市场分析、客户行为研究等提供有力支持。百度...
总的来说,"中科慧眼S1双目相机SDK"是一个为开发者提供的强大工具,结合ROS和Qt,能够帮助他们构建基于双目视觉技术的智能应用。通过学习和使用这个SDK,开发者可以深入理解3D视觉原理,开发出能够感知环境深度、...
《慧眼识鹰:销售人才的甄选与诊测技术》是龙平先生关于销售团队建设和人才培养的重要分享,这份62页的资料深入探讨了在互联网时代如何有效地识别和选拔优秀的销售人才。以下是对这份资料内容的详细解读: 首先,...
在IT行业中,爬虫技术是数据获取的重要手段,特别是在大数据分析和研究中。这个压缩包“基于Python的百度地图慧眼迁徙大数据爬取源代码.zip”提供了利用Python编程语言来抓取百度地图慧眼迁徙大数据的源代码。下面...
在可行性分析中,开发者们对慧眼APP的技术可行性、数据可行性和应用可行性进行了分析。他们讨论了慧眼APP的技术架构、数据来源和应用场景,证明了慧眼APP的可行性。 在环境搭建中,开发者们介绍了环境搭建的重要性...
该文档提供了一个完整的技术指标公式源码,涵盖了主图源码和选股源码两部分,对于技术分析和选股策略的实现非常有价值。 关键词:通达信指标公式源码,慧眼BS主图源码,技术指标,选股策略,指数移动平均线,SLOPE...
在本文中,我们将详细介绍苏宁数据中台的架构实践,以及数据中台对企业运营和IT系统升级带来的价值。 首先,苏宁数据中台是一个大型的项目群,它涉及数据的采集、存储、加工、分析和服务等多个环节。在数据加工和...
"慧眼1号(主图)"是通达信中一个自定义的技术分析指标,主要用于帮助用户识别市场的趋势变化和支撑压力位。下面将详细解释这个指标的主要组成部分和其背后的计算原理。 1. **移动平均线** (EMA): 慧眼1号主要基于...
慧眼K线主图指标通达信指标公式源码是一个技术指标公式,用于股票市场分析和预测。该公式由多个变量和函数组成,用于计算和绘制各种技术指标线。 第一个变量MID是移动平均线,计算公式为:MID = (3*CLOSE+LOW+OPEN+...
2. 学情分析:三年级学生对交通话题感兴趣,但可能还未充分认识到交通发展中存在的问题及其解决策略,需要教师引导他们理解交通的正反两面,并培养遵守交通规则和环保出行的习惯。 3. 教学目标: - 知识与能力:使...
慧眼X30扫描仪驱动程序是一款可以有效解决慧眼X30扫描仪在使用过程中出现的一些问题的驱动工具,本站提供了慧眼X30驱动下载地址,有需要的朋友们可以前来下载使用。 慧眼X30是由lanxum推出的一款高性能扫描仪,小编...
慧眼lanxumx1扫描仪驱动是一款专门为用户打造的慧眼扫描仪驱动程序,主要为用户解决扫描仪无法被识别或者无法被连接等问题,有需要者欢迎下载!产品介绍慧眼LanxumX1扫描仪驱动由慧眼官方推出,主要用于解决慧眼...
苏宁数据中台技术架构实践是一个关于构建高效数据处理和分析平台的详细方案。在这个架构中,关键组件包括OLAP(在线分析处理)、百川、天工和慧眼,它们共同为企业提供标准化、归一化的数据服务。 1. OLAP(在线...
《最新部编版小学三年级道德与法治下册第十二课慧眼看交通》是一份针对小学生设计的课程练习,旨在帮助孩子们理解和掌握交通安全以及交通发展对社会的影响。这节课的主题是引导学生观察和理解日常生活中的交通现象,...