中台和api网关(中台网关作用)

网友投稿 594 2023-03-04


本篇文章给大家谈谈中台和api网关,以及中台网关作用对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享中台和api网关的知识,其中也会对中台网关作用进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

API接口自动化识别,API智能识别平台

通过 API智能识别平台 ,可以把所有业务系统的能力进行识别,并创建为标准化的Restful API,然后再进行集成。

RestCloud API智能识别平台可以实现AI智能识别业务系统API接口,实现已有业务系统能力及数据高效开放、快速集成,加快企业系统集成过程,快速实现企业数字化转型步伐。
企业在进行系统集成的过程中,需要面对各种类型的集成接口以及专有业务系统的接口集成,而这个集成过程给集成工作带来了很大的挑战和工作量,通过API智能识别平台的自动化识别接口则可以降低难度,简化工作量,大幅地提升这个过程。API智能识别平台快速实现从传统的ESB平台迁移到API集成中台,让企业遗留的业务系统快速服务化。

多数企业会有很多遗留的业务系统,包括B/S以及C/S的业务系统,这些业务系统通常是不具备API接口的,开放比较困难,如何复用这些系统的能力及数据是个令人头疼的问题。而通过API智能识别平台就可以很好的解决这个问题,通过RestCloud的智能识别平台,能自动识别业务系统的API接口可以快速地把遗留业务系统的能力和数据开放出来。

通过API智能识别平台,企业从传统的ESB平台迁移到API集成中台的过程中遇到的大量接口问题,通过API智能识别平台可以实现快速的自动化迁移工作,比手动的效率大幅提升,并且可以实现业务系统平滑接入到API集成中台。

通过API智能识别平台可以大幅地降低企业对原有系统厂商的依赖,提升API集成中台项目的实施速度。
API接口智能识别功能

1、Restful WebService自动识别

支持智能识别业务系统中的API以及WebService接口并排除掉非API接口操作。

2、自动注册并一键发布

识别到的API接口可以一键注册到API网关中并以公开服务的能力对外统一提供服务,并实现对API的统一监控、日志审计、缓存加速、异常预警、熔断降级等功能。

3、智能识别API参数

API智能识别平台 能智能识别业务系统API中的参数并可对输入参数进行一步的校验和个性化的转换配置。

中台建设需不需要审批中心

