在9月22日举办的【墨天轮数据库沙龙第十期—国产中间件专场】中,北京宝兰德软件股份有限公司技术总监 詹年科分享了《基础软件中间件,让业务人员更好专注业务逻辑的实现》主题演讲,本文为整理内容。
导读
中间件作为三大基础软件之一,对于具有多云和容器化环境的组织,它可以使大规模开发和运行的应用程序变得更具效益。中间件就像应用程序、数据和用户之间的结缔组织,能够帮助开发人员更有效地构建应用程序,提高业务开发生产力。
【墨天轮数据库沙龙-中间件专场】邀请到北京宝兰德软件股份有限公司技术总监詹年科,为大家带来《基础软件中间件,让业务人员更好专注业务逻辑的实现》主题分享,以下为演讲实录。
詹年科 北京宝兰德软件股份有限公司技术总监——多年来专注于业务基础架构软件的开发、架构设计和现场实施支持工作,对分布式计算、中间件技术、云原生技术和大数据相关领域有比较全面的了解。
中间件概念及演进
1、中间件的演进过程
企业级应用技术随着业务架构的变化在不断演进,中间件也历经了漫长的发展过程。2014年以来容器技术与Kubernetes的流行,为云原生时代的快速发展进行铺垫,由此中间件也形成了新的形态。云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。在这个阶段,中间件已经拥有了比较完善的快速弹性交付能力。整个企业级的应用随着云原生技术的更新迭代不断演进,中间件的外延与内核也在发生着较大的变化。
图1 企业级应用技术演进
2、中间件的作用
作为三大基础软件之一的中间件,它是业务应用的技术架构、部署架构的决定因素。下图展示了中间件在云化过程中的演进。
Cloud-Based阶段,中间件的变化体现在管理模式与数量上,虚拟机部署让原先中管理小型机业务系统的数量由数十个,变为了X86信息化下成百乃至上千个。在应用无状态化与运维自动化要求下,业务系统也随之做出调整,Cloud-Ready阶段中间件与运维平台的开发,帮助业务真正实现了从支撑传统的分布式到分布式架构式的变化。Cloud-Natuve阶段中随着云原生微服务化的发展,中间件也进一步与PaaS/CaaS融合,应用基于云技术、服务开发建设。
图2 中间件的作用
中间件的核心价值是帮助业务人员更好的专注于业务逻辑,使其不用过多考虑分布式的技术细节。
北向提供业务开发模型和编程API(JavaEE)、服务(连接、安全、交易等)和入站流量协议HTTP1.x/2/3、RPC);南向对接操作系统,在协程、线程、进程级调度算力资源,与云协调,随着云原生和SDx的发展,中间件算力调度能力前所未有增强;东西向提供分布式计算协调能力,集群管理(高并发流量、高性能、高可用)和监控管理运维框架。
3、中间件分类
关于中间件的分类,目前在业内得到认可的方式有三种:通用中间件、数据中间件以及云计算中间件。
宝兰德的产品能够实现全覆盖通用中间件的种类,包含应用服务器、消息中间件、交易中间件等,产品已通过最新JavaEE8、JaKartaEE9认证。目前宝兰德整体的中间件产品线也逐渐向云原生方向转移,宝兰德加入CNCF基金会助力云原生产业加速发展。
图3 中间件的分类
中间件的核心价值
1、释放业务开发生产力
中间件能够释放业务开发生产力,让业务人员更好专注业务逻辑的实现。
图4 中间件的能力体现
在基础技术上,中间件能够确定整个业务的调度模型。Apache httpd的进程调度逐渐演变为Java世界中的线程调度、Golang的协程调度,调度与连接管理技术形成了统一的IO管理模型,它也是决定中间件北向管理能力的一个关键的因素。其次中间件能够提升业务的序列化性能。基于宝兰德自有的Spark序列化协议,EJB序列化性能远远高于IIOP协议,我们也是唯一支持运营商EJB业务的使用场景的中间件厂商。
在安全与压缩方面,我们也与华为开展了一系列合作,宝兰德应用服务器软件基于Boostkit来挖掘鲲鹏KAE硬件加速引擎算力优势。高性能的安全HTTPS访问是发挥企业应用价值的重要一环,通过对华为KAE硬件加速器中的模块设计,购买了鲲鹏主机并获得授权的企业用户都可以将SSL算力卸载到硬件中,从而在业务处理中释放主机的CPU。
接下来我将从实际业务出发,为大家介绍宝兰德中间件的四项核心能力。
2、连接管理能力
中间件在连接管理中发挥着直观作用。在北向中间件通过高效IO模型支撑高并发访问,同时也提供加解密、压缩算力卸载、专用负载接入的能力。在南向上,中间件通过连接池管理内部访问,如节省数据库连接(长连接)的创建过程和认证过程,降低数据库操作的响应时间和数据库创建物理连接的负载的压力,能够降低数据库的压力,使得其能够专注于数据处理。
图5 核心能力之一:数据库连接管理
3、数据库访问管理能力
随着技术的迭代,数据库访问已经从简单JDBC、ODBC演变为了数据库访问中间件,该技术通过两种方式实现。第一种是DB-Proxy(数据库代理)实现服务端负载均衡。在实际业务中,DB-Proxy代理了应用对数据库访问,屏蔽掉业务访问数据库的差异性,同时实现SQL的解析与改写,从而使得业务系统的中间件由传统JDBC、ODBC过渡到大规模数据访问时,仍能保持高效与可用性。
第二种是客户端负载均衡,即客户端去中心化设计。在保持原生数据库访问高性能访问的同时对应用设计有一定的侵入性,而且分布式的数据缓存容易产生多实例下缓存不一致的问题。
图6 核心能力之二:数据库访问管理
4、事务管理能力
不仅如此,中间件还承担着事务管理的职责。XA交易/全局交易/XA两阶段交易(OSI/DTP)是X/OPEN组织定义的一个用于分布式事务环境下的两阶段提交协议。遵循该协议后,可确保中间件参与到事务中进行统一的全局交易管理,保证数据的一致性与完整性。
图7 核心能力之三:事务管理
5、多样性环境部署及集群能力
中间件还提供了多样性环境部署及集群能力,保证在不同的弹性调度与弹性压缩下,集群状态不会丢失。针对不同的部署环境,宝兰德提供了不同的中间件版本:在传统物理部署环境中提供中间件的集群版本,云环境中提供单实例版本、微服务版本以实现更好的集成和管理能力等。
图8 宝兰德针对不同部署环境提供的中间件版本
宝兰德助力业务系统实现“好用”
未来IT运维的发展必然走向业务前端并与其充分融合,而实践XOps的益处是让企业组织能够通过数据和分析的IT运营,来推动业务价值的实现,其经历了五个发展阶段:可用性监控-服务监控-诊断-业务洞察-自驱动ITOM。
宝兰德专注于以中间件为核心的国产基础软件产品和方案的研发和服务,目前已形成了数字化系统“建运”一体基础软件方案,可以帮助业务系统真正实现从可用到好用。
图9 面向业务的XOps发展阶段
截至目前,宝兰德已经累计覆盖中间件、融合监控、智能运维领域基础软件和人工智能、大数据相关行业基础方案产品50余项。宝兰德推出了云时代数字化基础软件和服务,包括:BESWare中间件产品系列、CloudLink云计算/PaaS产品系列、DataLink大数据产品系列。宝兰德也提供了能感知、会分析、可预测、主动止盈的一体化智能运维,解决方案涵盖以下主要产品:WebGate融合监控产品系列、OpsLink智能运维产品系列。
图10 宝兰德一体基础软件方案
宝兰德推动产业快速发展
宝兰德成立于2008年,在长达十余年的发展过程中,我们在中间件领域进行重点投入,积极推动中间件的国产化。最后我将为大家分享宝兰德在推动产业持续发展所做的工作。
1、专业化本地支持团队提供可靠支撑
专业的团队是宝兰德的核心竞争力之一,目前专业化本地支持团队覆盖全国32省区的近200名专业服务工程师,为客户提供高质量的运行管理技术服务,同时宝兰德也提供覆盖应用生命全周期管理方案产品和工具,支撑专业实施、运维服务的开展。
图11 宝兰德专业化本地支持团队提供高质量管理技术服务
2、宝兰德推动产品与市场纵深发展
宝兰德也在市场与产业上持续发力,促进产品方案与行业融合、技术融合、产业融合,宝兰德的产品及方案涵盖党政、安平、金融、电力、电信、石油、交通、教育、医疗、军工、航空航天等多个领域。
图12 宝兰德产品与方案覆盖多个领域
下图展现了宝兰德中间件产品在移动系统的使用情况,产品支撑中国移动总部及近20省分公司高并发高压力核心业务系统,长达13年+稳定运行,目前总装机规模数以万计,运行服务数达10万+,单省系统并发千万级,成功替换IBM、Oracle和开源产品方案。
图13 宝兰德支撑中国移动核心业务系统
凭借中间件深厚技术积累,宝兰德也助力金融信创产业发展。根据调研情况,宝兰德自2019年进入金融行业,实现60%+金融XC中间件市占率。一、二期金融SD单位190+中宝兰德中间件入围数量110家左右。成为工商银行、交通银行、招商银行、光大银行、华夏银行、民生银行、广发银行等大行主推XC产品,在保险和证券业也获得广泛推广,在某保险客户部署超过1300台规模。
图14 宝兰德在金融行业的典型案例
3、共建基础软件生态
基础软件的发展离不开生态的建设。宝兰德与各大生态厂商进行产品兼容认证,积极构建国产化生态圈,目前已完成443家、1325个国产生态厂商产品、方案适配测试验证。
宝兰德也是中间件领域首家完成鲲鹏Validated认证的厂商,携手统信共建同心平台,金兰平台,麒麟PKS生态。除了认证与生态适配以外,宝兰德也积极参与、推动相关标准制定和推广,是CCSA、CESA、ITSS、Eclipse、CNCF/LF等关键组织成员。
图15 宝兰德在基础软件生态上的建设
以上就是我今天的分享内容,谢谢大家!
更多精彩内容,欢迎大家观看现场视频回放与会议资料
视频回放:https://www.modb.pro/video/7303
会议资料:https://www.modb.pro/doc/77273
- 查看原文:https://www.modb.pro/db/503111
- 查看【国产数据库沙龙】国产中间件专场文章、视频回放资源:回放资源
墨天轮技术社区正在举办【聊聊故障处理那些事儿】DBA专题征文活动,目前已经收到数十篇针对Oracle、MySQL、PG以及国产数据库相关的故障处理实操文章,主题涵盖告警日志处理、ORA报错分析、启动异常分析、数据库宕机恢复、慢SQL优化等内容,欢迎大家点击此处查阅文章。
也欢迎大家积极投稿,将你工作中遇到的数据库故障处理过程记录下来,不仅用于自我复盘与分析,同时也能帮助其他的同仁们避坑。