【总体】产品说明(云原生版)YonBIPV3.0(R5_2312_1)高级版用友网络科技股份有限公司用友网络科技股份有限公司1产品说明用友商业创新平台版权未经用友集团的书面许可,本产品说明任何整体或部分的内容不得被复制、复印、翻译或缩减以用于任何目的。本产品说明的内容在未经通知的情形下可能会发生改变,敬请留意。请注意:本产品说明的内容并不代表用友所做的承诺。用友网络科技股份有限公司用友网络科技股份有限公司2产品说明用友商业创新平台目录版权.................................................................................................................................................................................1第一章云原生介绍.......................................................................................................................................................51.1云原生和云原生应用.....................................................................................................................................51.2DevOps..............................................................................................................................................................51.3容器化..............................................................................................................................................................61.4微服务治理.....................................................................................................................................................71.4.1微服务框架..........................................................................................................................................81.4.2Saga框架...............................................................................................................................................81.4.3服务注册中心......................................................................................................................................91.4.4配置中心..............................................................................................................................................91.4.5全链路监控..........................................................................................................................................91.5中间件..............................................................................................................................................................91.5.1调度任务中心......................................................................................................................................91.5.2分布式缓存(redis)..............................................................................................................................101.5.3分布式消息服务器(MQ)....................................................................................................................101.6OpenAPI.........................................................................................................................................................10第二章最新iuapgPaaS整体介绍.............................................................................................................................11第三章产品架构.........................................................................................................................................................133.1技术上的亮点...............................................................................................................................................133.2配套服务与功能实现...................................................................................................................................13第四章产品特性.........................................................................................................................................................154.1YKS容器云......................................................................................................................................................154.1.1容器服务............................................................................................................................................154.1.2容器调度............................................................................................................................................154.1.3统一接入............................................................................................................................................154.1.4容器网关............................................................................................................................................154.1.5弹性伸缩............................................................................................................................................154.1.6服务自愈............................................................................................................................................164.1.7服务健康检查....................................................................................................................................164.1.8环境变量管理....................................................................................................................................164.1.9持久存储管理....................................................................................................................................164.1.10容器网络管理..................................................................................................................................164.1.11容器调试管理..................................................................................................................................174.1.12计算资源池管理..............................................................................................................................174.1.13镜像仓库..........................................................................................................................................174.2DevOps平台...................................................................................................................................................174.2.1产品管理线........................................................................................................................................174.2.2流水线................................................................................................................................................174.2.3部署管理............................................................................................................................................184.2.4版本管理............................................................................................................................................20用友网络科技股份有限公司用友网络科技股份有限公司3产品说明用友商业创新平台4.2.5代码构建............................................................................................................................................204.2.6持续集成............................................................................................................................................204.2.7持续发布............................................................................................................................................204.2.8升级回滚............................................................................................................................................214.2.9蓝绿发布............................................................................................................................................214.2.10灰度发布..........................................................................................................................................214.3微服务治理...................................................................................................................................................214.3.1服务注册中心....................................................................................................................................214.3.2限流服务............................................................................................................................................214.3.3RPC框架..............................................................................................................................................224.3.4异步化编程框架................................................................................................................................224.3.5数据一致性........................................................................................................................................224.3.6异步调用可靠性消息........................................................................................................................234.3.7服务心跳检查....................................................................................................................................234.3.8服务容灾............................................................................................................................................234.3.9配置中心............................................................................................................................................234.3.10全链路监控......................................................................................................................................244.4运维管理.......................................................................................................................................................244.4.1监控大盘............................................................................................................................................244.4.2变更记录............................................................................................................................................254.4.3告警中心............................................................................................................................................254.4.4产品管理............................................................................................................................................254.4.5日志中心............................................................................................................................................254.5微服务化.......................................................................................................................................................254.5.1微服务拆分........................................................................................................................................254.6中间件............................................................................................................................................................264.6.1调度任务............................................................................................................................................264.6.2分布式缓存(redis)..............................................................................................................................264.6.3分布式消息服务器(RabbitMQ)........................................................................................................26第五章产品范围.........................................................................................................................................................275.1业务员的错误中心.......................................................................................................................................275.2集团管理员的错误处理中心.......................................................................................................................275.3相关应用.......................................................................................................................................................27第六章产品主要功能................................................................................................................................................286.1云原生后总体交互原则...............................................................................................................................286.2跨微服务出错后的交互...............................................................................................................................286.2.1错误实时提示....................................................................................................................................286.2.2业务员的错误中心............................................................................................................................296.2.3单据列表错误显示............................................................................................................................296.2.4单据卡片错误显示............................................................................................................................306.2.5集团管理员的微服务处理中心........................................................................................................306.2.6错误追溯与处理................................................................................................................................316.3开发者中心...................................................................................................................................................326.3.1控制台................................................................................................................................................32用友网络科技股份有限公司用友网络科技股份有限公司4产品说明用友商业创新平台6.3.2容器服务............................................................................................................................................326.3.3DevOps服务........................................................................................................................................336.3.4资源审批............................................................................................................................................346.3.5微服务治理........................................................................................................................................356.3.6监控服务Hubble................................................................................................................................406.3.7系统管理............................................................................................................................................426.3.8数据同步............................................................................................................................................436.3.9应用配置............................................................................................................................................43第七章特别注意事项................................................................................................................................................477.1使用环境要求...............................................................................................................................................477.2领域应用注意事项.......................................................................................................................................477.2.1生产制造............................................................................................................................................477.2.2会计平台............................................................................................................................................47用友网络科技股份有限公司用友网络科技股份有限公司5产品说明用友商业创新平台第一章云原生介绍1.1云原生和云原生应用云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论。云原生既包含技术(微服务,容器,敏捷基础设施),也包含管理(DevOps,持续交付等),是一系列Cloud技术、企业管理方法的集合。云原生(CloudNative)是一个组合词,Cloud+Native。Cloud表示应用程序位于云中,而不是传统的数据中心;Native表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳姿势运行,充分利用和发挥云平台的弹性+分布式优势。以下是CNCF对云原生的重新定义:云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。如下图所示:图:云原生定义这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。这是新定义中描述的代表技术,其中容器和微服务两项在不同时期的不同定义中都有出现,而服务网格这个在2017年才开始被社区接纳的新热点技术被非常醒目的列出来,和微服务并列,而不是我们通常认为的服务网格只是微服务在实施时的一种新的方式。以云原生技术构建和运行的应用程序叫云原生应用,云原生应用架构包含三个特征:容器化、微服务和DevOps。YonBIPV3.0(R5_2312_1)高级版构建于技术中台iuapgPaaS之上,完全基于新一代技术栈--云原生技术构建并运行,进行了大型企业级应用的微服务拆分,具备容器化、DevOps、灰度发布、持续交付、以及微服务治理等先进特征。1.2DevOpsDevOps提供了针对各种类型的项目应用进行快速迭代开发的持续集成功能,以可视化的方式实现应用的集成、测试、发布自动化,并提供在线控制台及日志,进行故障分析与排查,以Docker镜像为应用交付载体,用友网络科技股份有限公司用友网络科技股份有限公司6产品说明用友商业创新平台一次构建,到处运行,平台自动生成子域名,让应用自由接入。基于持续集成、流水线、持续部署、配置中心、多套环境等基础服务,建立了日志管理、应用版本升级管理、应用性能监控、用户行为监控等应用服务,实现DevOps理念在企业IT生产中的应用,降低产品研发迭代生产中的成本,提高研发效率。开发人员按照经典模式进行代码开发,提交代码编译出盘后根据服务配置信息进行服务的拆分,可以根据客户不同的需要拆分出不同的服务,然后将服务生成镜像推送到镜像仓库,如下图所示:图:DevOps微服务可分可合,按需部署产品优势如下:服务可分可合:云原生微服务支持可分可合,按需部署。可维护性强:在新版本崩溃或有问题的情况下快速回滚。上线快:简化交付过程,大幅减少上线时间。产品质量高:由于开发、测试和运维团队紧密合作,产品问题尽早暴露,帮助开发团队提高产品开发质量。开发风险低:在软件交付生命周期中包含了风险控制方面的内容,有助于降低项目研发风险。1.3容器化容器服务提供基于容器的运行时服务,采用Kubernetes的容器调度方案,能够支撑企业级容器化应用的全生命周期的调度与管理,为其提供高性能,可自动扩缩的容器应用管理能力,同时与DevOps服务及微服务高度融合,为企业业务快速变化提供高效稳定的全方位服务;应用服务以镜像的方式存在Docker镜像仓库里,通过容器服务,当大量用户涌入时,可以快速扩容,这样即使部署更多的应用实例,非专业运维人员也能轻松搞定,容器服务弹性伸缩流程如下图所示:用友网络科技股份有限公司用友网络科技股份有限公司7产品说明用友商业创新平台图:容器服务弹性伸缩产品优势如下:1.解决开发、测试、联调、预生产等多套环境统一;2.服务快速部署;3.运行时服务管理,具备灰度发布能力,新功能发布用户无感知;4.提供物理机、虚拟机、私有云、公有云统一接入的能力,屏蔽基础设施层的复杂性;5.为应用提供扩容、缩容、升级、回滚等功能;6.支持服务发现、负载均衡;1.4微服务治理微服务治理平台微服务治理的各种基础组件,结合运维平台的基础设施,可以实现服务的自动发现、水平伸缩和服务降级等能力,用友网络科技股份有限公司用友网络科技股份有限公司8产品说明用友商业创新平台图:微服务治理注册中心:提供微服务的自动发现、心跳检查和负载均衡能力(实际的负载均衡由RPC客户端实现,服务注册中心提供服务权重信息)配置中心:为微服务应用提供动态配置功能,支持包括spring初始化参数、数据库连接数,以及程序运行类变量等动态配置功能,让应用运行中可以动态变更各种参数,以及在不同环境(开发、测试、生产)中使用不同的配置,降低开发难度,提高自动化服务授权:在RPC接口和方法级别提供基于微服务应用标识的访问控制,可以控制某一个或者一组微服务应用对某一个接口和方法的访问权限,对高敏感度的信息接口进行保护服务服务鉴权:提供基于token的服务鉴权服务降级:当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务和页面有策略的不处理或换种简单的方式处理,从而释放服务器资源以保证核心交易正常运作或高效运作。服务降级主要用于当整个微服务架构整体的负载超出了预设的上限阈值或即将到来的流量预计将会超过预设的阈值时,为了保证重要或基本的服务能正常运行,我们可以将一些不重要或不紧急的服务或任务进行服务的延迟使用或暂停使用。通过熔断和限流实现服务降级。一致性框架:自研分布式事务处理框架:在微服务拆分实践中使用Saga框架决微服务架构中的分布式事务问题。1.4.1微服务框架微服务架构是云原生的重要组成部分,微服务框架是支撑微服务架构应用全生命周期管理的平台,为开发者提供从开发到运维、运行的一系列开发套件和服务,包含RPC框架、配置中心、注册中心、服务链路追踪、服务限流、服务熔断、服务统计、服务评价等组件和服务。全面支持微服务架构,结合服务发现、配置管理支撑大规模微服务的运行。包括微服务注册,心跳检查,服务发现和服务容灾,并提供了服务依赖关系图,链路追踪,服务权限控制,服务调用统计等。在微服务架构中,每个服务独立开发,完成一个特定的业务功能,并且每个服务运行在自己的进程中,相互之间通过轻量级进程间通信机制,比如RESTfulAPI或RPC的方式实现服务之间的调用。在方便了业务功能开发的同时,也引入了一些运维要求高、分布式本身的复杂性等问题。1.4.2Saga框架在微服务架构中,微服务应用是由一系列松耦合、独立的服务实例组成,没有一个中心的服务或应用存储状态,传统的数据库事务,就不能满足这个架构下的分布式事务需求。为此,为了解决微服务架构中的分布式事务问题,针对ERP系统的长链路调用,保障各个微服务之间的数据一致性,自研实现Saga模式的分布式事务框架,通过Redis+MQ实现的消息传递方式,支持事务加入、开启、提交、重试、补偿等事务管理机制。该框架与多模块机制、持久化机制、事务提交机制等融合,并能适配Oracle、SQLServer等大型数据库,适合不同的部署实施应用场景。同时,提供的错误中心,可以监控和查看未及时完成的长事务,结合提供的微服务处理中心,监控和管理未正常处理的消息。用友网络科技股份有限公司用友网络科技股份有限公司9产品说明用友商业创新平台1.4.3服务注册中心在微服务架构中,存在着大量的微服务实例,并且相互之间存在着复杂的调用关系,为了解耦微服务之间的调用关系,需要在整个微服务架构中引入服务注册中心,以帮助服务实例之间互相感知彼此的存在。为了解决服务发现的问题,实现了一个功能完善的服务注册中心,提供服务地址列表的更新对比和本地容灾功能,其中的本地容灾功能,在服务注册中心失败的情况下,微服务实例依然可以根据本地的容灾信息,进行服务实例地址的获取。在业务应用使用过程中,微服务启动时,通过SDK+配置的方式,根据服务配置信息,将服务定义的元数据信息,以及服务实例信息(实例IP、应用)等上报到服务注册中心。如果注册失败,应用停止启动,以防业务功能出错。同时,服务调用方启动时,也需要将自己的服务信息上报到注册中心,并从注册中心获取需要调用的服务的实例地址信息。1.4.4配置中心在开发中,每个微服务都包含代码和配置。其配置包含各类服务配置、各类开关和业务配置。在基于云原生部署后,配置的管理变得更复杂和麻烦了。如果还是以常规开发形式管理配置,则要承担反复修改配置、重新打包、重新做镜像等风险,这基本上不可能,因此引入配置中心来管理配置,采用集中式管理每个微服务的配置信息,并实现版本化管理控制。1.4.5全链路监控随着微服务架构的流行,服务按照不同的维度进行拆分,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。因此,就需要一些可以帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题。全链路监控就是在这样的问题背景下开发的。想要在这个上下文中理解分布式系统的行为,就需要监控那些横跨了不同的应用、不同的服务器之间的关联动作。所以,在复杂的微服务架构系统中,几乎每一个前端请求都会形成一个复杂的分布式服务调用链路。1.5中间件1.5.1调度任务中心调度任务中间件是指基于给定时间点,给定时间间隔或者给定执行次数自动执行任务。调度任务中间件主要包括Trigger(触发器)、Scheduler(任务调度器)和Job(任务),其中Trigger,Job是元数据,Scheduler才是任务调度的控制器。用友网络科技股份有限公司用友网络科技股份有限公司10产品说明用友商业创新平台1.5.2分布式缓存(redis)在高并发的分布式的系统中,缓存是必不可少的一部分。没有缓存对系统的加速和阻挡大量的请求直接落到系统的底层,系统是很难撑住高并发的冲击,所以分布式系统中缓存的设计是很重要的一环。在YonBIPV3.0(R5_2312_1)高级版中,选择的分布式缓存中间件是redis,redis是一个key-value存储系统。Redis是一个开源的、基于内存的数据结构存储器。分布式缓存会带来好处,相应的,也会带来问题。使用分布式缓存的好处有:1.加速读写。因为缓存通常是全内存的。对内存的直接读写会比传统的存储层性能好很多。举个例子:同等配置单机RedisQPS可轻松上万,MySQL则只有几千。加速读写之后,响应时间加快,相比之下系统的用户体验能得到更好的提升。2.降低后端的负载。缓存一些复杂计算或者耗时得出的结果可以降低后端系统对CPU、IO、线程这些资源的需求,让系统运行在一个相对资源健康的环境。但随之以来也带来一些问题:1.数据不一致性:缓存层与存储层的数据存在着一定时间窗口一致,时间窗口与缓存的过期时间更新策略有关。2.代码维护成本:加入缓存后,需要同时处理缓存层和存储层的逻辑,增加了开发者维护代码的成本。3.运维成本:引入缓存层,比如Redis。为保证高可用,需要做主从,高并发需要做集群。1.5.3分布式消息服务器(MQ)分布式消息中间件负责接收,保存和分发消息,在分布式场景下可扩展进程之间的通信,同时降低多个系统之间的耦合程度。分布式消息中间件用于保证异构应用之间的消息传递。应用程序通过MQ接口进行互连通信,可以不必关心网络上的通信细节,从而将更多的注意力集中于应用本身。分布式消息中间件作为实现分布式系统可扩展、可伸缩性的关键组件,具有高吞吐量、高可用等特点。在YonBIPV3.0(R5_2312_1)高级版中,选择的分布式缓存中间件是RabbitMQ或者Kafka。它们实现了高级消息队列协议(AMQP)的面向消息的中间件,具有可伸缩性和消息持久化特性。消息中间件具有解耦、异步、削峰等作用。1.6OpenAPIOpenAPI即开放API,也称开放平台。即把应用服务封装成一系列API(ApplicationProgrammingInterface,应用编程接口)开放出去,供第三方开发者使用,这种开放应用服务的API,就被称作OpenAPI(开放API)。用友网络科技股份有限公司用友网络科技股份有限公司11产品说明用友商业创新平台第二章最新iuapgPaaS整体介绍iuap云原生技术平台在专属云模式下是完整的技术平台产品。本版发布的iuap技术平台版本是基于云原生技术,集容器云、DevOps、服务治理、监控运维平台(Hubble)、多云适配为一体的综合技术支撑平台,以下简称iuap技术平台(原iuap技术中台)。iuap技术平台旨在为开发者提供资源管理、容器服务、持续集成、持续交付、分布式链路追踪、服务治理框架、云中间件适配等应用基础服务,同时为应用的微服务架构落地提供完备的支撑,结合DevOps的理念,通过提供自动化运维、日志管理、运营分析、中间件服务等功能,帮助开发、运维等技术类人员,降低产品全生命周期过程中负担,享受技术带来的便捷、可靠、安全、稳定等服务。本版iuap技术平台主要包括DevOsp平台,YPR制品仓库,YKS容器云平台,服务治理,YMS云中间件适配,监控运维平台(Hubble),安装器;通过iuap技术平台相关组件,可以将云上产品能力,通过YPR制品仓库,直接从云上发布到云下,实现云上云下一体化,最新架构图如下:iuap技术平台架构图iuap技术平台主要能力简介(含本版本新增):1.DevOps平台:以可视化的方式实现代码拉取、构建、测试、部署、发布,支持产品全生命周期管理,提供在线控制台及日志,进行构建过程中的故障分析与排查;2.YPR制品仓库:针对中间件、补丁、基础镜像、云原生组件、工具类、各领域业务应用包等制品进行全生命周期的管理,包括制品的版本、归档等,提供了各领域业务系统所需要的所有组件;3.YKS容器云平台:基于K8S与Docker等云原生技术,为应用提供扩容、缩容、升级、回滚等功能,支持服务发现、负载均衡、灰度...