开宗明义:要建设中台,需要考虑组织、支撑技术、方法论这三个方面,往往还需要咨询服务。
中台作为一种有业务属性的共性能力,首先就需要一个懂业务、承担业务职责的专职的组织机构来负责。要不要建中台,首先要看领导有没有魄力去整合建立一个中台组织。因为原来的平台部通常不懂业务,懂业务的人各自分散在前台业务部门,所以建立中台组织往往涉及人员、组织架构和部门职责的调整。正因为如此,中台的建设往往需要作为一把手工程才能成功。
中台组织关键要懂业务和承担业务职责。举个例子,一个大数据平台的建设运维团队不是一个中台组织。一个团队如果做了非常完善的中台产品(如开发了数据中台所需要的指标管理系统、数据仓库开发系统、数据质量管理系统等等),但只是把产品提供给业务方使用,这个团队仍然不能说是中台组织。只有当这个团队承担起指标体系的建设和管理、数据仓库的设计和实施、数据质量的保障等工作时,才可以说是中台组织。而要做到这一点,这个组织肯定是比较了解业务的,它的目标和考核也一定与业务有相关性(肯定不只是平台稳定性这样的非业务指标)。
中台组织的层次与中台的层次最好是对应的,BU级的中台组织最好直接向BU老大或分管的CXO汇报,企业的中台组织最好直接向CEO或分管的CXO汇报。
这里特别说明一点的是如果不建设在线业务中台,而只是采用微服务、云原生等技术的话,可以不涉及组织方面的大规模变动,就在原来的研发部实现转型。通常来说也可以实现一定的系统可用率、弹性和研发效率方面的提升。
中台建设的支撑技术
建设中台一般需要一套支撑技术。
一、在线业务中台支撑技术
建设在线业务中台一般需要云原生、DevOps、微服务技术体系的支撑,这是因为:
微服务技术:中台是一个独立的组织负责并为多个前台业务服务,因此需要一个标准的服务接口、成熟的服务治理能力和高效的敏捷研发技术。在当前的技术环境下,采用地球人都熟悉的REST风格的同步API、消息队列异步通信作为标准的服务接口技术,采用服务框架(如Spring Cloud等)、API网关、APM等作为标准的服务治理和敏捷研发技术是最合适的选择。不再建议采用传统的基于ESB的服务化(SOA)技术,因为ESB产品过多的介入到业务逻辑中,导致前台业务的变更往往需要中台团队的配合才能完成,这样就失去了建设好中台,支撑前台高效创新的意义。此外,中心化的ESB软件和复杂的基于XML的WS-xxx等协议也影响到系统的可用性和性能。可以参见Martin Fowler在P of EAA中的评价,Web Services是应用集成而非应用开发的技术。
DevOps技术:如果不通过DevOps使得各微服务都能自助式的部署更新,则微服务带来的敏捷性就无从发挥,反而因为服务数量的增加导致研发效率的下降,因此持续集成、持续发布等DevOps技术一般是实现微服务的必备。
云原生技术:微服务和DevOps要求底层的基础设施是灵活可编程的,否则根据Amdahl定律,只要有一个必须的环节是低效的,整体的效能也提不上去。
需要强调的是中台要敏捷,这一方面是因为中台具备业务属性,且支撑了非常丰富的前台业务,前台业务的敏捷性要求有一部分就会传导的中台层;另一方面是中台的重要性使得其需要持续不断的优化,即便对外提供的服务不变,内部实现也会经常变。
分布式事务技术:实施微服务拆分后,复杂的业务流程不再能通过数据库的事务机制来实现ACID特性,为此还需要服务层面的分布式事务处理技术。典型的分布式事务处理模型包括TCC、Saga、FMT等。其中TCC和Saga需要各服务实现定制化回滚逻辑,侵入性比较严重,用起来门槛比较高。FMT模式对于Java可以做到加一行注解(如@GlobalTransaction)即可实现分布式事务,剩下的由框架自动处理,用起来方便的多。Saga模式是Princeton的两位研究者在1987年提出的,灵活性和并发度最好,但需要通过语义锁等精细的设计才能发挥出来。
由此可见,在线业务中台的技术支撑体系是相当复杂的,所幸的是Netflix、Google等世界领先的互联网企业由于自身业务需要打造了很多实用的技术模块,开源社区也贡献了不少力量,CNCF组织又做了很好的汇集和标准化。通过将相关技术加以整合,已经有了不错的产品可用,如网易轻舟微服务就是一套产品化设计良好、功能丰富的在线业务中台支撑技术产品。
一般而言,前台也会和在线业务中台一样采用云原生等同样的技术体系,这是因为前台更需要敏捷性。在完善的中台支撑之下,前台会比较轻,还可以考虑采用FaaS Serverless技术,不过目前这方面的实践还不多(特别在中国),相关的支撑技术也不是很成熟。
二、数据中台支撑技术
建设数据中台一般需要一整套如下典型的支撑技术:
指标管理系统:指标是中台与前台之间最关键的接口,也是建设数据中台的牛鼻子,因为它是最核心的业务语言,且指标不一致、数据常出错是建设数据中台最常见的出发点。如果指标体系没有统一的方法论,进行统一建设,那么就很难说是数据中台。指标管理系统一般要实现一套一致的方法论(如原子 / 派生 / 复合指标、维度、修饰词等),做好指标的业务和技术口径管理,还需要支持指标的审批管理。数据中台的指标无法交给各前台业务自助式的建设。
数据服务系统:类似于在线业务中台需要通过API网关提供标准化的服务,数据中台也需要一个标准化的服务方式,通常称为数据服务系统,也可以说是数据网关或数据门户。类似于别的网关类产品,数据服务系统需要提供鉴权、日志审计、流控、协议转换(如SQL Dialect之间的转换)等功能,也应该发展多引擎融合查询、逻辑模型等扩展功能以提高服务接口的稳定性和实现的灵活性。
元数据管理系统:元数据管理是整个数据中台的基础和中心,所有的其他系统都依赖元数据管理。元数据管理首先要做好的当然是数据模式或目录(catalog)的管理,至少要知道中台里都有什么数据。对复杂的数据中台来说,数据血缘也很重要。没有血缘信息,不知道数据间的依赖关系,数据质量肯定管不好,因为不知道一个数据的质量问题怎么来,又进而会影响什么。同样的如果没有血缘,数据资产也肯定管不好,因为不知道什么数据有价值什么没价值,这就像如果你不知道一个函数被谁调用,你就不知道它是不是死代码一样。元数据管理系统往往也需要提供一个基础的访问界面,通常称之为数据地图。
数据仓库开发与管理系统:除了指标管理,数据仓库的开发是将一大堆初始数据建设梳理成一个漂亮的数据中台的核心过程。一般来讲数据中台更适合用Kimball的维度建模方法而非数据仓库之父Bill Inmon所提倡的方法,这是因为Inmon强调顶层设计,而Kimball强调至下而上。如果要建设数据中台,肯定是因为前台业务复杂多变,这时强调顶层设计会导致中台建设缓慢、僵化。因为中台虽然应该是由组织高层决策,但目的却是为了支持前台业务,而不是为了控制。支持而不是控制,这一点绝不能本末倒置。
数据质量管理系统:所有复杂的系统都需要专业的质量管理,在线业务系统有一系列的弹力设计和APM等监控运维工具,数据中台也需要专业的质量管理。数据质量管理系统通常设计为支持丰富的稽核 / 校验 / 比对规则,监控数据是否准确、实时、一致,还要做到及时的报警,分析影响面,提供快速修复的手段等。但这些手段只能发现和补救问题,不能预防问题,要预防问题,还要通过测试工具减少代码bug、通过资源弹性应对性能波动、通过优先级调度优先满足重要业务需求等。相对来说,当前数据中台领域的质量管理没有在线业务领域的成熟,如在线业务领域的测试手段远比数据领域的精细,在线业务领域很常见的熔断、限流、服务降级等模式在数据领域都没有成熟的实践方法(优先级调度可以说是实现了部分的服务降级功能),随着数据中台越来越广泛和重要,这些技术应该也需要持续发展,但技术上的挑战不小。
数据安全管理系统:数据中台因为汇集了组织所有有价值的数据资产,因此良好的安全管理是必须的。细粒度的权限和审计是基础,一般的还需要隐私 / 敏感数据的脱敏处理、数据加密(特别是将数据托管在第三方平台之上时)、数据泄漏防护(比方说一种常见的方法是限制将数据下载到本地的数据量)等技术。发展到高级阶段甚至可能还需要联邦学习、数据沙盒等技术。
数据资产管理系统:在数据质量和安全单列的情况下,数据资产管理主要负责的是数据的生命周期管理、成本的统计分析与优化等工作。
同时,数据中台还需要强大的大数据计算引擎、数据集成 / 同步 / 交换引擎,还往往需要一套敏捷BI系统:
大数据计算引擎:数据中台要管理的数据规模和复杂度往往都很高(否则搞中台属于为赋新词强说愁),所以传统的数据库和数据仓库基本上支撑不了。当前的技术环境下,基于Hadoop MapReduce或Spark几乎是唯二的选择,当然这也包括了这两者之上的Hive和Spark SQL。能用SQL就用SQL,易于维护,也易于数据血缘的收集。除此之外,流处理可能还需要Flink,交互式查询可能要引入Impala或GreenPlum。
数据集成 / 同步 / 交换引擎:一方面数据中台需要强大的数据集成和同步能力才能吸纳各方数据。集成和同步的概念相近,同步更强调实时性。另一方面,数据中台往往由多种数据计算引擎构成,就需要同步或交换引擎实现不同引擎见的数据交换。
敏捷BI系统:建设数据中台通常最重要的目的是为了支持业务运营和决策,为此需要基于数据中台进一步开发数据产品。敏捷BI系统是开发数据产品快速、轻型的手段,能够尽快尽早的发挥数据中台的价值。
此外,对于互联网业务,统一的埋点引擎往往也是数据中台所需要的。如果埋点的逻辑都不统一的话,建数据中台的时候会发现数据的源头就是乱的,后续也都没法做。其他行业业务,数据采集也属于基础工作,也是要先做好的。
由此可见,建设数据中台需要的技术支撑体系也是相当的庞大,复杂。所幸的是这十年来Google等领先的企业、Hadoop / Spark等开源社区以及大量的厂商大致联合探索出了一条可行的路径,方法论和技术路线都比较统一了。以此为基础,就可以提供较成熟的数据中台技术支撑产品,如网易杭研研发的“网易猛犸V6.0 + 网易有数”就是一套较完整的数据中台产品。

