云原生中间件技术怎样去落地
扫描二维码
随时随地手机看文章
随着云计算技术的持续发展,特别是近年来云原生技术在各个行业的蓬勃应用,企业的IT基础设施、中间件以及应用开发架构都发生了深刻的变化。随着企业业务规模不断扩张和快速迭代发展,作为应用开发中承上启下的中间件的质量和能力的高低直接决定了企业技术架构的命运。云原生时代的中间件也从业务耦合度高、不能为最终用户带来直接价值的传统中间件,发展成了功能独立、耦合度低、组件模块化的云原生中间件,成为实现高性能、高可用、高伸缩性和最终一致性的分布式应用开发架构的关键部分。
中国信息通信研究院结合当前云原生时代企业对于中间件的实际需求场景,规划了云原生中间件标准体系,并于12月11号举办的OSCAR年会上,发布了国内首个分布式消息队列技术标准——《分布式中间件服务技术能力要求 分布式消息队列》。
分布式消息队列作为系统间相互协作的通信机制,通过高效、可靠的消息传递,降低应用之间的耦合性,实现高效的数据交换,保障了分布式网络环境下的高可用和一致性, 常用于应用解耦、异步通信、流量削峰、日志收集、缓存更新、数据同步、事务最终一致性等典型场景。
《分布式中间件服务技术能力要求 分布式消息队列》作为云原生中间件系列标准中首个发布的标准,适用于指导云服务商建设分布式消息队列产品,同时规范了分布式消息队列的评估方法。标准主要从应用能力要求、消息队列功能要求、运维支撑能力要求、安全能力要求、性能要求、适用场景六个方面加以规范。
分布式消息队列参考框架
应用能力
分布式消息队列服务需要具备多语言支持、消息自定义、开放API、消息顺序性、流量控制等功能。其中开放API功能要求了要为开发人员提供基于消息队列开发应用系统的接口,利用开放API以编程方式检索和操作信息;要求分布式消息队列支持多语言客户端;消息自定义功能允许客户根据业务需要和属性规则设定自定义消息;流量控制功能通过对消息生产或消费速率的控制达到适应网络质量的流量控制。
消息队列功能
主要描述了消息队列为上层分布式应用提供数据交换通道的功能丰富性,决定了用户能否最大程度上的实现按需供能、开箱即用,进而缩短项目周期、降低成本。本部分主要从延迟队列、死信队列、重试队列、消费模式、订阅方式、消息回溯、消息堆积、消息过滤、投递语义支持、事务消息、消息路由、优先级队列、消息追踪共计14个功能点提出了规范及要求。
运维支撑能力
该部分对消息队列产品所依赖的资源调度和监控能力进行了规范和要求。此项要求服务应具备容器化支持、弹性伸缩、监控警告、高可用性、日志管理消息跨地域复制等运维功能。
安全能力
消息队列服务需具备身份认证、数据加密、命名空间等安全功能。要求在客户端与服务端连接时进行身份认证,实现对客户端的读写操作进行权限控制。同时还要能够提供加密功能对重要或敏感数据进行加密处理来保证消息数据的安全。通过命名空间对存储配额、流量控制、消息过期策略进行控制。
性能要求
在不同应用场景下进行测试,对吞吐量、时延、集群加速比三个指标进行考量。测试包括在指定并发数和消息大小的前提下,分布式消息队列在不同场景下的吞吐量;在指定队列数、并发数和资源数前提下,分布式消息队列的请求响应时延,如消息的生产时延、消息的消费时延、端到端的时延等;通过对同样场景的测试任务,观察增加资源后性能指标的加速情况,验证性能增速和资源增速之间的比值。
测试场景
分布式消息队列在进行性能测试时应区分不同业务场景,在进行测试时需根据自身业务模型选取至少一种业务场景进行性能测试,具体性能指标需要根据业务场景来确定。
中国信息通信研究院会持续紧跟云原生领域风向,密切关注云原生中间件技术的发展,对云原生中间件服务提出要求,引导服务贴近产业实际需求。未来将继续发挥标准的引领作用,做好云原生中间件领域标准体系的设计规划,持续深化以用户需求为中心的技术规范和能力要求。