各位读者:大家好!
回望刚刚过去的2022年,发生了太多的事情,北京冬奥会、神舟十四号航天员首次出舱、重庆山火、泸定地震,一幕幕或激动人心或舍生忘死的场景彷佛还在眼前。
技术领域的力量同样振奋人心,腾讯云中间件团队2022年在CCSA主导发布了国内首个微服务标准《分布式应用架构通用技术能力要求第1部分:微服务平台》以及《分布式中间件服务技术能力要求 第2部分:分布式消息队列》、《分布式中间件服务技术能力要求 第3部分:API网关》。
在产品层面,微服务团队秉承持续创新的精神,升级微服务引擎,全新发布云原生API网关、注册配置中心和北极星网格,并在教育、出行、游戏等多个行业落地实践。微服务平台TSF新增了高可用单元化、云原生高性能网关等高阶能力,成功助力多家国有大行、城市农商行构建多地多中心的高可用分布式架构,核心业务成功迁移。
云原生消息队列 TDMQ 也全面升级,TDMQ Pulsar 每日支撑了690亿+消息调用,在此基础上,正式推出了 TDMQ RocketMQ版 和 RabbittMQ 版,覆盖主流消息协议,助力客户云原生转型。消息队列 CKafka 新增了智能巡检、在线升级、磁盘水位自动处理分区自动均衡等高阶能力,持续提升产品体验。
【腾讯云中间件】公众号在这一年共发布了 59 篇文章,积累了非常多优秀的技术内容,呈现了众多技术人带来的深度思考。
我们评选出了【最受开发者欢迎】和【最具行业影响力】的共 20 篇文章,作为2022年优秀文章集锦呈现给大家,方便大家查阅!
最受开发者欢迎 TOP 10
评选维度:文章的综合阅读量,点赞数与转发数,读者的反馈热度等。
展望中间件的 2022:更加云原生化,寻求标准化
作者:Tina、罗燕珊
当前中间件的发展围绕三个主要方向:首先,随着云原生技术的普及,业务应用逐步进行容器化和微服务改造,如何适配云原生使用场景和支持大规模服务治理。其次,绝大部分中间件没有标准化,不仅给用户选型带来了很大的困扰,也增加了学习和使用成本。最后,中间件本身也面临云原生升级,服务端如何实现计算存储分离、对等部署和平行扩展。
云原生时代的Java应用优化实践
作者:于善游
工欲善其事,必先利其器。在步入云原生时代的今天,如何让您的Java应用的部署效率和运行性能最大化,这对所有开发者都是一个挑战。而TEM作为一款面向微服务应用的Serverless PaaS平台,将成为您手中的“云端利器”,TEM将致力于为企业和开发者服务,帮助您的业务以最快速、便捷、省心的姿态,无忧上云,享受云原生时代的便利。
腾讯云开源业界首个云原生标准的一站式微服务管理框架 Femas
作者:腾讯云微服务团队
企业数字化向云原生演进过程面临诸多痛点,微服务框架不统一、协议多样化、语言异构,纷繁复杂的微服务技术栈,基础组件之间像一座座孤岛,各个基础组件的控制面不能互联,让用户的体验非常割裂,各种历史包袱阻碍了企业平滑过渡到云原生架构的进程。
为了帮助企业快速平滑转型为云原生微服务架构,腾讯经过多年的探索与创新,正式开源业界首个云原生标准的一站式微服务管理框架Femas(GitHub地址:https://github.com/polarismesh/femas),通过定义一套开放式的微服务控制面标准协议,实现微服务基础组件的统一管理和调度。
Linux 下一代架构基金会宣布:联合腾讯等企业和社区,发力微服务标准化建设
作者:腾讯云微服务团队
2022年3月23日,NextArch 基金会正式宣布成立微服务 SIG(Special Interest Group,以下简称“微服务技术组”),来自腾讯、字节跳动、七牛云、快手、BIGO、好未来和蓝色光标等多家企业的技术专家成为首批成员。
该小组聚合了 Linux 基金会、大型科技公司、行业技术专家等多方资源,致力于推动微服务技术及其开源生态的持续发展,将面向企业在微服务生产实践中遇到的问题,针对不同行业和应用场景输出标准化解决方案,并且联合 PolarisMesh、TARS、go-zero、GoFrame、CloudWeGo 和 Spring Cloud Tencent 等开源社区提供开箱即用的实现,从而降低微服务用户的落地门槛。
Polaris-Sidecar:更低成本的内网DNS实现
作者:单家骏、廖春涛
PolarisMesh 是腾讯开源的百万级服务发现和治理中心,积累了腾讯从虚拟机到容器时代的分布式服务治理经验。作为分布式和微服务架构中的核心组件,PolarisMesh 提供服务寻址、流量调度、故障容错和访问控制等一系列能力,在K8s 和虚拟机环境中可以无差别使用,支持主流的开发模式,兼容grpc、spring cloud和servicemesh等开源生态,帮助用户快速构建扩展性强、可用性高的业务架构,实现从传统架构到云原生架构的转型。
腾讯正式开源Spring Cloud Tencent,打造一站式微服务解决方案
作者:张皓天、张乐
近日,Spring Cloud Tencent 于6月14日正式对外开源,作为腾讯开源的一站式微服务框架,Spring Cloud Tencent 实现了 Spring Cloud 标准微服务 SPI ,开发者可以基于 Spring Cloud Tencent 快速开发 Spring Cloud 微服务架构应用。Spring Cloud Tencent 的核心依托腾讯开源的一站式服务发现与治理平台 Polarismesh ,实现各种分布式微服务场景。
Github 地址:
https://github.com/Tencent/spring-cloud-tencent
CKafka一站式接入ES:数据链路可视化重磅来袭!
作者:腾讯云ES团队
当前,各大云厂商均推出了Elasticsearch的云上托管服务,并通过提供运维管理、监控告警、日志查看等工具,方便用户进行集群的管理与维护。但在数据接入方面,腾讯云 Elasticsearch Service(ES)在实践中发现,用户仍需单独打通每一个组件的上下游,最终完成整个链路的创建,而数据链路涉及数据源配置、数据采集、数据缓存、数据加工、数据目的等复杂的流程,每一步都需要单独配置的情况下,用户接入以及运维的成本较高。
基于此,腾讯云ES联合CKafka推出了一站式的数据链路可视化接入服务,相对于传统的数据接入,数据接入可以大大降低使用与维护成本,提高链路创建效率。数据接入提供了CVM与TKE、MySQL等数据源的接入,只需在界面上填写链路中相关组件的配置信息或者遵循相关指引,即可快速完成整个链路的创建。
百万级 Topic,Apache Pulsar 在腾讯云的稳定性优化实践
作者:冉小龙
本文分享了腾讯云团队在 Apache Pulsar 稳定性上的实践经验,重点介绍了消息空洞的影响及规避措施等最佳实践,为更多开发者提供参考。同时,腾讯云团队也在参与社区贡献中,和社区讨论以下重要问题并探索相关解决方案,如客户端超时时间内的重试策略,借鉴其他 MQ 的思路进行改进,尝试在客户端加入超时重试策略,通过多次重试机制来避免发送失败的情况发生;优化 Broker 和 Bookie OOM,针对 Ack 空洞对应集合无法缩容的问题进行改进;以及优化 Bookie Auto Recover,加入超时重试逻辑,避免 BookKeeper 和 ZooKeeper 之间发生 Session 超时的情况下服务重启。
好未来基于北极星的注册中心最佳实践
作者:苏珂、李佳南、单家骏
好未来AI中台零代码修改,将注册中心由Eureka迁移至北极星,并发注册服务数有极大的提升,由7k提升至5w。解决了业务规模激增场景下开源注册中心瓶颈问题,有效避免线上再次故障。北极星计算存储分离、控制面无状态,可以随着未来业务规模的继续扩大,高效方便的继续扩容。除此之外,好未来还获得了服务治理、可视化控制台、服务治理监控等方面的收益。
高并发场景下如何保证系统稳定性
作者:刘远
除了本文提到的高并发秒杀场景外,在互联网服务的很多场景下,当系统希望实现高可用、高性能、高扩展的设计目标,都会使用到腾讯云云原生网关产品所提供的能力,比如灰度发布、全链路染色、多环境路由和多活容灾等架构。
云原生网关(Cloud-Native Gateway)是腾讯云基于开源网关Kong推出的一款高性能高可用的网关产品,100%完美兼容开源。同时提供TKE/EKS集群直通,Nacos/Consul/Polaris/Eureka 注册中心对接,实例弹性扩缩容等能力,并有特色能力插件增强,显著减少用户自建网关带来的开发及运维成本。另外,多可用区部署的模式,也保证了业务连续性,避免单可用区故障带来的服务中断。
最具行业影响力 TOP 10
评选维度:技术社区、科技媒体、自媒体等渠道的转载数据和综合阅读量等。
Apache Pulsar 技术系列 - Pulsar事务实现原理
作者:林琳
Pulsar事务消息的设计初衷是用于保证Pulsar Function的精确一次语义,可以保证Producer发送多条消息到不同的Partition时,可以同时全部成功或者同时全部失败。也可以保证Consumer消费多条消息在时,可以同时全部确认成功或同时全部失败。当然,也可以把生产、消费都包含在同一个事务中,要么全部成功,要么全部失败。
千亿级、大规模:腾讯超大 Apache Pulsar 集群性能调优实践
作者:张大伟 鲍明宇
近期,腾讯 TEG 数据平部 MQ 团队开发部署了一套底层运维指标性能分析系统(本文简称 Data 项目) ,目前作为通用基础设施服务整个腾讯集团。该系统旨在收集性能指标、上报数据以用于业务的运维监控,后续也将延用至前后端实时分析场景。
腾讯 Data 项目选用 Apache Pulsar 作为消息系统,其服务端采用 CVM 服务器(Cloud Virtual Machine,CVM)部署,并将生产者和消费者部署在 Kubernetes 上,该项目 Pulsar 集群是腾讯数据平台部 MQ 团队接入的消息量最大的 Pulsar 集群。在整个项目中,我们在 Apache Pulsar 大规模集群运维过程中遇到了一些问题和挑战。本文将对这些问题展开描述分析,并分享对应处理方案,同时也会解析涉及到的相关 Apache Pulsar 设计原理。
TSF微服务治理实战系列(一)——治理蓝图
作者:崔凯
TSF作为腾讯云针对微服务架构管理而设计的平台型产品,服务治理是平台建设的核心价值点之一。
本实战系列主要讨论范围包括TSF平台中服务路由、服务鉴权、服务限流、服务熔断容错、服务可观测性、服务配置等服务治理核心能力(如下图“微服务框架”中所示)。
通过针对上述内容的介绍,可以系统性的帮助读者了解TSF在服务治理方面的核心能力,及针对企业自身场景应如何选择匹配的场景和动作。如针对电商大促的场景如何进行限流、针对灰度版本如何进行全链路灰度发布等,帮助TSF平台使用者实际解决服务治理相关的流量管控、链路排障、配置管理等一系列问题。
如何解决 Spring Cloud 下测试环境路由问题
作者:张乐、张皓天
在过去的一段时间,我们的主要精力聚焦在微服务领域最基本的服务治理原子能力,例如服务发现、动态配置、限流熔断、路由等。Spring Cloud 其它套件基本上也局限于这些基础能力。但是企业真正在实践 Spring Cloud 过程中,发现针对自身具体的业务场景,这些原子能力并不能直接提供解决方案,往往需要做二次开发、定制等。例如定制 Spring Cloud Gateway 的 Filter、增强 Feign、支持各种复杂的服务路由场景等。因此,开箱即用的业务通用解决方案对企业来说更具有价值。
综上所述, Spring Cloud Tencent 后续重要的规划之一就是在不断夯实服务治理原子能力的基础上,提供开箱即用的业务通用解决方案,从工具到方案的升级。
TSF微服务治理实战系列(三)——服务限流
作者:
大家应该都有去游乐园游玩的经历,其实服务限流与游乐园人流管理很相似。比如每一个游乐园所能承载的标准游客总数是大概确定的,当游乐园承载的游客数量超出了标准数量,游客在游玩的时候就会出现游玩路线人潮拥挤(请求拥堵处理慢)、热点游乐设施排队久(热点API过载)、餐品饮料供应缺货(数据库连接池不足)等情况,更有在重大节日时由于人数太多导致的踩踏事故(服务宕机导致的雪崩)。
服务限流其实就是一种应对超额流量的保护机制,当业务流量超出系统能够承载的上限时,快速处理超额的请求(如快速失败),防止超额的请求继续争抢/占用系统资源。本节将简单介绍服务限流针对的问题域、设计原则及TSF在服务限流方面的能力和使用场景。
Apache Pulsar 系列——深入理解 Bookie GC 回收机制
作者:冉小龙
Apache Bookkeeper 是基于日志的一个持久化系统,所有的数据会以日志的形式存储到 Ledger 磁盘的 Entry Log 文件中,之后通过后台异步回收的形式来将 EntryLog 文件回收掉。但是在我们实际的使用场景中,发现很久之前的 EntryLog 文件无法被删除掉,对 Entry Log 文件存在的时间进行监控。
腾讯服务注册中心演进及性能优化实践
作者:单家骏,廖春涛
注册中心作为微服务架构的核心,承担服务调用过程中的服务注册与寻址的职责。注册中心的演进是随着业务架构和需求的发展而进行演进的。腾讯当前内部服务数超百万级,日调用量超过万亿次,使用着统一的注册中心——北极星。腾讯注册中心也经历3个阶段演进历程,下文主要分享腾讯内部注册中心的演进历程,以及根据运营过程中的优化实践。
微服务上云快速入门指引
作者:腾讯云小Q妹
一个典型的基于Nginx的web架构是什么样子呢?如上图所示,可以看到来自于网页、小程序、APP的请求进来后,会经过一个负载均衡,然后把请求转发到Nginx, Nginx负责把请求转发到后端的web服务中去,后端可能是PHP、Tomcat等,这个流程就是一个典型的web架构。
微服务架构下路由、多活、灰度、限流的探索与挑战
作者:腾讯云小Q妹
2022腾讯全球数字生态大会已圆满落幕,大会以“数实创新、产业共进”为主题,聚焦数实融合,探索以全真互联的数字技术助力实体经济高质量发展。大会设有29个产品技术主题专场、18个行业主题专场和6个生态主题专场,各业务负责人与客户、合作伙伴共同总结经验、凝结共识,推动数实融合新发展。
Pulsar 在腾讯云的稳定性实践
作者:腾讯云小Q妹
随着大数据时代的到来,企业在生产和经营活动中产生的各类数据正以前所未有的速度增长,通过对实时及历史数据的融合分析,及时挖掘业务洞察和辅助决策,已成为企业的普遍行动。在云原生的浪潮下,企业需要聚焦业务,迫切需要简单易行,零代码地配置搭建起自己的可以达到将本增效效果的数据链路系统。
感谢各位读者对「腾讯云中间件」公众号的支持!告别 2022,让我们一起继续朝 20223年迈进。新的一年,我们将继续为大家提供优质的技术内容!