大规模微服务场景下灰度发布与流量染色实践

最近微服务很热,与微服务相关中台和api网关的架构、流程、DevOps都很热。很多公司,包括传统企业,到互联网公司做交流的时候,会问道,你们互联网公司号称能够加速业务创新、快速迭代,那我们是否也可以引入类似这样的机制。

我们做微服务,主要分为两个方面,一个是业务方面,另一个是技术方面。最下面是运维部,不过现在我们的运维部已经拓展成云计算,DBA里的数据管理部门,已经发展成大数据,于是就有中台和api网关了技术中台和数据中台,另外还有共享用户中心的业务中台,总体构成了下层的中台部门,在上层业务一定要做微服务化。业务和技术互相合作,做到加速创新的效果。
有很多人说,我们也上了微服务,但是会发现上微服务以后,看起来很好的东西,为什么用起来一团乱麻。

我们拜访过很多业界同仁,发现实施微服务之后,有以下痛点:
我们发现大家对微服务有很多误解。比如,一般做微服务的时候,很多人都会问微服务怎么拆,告诉我一个拆的最佳的实践,但是其实,根据我们的实践来讲,微服务不仅仅是微服务拆分,微服务拆分只是十二个要点的其中之一。

十二个要点分别是:
我们建议,先把前三个基础打好,再进行拆分,而不是什么技术、平台、工具都没有,直接把自己的传统应用拆得七零八落。同时,值得再强调的是第一条,微服务化的基石:持续集成。微服务绝不是让大家关起门来用三个月的时间拆出来,就直接上线。而是应该不断地集成、迭代,是渐进式的模式。另外,微服务也不仅仅是个技术问题,它还涉及到IT架构、应用架构、组织架构的改变。
接下来给大家讲一下网易微服务和DevOps的实践过程。

