技术平台 & 应用开发专题月 | 企业上云利器 -YMS(Yon Middleware Service)
引言
传统技术架构中,软件系统都是集中式的,俗称单机系统,仅通过升级硬件就能满足不断增长的性能需求。然而随着互联网的飞速发展,高吞吐、高并发、低延迟逐渐变为服务应用建设目标,单凭硬件升级已无能为力,分布式系统 “应需求而生”;分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统,主要由应用/服务层、中间件层、操作系统、数据库层、硬件设备层组成。
随着分布式系统的深度使用,逐渐解决了语言异同、性能等问题。但也带来了很多新的问题,其中,中间件的应用问题尤为突出。
中间件概念及使用问题
中间件是一种应用于软件系统的基础软件,位于应用与操作系统、数据库之间,为上层应用软件提供消息、缓存等能力的支撑。中间件解决了异构网络环境下软件互联和互操作等共性问题,为应用软件间共享资源提供了标准组件。
但随着分布式中间件的使用,更多的问题暴露出来:
技术服务框架多样性
大型企业服务,多覆盖人、财、物、产、供、销等多个领域应用,每个领域都有自己服务框架,服务数量多,导致应用沉重,消耗运行资源。同时,运维复杂度会因为服务变多而变得很复杂。
基础组件不统一
目前网络上,开源的基础组件数不胜数,针对不同的领域的应用服务,都有各自使用的中间件组件,数量多,版本混乱,运行状态透明度低,管理难度大。
三方组件使用问题
开源及第三方组件已经进入了几乎所有的软件领域,所有的软件公司和开发者几乎都在使用开源及第三方组件。然而,开发者安全技能短板明显,热门项目成漏洞重灾区,攻击者可以利用未打补丁的组件对重要的基础设施组织进行攻击。
配置分散且冗余
当系统从一个单体应用,被拆分成分布式系统上一个个服务节点后,配置文件跟随服务进行了拆分,单个服务有单独配置文件,不便于管理,而且还存在冗余配置信息。
不同环境、集群配置管理
同一应用服务在不同的环境(开发、测试、预发、生产),不同的集群经常需要有不同的配置,所以需要有完善的环境、集群配置管理。
用友云中间件服务(YMS)
为了解决中间件的使用问题,用友推出用友云中间件服务(Yon Middleware Service),简称 YMS。
它提供灵活的制品打包、统一的中间件配置管理以及完整的操作模型,主要是由 YMS 控制台和 YMS 框架两部分构成。
YMS 框架
YMS 框架基于 spring boot/cloud 的微服务开发框架自研,提供统一的中间件和依赖管理,每个中间件均是可插拔的组件。开发者在集成了 YMS 框架后,只需引入中间件对应的 starter,YMS 即会自动导入所需的依赖并完成必要的配置,同时也解决了后续的健康检查、运维监控等问题,开发者能够更加专注于业务逻辑,有效节约了开发时间及后期维护的成本。
YMS 控制台
定位为 YMS 分布式中间件统一管控配置、集中管理微服务和分布式事务的统一控制台,轻量化启动,是运维和实施人员的后台操作工具。主要负责 YMS 中间件及基础技术组件的配置维护、针对应用的配置文件及配置项的规划、管理、服务注册及分布式事务运行时数据的监控展示等。
YMS 特色能力
统一基础技术组件
统一各业务应用技术组件,目前已包含数据源、Redis、MQ、MongoDB、日志等 Java 系列基础组件包, 提供各种默认配置,引入依赖无需额外部署,只需引入所需的 Starter 就能直接使用所需的技术组件。
统一易用的编程接口
每一个 YMS 中间件都是独立可插拔的组件,对集成的 YMS 中间件提供统一易用的编程接口,节约开发时间,和后期维护的成本。
统一技术栈
提供统一的 YMS 中间件运行环境,通过统一的启动引导方式和模块的打包、发布方式,快速开展服务应用的开发工作。
统一开源及第三方组件
构建全流程的开源治理体系,统一开源及第三方组件,减少开源及第三方组件使用中的安全风险,保障对开源及第三方组件的使用合理合规。
兼容开源生态
可与 Spring Boot、Spring、Spring cloud 工程无缝集成,降低用户的迁移成本。
适配商业中间件,提升服务兼容性
适配商业服务框架,与 EDAS 等主流框架无缝对接。同时,提供主流商业数据库、国产化数据库及 PaaS 层支持,致使上层应用使用 YMS 框架时,无需修改代码,直接应用。
统一配置管理
YMS 控制台提供可视化的配置界面,支持各类基础组件配置协议的生成、发布,解绑业务应用和真实连接之间的关系。
配置修改实时生效
用户在控制台修改完配置并发布后,客户端能实时接收到最新的配置,不需要重启服务,完成配置更新。
配置基线管理
所有的配置发布都有版本概念,不仅支持配置的回滚,而且支持配置对比,实时把控配置状态。
配置权限管理
YMS 控制具有完善的权限管理机制,不同人群具有不同模块的浏览、编辑权限,从而减少人为失误。
配置迁移
配置通过控制台可导入导出,可实现跨环境环境迁移,快速完成不同环境的服务应用配置。
多维度应用度量
提供多种度量维度实时监测应用程序的性能,能帮助更好的了解当前应用程序或者服务在线上的各种性能状态。
总结
目前,用友内部所有业务服务,均已通过 YMS 实现了技术栈的统一管理,YMS 不仅提供了完整的技术栈,让开发者可以更快速、敏捷地开发应用程序,更提供了统一的基础技术组件,让开发过程更具规范化。此外,控制台提供统一的配置信息的维护入口,通过可视化的界面,直观的进行配置信息的修改,动态进行更新,更高效的支撑起服务应用。
未在,YMS 将在保证稳定的基础上,不断加强各类商业中间件的适配能力,统一行业软件上云标准,为业务服务提供坚实有力的上云及云上迁移利器。
扩展阅读:
评论