我们整个DevOps,也是经历了几个过程。第一个和大家都一样,当服务比较少的时候,开始手工化的方式,后来手工不行了就变成了脚本化的方式,再后来因为开源有很多的工具可以用,变成了工具,而后变成一个平台,最后变成一个统一的DevOps的平台。
首先,第一个阶段就是手工化。可能很多企业一开始都会存在这样的阶段,开发和运维之间的隔阂比较严重,老死不相往来。开发负责写代码,线上的运维、发布,以及SLA的保障,都是运维进行管理的。由于服务相对比较少,用物理机部署,基本上是一个单机应用加一个Oracle就可以搞定。
后来,随着业务的发展,服务越来越多。这个模式和原来还是没有变,开发和运维部的隔阂依旧存在。但是,运维发现接的需求越来越多,需要部署越来越多,需要一个环境隔离的方式,因此一般会上一个虚拟化系统,业内主流是用VMware。这时候的部署方式一般是,Oracle部署在物理机上,其他业务系统都是部署在VMware上。部署东西多了,运维开始使用批量脚本试图解放人力,这属于第二个阶段-脚本化的阶段。虚拟化带来很多的优点,比如,粒度灵活,隔离性得到一定保证,不会在一台服务器上部署很多东西。

但是这个阶段也有非常多的问题。比如说发布脚本、逻辑相对复杂,时间长了以后,逻辑是难以掌握的。而且,如果你想把一个脚本交给另外一个人,也很难交代清楚。

另外,并且脚本多样,不成体系,难以维护。线上系统会有Bug,其实发布脚本也会有Bug。

虚拟机大量地依赖于人工的调度,需要运维人员非常清楚,要部署在什么地方。另外VMware还有一个问题,它使用共享存储,会限制整个集群的规模,因为此时的应用不多,这个程度的规模还可以接受。

线上的高可用性,业务层的开发人员不会做任何事情,他认为是线上一旦出事,应该由运维集中处理,迫使运维服务的发布人员依赖虚拟化机制,来提供高可用机制。我们都知道VMware有非常著名的简化运维的高可用机制,比如FT、HA、DR等类似的机制。如果我们是从IT层来做高可用,有一个缺点,作为基础设施层来讲,它看上层没有任何的区别,所以没有办法区分业务优先级。比如说FT的模式,跑CPU指令,它不知道这是最核心支付的指令、还是日志的指令,再如数据中心之间的同步,存储层是无法区分交易数据和日志数据的。
另外网络、虚拟化、存储等基础设施,没有抽象化的概念,复杂度非常高,开发接不了这个工作,必须依赖运维,就要审批。由统一的一帮人来做,而且他们要考证书,比如,网络要有思科的证书,虚拟化要有VMware的证书,要特别专业才能做这件事情,因此会极大地降低迭代速度。业务方无论做什么事,都要走审批,运维部的人根本忙不过来,这是第二阶段的问题。
后来是怎么改变了这个问题中台和api网关?首先是业务层,业务层接的需求越来越复杂,迭代速度要求越来越快,这个时候单体应用跟不上了,需要进入服务化的架构,工程要拆分,要开始基本的注册发现,要实现自己的RPC。
应用层的改进会带来应用层的问题。比如,服务雪崩的问题。大量的请求堆积,一个进程慢了,把整个链路也都变慢了,所有人都在等着它缓过来。我们要进行熔断,快速尝试另外的服务。原来依赖很多内网负载均衡以及硬件负载均衡的维护代价比较大,一旦出现任何问题,就会引来抖动的问题。所以相应的要有快速恢复、快速熔断的机制,一旦发现错误以后,我们要能够尽快的重试。
以上就是应用层的问题,经过了一段时间的解决,又引入了新的问题。我把它称为“云原生怪圈”,应用向云原生的(Cloud Native)。它包含两个层次,第一个层次是应用层的服务数目会增多。第二个层次是资源层申请速度的灵活性会相对增加,这两个层次形成了一个圈。每家公司可能都存在这个圈,无论是从哪个起点开始,这个圈都可能会被激活。

一个起点是,很多公司的上面是单体应用,但下面先采购了容器,资源申请灵活性大幅度提高了。一旦灵活性提高了以后,会给应用层释放很多动力。原来申请一百个机器需要一个星期的审批流程,这时能不拆分就不拆分。而现在有了容器,他会认为我有了这么好的工具,我可以进行拆分了,反正不费劲,任何一个小部门创建一个小的环境都不费劲。
另外一个起点,先是应用层服务数目增多,给资源层越来越大的压力,然后会使得你原来七八点下班,现在变成十点多下班,然后十二点下班,压力越来越大,就会想办法增加资源层的灵活性。这个圈在整个DevOps的过程中会一直产生的。

微服务化了以后,我们会发现存在以下几个现象:
接下来进入到云计算的平台。有很多人不理解云计算和虚拟化都是运用了虚拟化的技术,两者之间到底有什么不同。其实云计算带来了非常大的不同,甚至是本质上的不同。如果你们内部上了一个云平台,或者上了公有云,但是你没有感受到资源申请的灵活性,那肯定是有些姿势用得不对。

这里,我总结了一下云计算带来的改变,主要有三大方面,分别是统一接口、抽象概念,租户自助。正是因为这三大方面,使开发和运维不像原来那样,有那么深的隔阂,而是开始逐渐互相靠近,开发部或者业务部开始进行一定的自助。
在这个阶段,要实现微服务框架与开源技术栈的统一。一开始微服务做的比较混乱,有用Spring Cloud,有用Dubbo的,需要一个统一的开源技术栈。另外,还要构建一个持续集成的平台,通过Agent和虚拟镜像部署软件包。
统一微服务框架之前,我们情况是这样的,一开始用服务注册服务发现,还是比较简单的。后来发现,我们还需要分流、需要降级、配置中心、认证鉴权、监控统计等,在业务代码之外加的越来越多,大家的代码写得到处都是,而且依赖于不同人的水平不一样,有的人写得好,有的人写得差,这就是一个当时遇到的问题。
后来我们就把它抽象成为了一个Agent,这个Agent在程序启动的过程中,通过jar直接带起来,使得统一的服务框架组件在Agent里面实现,并且提供统一的界面进行配置,这样业务方可以只写业务代码,基本上就搞定了这件事。
这样就形成了一个统一的微服务治理平台,并且后期会和Service Mesh做一定的融合。
因此解决了这些问题:
这时就有了发布平台。我们会把包放统一的对象存储上,通过Agent以镜像的方式进行下发。
这是我们的成果,内部都在用这款基于虚拟镜像的发布平台。
接下来又引入了新的问题,比如难以发现故障点、要引入故障注入服务,API版本混乱,这时需要引入API网关。
基于虚拟镜像的发布也很混乱,因为部署的应用越来越多,我们发现虚拟镜像的模板越来越多,会出现上千个无法复用的模板,好像每个小组织都有自己的一个东西,毕竟它还不是一个标准,所以接下来我们就拥抱了容器的标准。并且Auto Scaling原来是基于虚拟镜像的,现在使用Kubernetes来做,同时实现了分布式事务。
到了这个阶段,中间加了Kubernetes这一层。这里的更新包括,OpenStack可以做物理机的下发,Kubernetes作为统一的对接资源的编排平台,无论是VMware上,还是KVM机器上,还是物理机上,公有云上,上面都可以有Kubernetes统一平台。这个时候只需要对Kubernetes下发一个编排,就可以实现跨多个地方进行部署。

在基于虚拟机的运行环境和PaaS中间件之外,基于Kubernetes也可以有自己的容器镜像和运行环境,以及基于容器镜像PaaS中间件。发布平台原来是对接API的,现在有了Kubernetes以后,它可以非常平滑的通过统一的平台切换到Kubernetes上,所以,做一个发布平台,后面的对接还是比较标准的。

应用层也会越来越多,比如说有基于容器镜像的弹性伸缩,服务网格,分布式事务,故障注入等。
有了Kubernetes以后,就进入了Dev和Ops的融合阶段。这时我们发现,当服务数目再增多的时候,运维的压力也更大,如果所有的东西都要运维来做,其实是实现不了的。因此,我们建议环境交付提前,比如说一个容器镜像里面的子环境让开发自己去把控。他知道自己改了哪些内容、哪些配置,不需要通过文档的方式交给运维来做。容器镜像还可以做一个很好的事,它是非常好的中介,是一个标准,不论在那儿都可以,所以就产生了左边的太极图。运维会帮开发部做一些事情,开发帮运维做一些事情,这个时候进入了开发和运维融合的机制。
因为容器有非常好的分层的机制,如果开发不想写,可以让开发写大部分的基础环境。
另外一个建议叫不可改变的基础设施。当规模大了以后,任何一个节点出现了问题,都很难排查,所以我们建议对任何环境的修改,都要在代码的级别上修改。在部署平台之前,代码是代码,配置是代码,单实例运行环境Dockerfile是代码,多实例的运行环境编排文件也是代码。
持续交付流水线,是以Master和线上对应的,自己分支开发的模式。按需自动化构建及部署,线上环境还是需要人工触发的,但基本上是通过流水线代码处理的方式来做的。
容器化带来的另外一个问题,就是“云原生怪圈”再次起作用。服务规模越来越大,增加速度越来越快,需求指数性增加,大家都需要一个环境。比如一个集群一千个容器,如果三个小组各开发一个项目,想并行开发,每个人都需要一个环境,一下子需要三千个容器。这时候就需要中间件的灰度发布和流量染色的能力。
在最外层的网关上,可以做两个环境之间流量的分发,以及在微服务的Agent里面也可以做一个分发。最终,我们会有一个基准环境,就是Master对应的环境。
两个小组,一组开发了五个服务,另外一组开发了六个服务,他们部署的时候不需要一千个全部布一遍,只需要布五个,布六个。在请求调用的时候,从这五个里面互相调,不在这五个里面,在基准环境调,另外六个也是。这样就把三千个变成一千零十几个,环境大幅度减少。
这个时候环境的合并怎么办?环境合并和代码合并逻辑一致,统一在发布平台管理,谁后合并谁负责Merge。这是我们的一个效果,我们节省了非常多的机器。
有了流量染色功能,就可以做线上的灰度发布。这里我们会有几个环境,一个是预发类的环境,一个是小流量环境,还有一个主流的环境,测试的时候是可以进行染色。
我们以一天的整个开发周期举例子,每天早上初始化预发环境和小流量环境 开启引流,进入持续发布周期 代码发布到预发环境进行回归,预发环境为单节点部署 预发通过后发布到小流量环境,小流量环境三节点部署,滚动发布 小流量环境,开发测试及时跟进,观察异常情况,一旦碰到问题,第一时间关闭流量入口。相关问题定位debug可以在预发环境上进行 所有发布到小流量环境的版本合集,通过一个晚高峰的检测后,发布到线上环境。第二天同样是做此循环,每天都是这样的发布模式。
有了流量染色以后,还可以得到单元化和多机房的染色。如果我们做高可用,至少需要两个机房,那么就存在一个问题,当一个机房完全挂了怎么办?微服务框架可以把它引流到另外一个机房。服务请求之后,还应该回来,因为应该本机房优先,毕竟本机房的容量大得多。所以我们建议整个部署模式,总分总的部署模式。

首先第一个总,要有统一的发布平台,无论发布到哪个Kubernetes,都应该通过一个平台。其次,你应该有一个多Kubernetes统一的管理,有多个机房,就有多个Kubernetes,我们并不建议跨机房。然后,我们建议应用层要有统一的视图,即使Kubernetes出现了问题,应用层可以把流量切到另外一个环境。就是这样一个总分总的模式。
另外Kubernetes也面临升级的问题,它更新比较快,经常升级。虽然业界有各种平滑的最佳实践,但是很难保证它升级的时候不出事。一旦Kubernetes出现状况,你也不想停里面的应用,可以采用分流的方式。
最终形成了云原生架构的技术栈,包括CICD、测试平台、容器平台、APM、分布式事务、微服务框架、API网关一栈式工具链。

原文链接:https://mp.weixin.qq.com/s/UBoRKt3l91ffPagtjExmYw

关于中台和api网关和中台网关作用的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 中台和api网关的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于中台网关作用、中台和api网关的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:质量管理体系认证api(质量管理体系认证查询)
下一篇:如何设计接口(如何设计接口幂等性)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~