迎接 2023 | 北极星开源一周年,感恩礼倾情相送


北极星(Polaris Mesh是开源的一体化服务治理平台,致力于解决分布式和微服务架构中的服务管理、流量管理、故障容错和配置管理问题,提供业务监控、流量监控、事件中心和操作记录等全方位的可观测性能力,帮助用户快速低门槛构建微服务。


截止目前,在社区各位开发者的支持下,北极星和 Spring Cloud Tencent 社区经过一年的开源运营,一共收到 5200+ Star、1400+ Fork,有 2400+ 社区爱好者加入了社区交流群积累了好未来、海管家等多家企业用户的案例这里非常感谢使用北极星的用户,以及社区开发者和爱好者的支持。借此机会,我们一起回顾开源一周年以来的发展历程和未来的发展方向。

为什么要开源北极星

企业业务架构的稳定运营离不开服务治理,业界也有一些常用的服务治理套件,比如istio,sentinel等。但是,用户在使用这些服务治理套件时候,往往会遇到以下问题:

(1)部分组件只提供治理规则的管理能力,但是,用户需要完整用起来,还需要自己去解决服务数据的存取(注册中心),配置数据存取(配置中心),以及治理规则的可视化配置(web控制台)的问题。

(2)部分组件与特定基础设施和具体数据面(k8s+Envoy)绑定,没法覆盖非k8s的应用、以及使用Spring Cloud等服务框架的应用直连接入场景。

(3)部分组件服务治理功能不齐全,缺少动态路由、灰度发布等微服务核心功能。

为了解决上面的问题,降低用户开发及运营微服务的门槛。北极星为服务治理提供一站式解决方案,覆盖服务注册中心、服务网格和配置中心的功能。用户只需要部署一套北极星,即可在任意的基础设施上,完整的使用北极星提供的路由灰度、熔断降级、限流鉴权等功能,快速构建微服务架构。

应用一般会基于服务框架进行构建微服务架构,在 Java 生态中,Spring Cloud 仍然是目前国内最主流的服务框架。为了让 Spring Cloud 用户能够更快速更全方位接入腾讯的开源微服务套件,也为了让社区应用开发者可以多一个国产的 Spring Cloud 套件的选择。

腾讯在同期也将 Spring Cloud Tencent 进行了开源 ,默认对接了北极星强大的微服务能力,也是国内首个支持了 Spring Boot 3.0 JDK17 Spring Cloud 套件。并且提供了SDK 以及 Java Agent 等多种接入方式,供用户可以以零代码侵入的方式,快速将 Spring Cloud/Spring Boot 应用改造成微服务架构。

Spring Cloud 以外,北极星也为多款开源的多语言服务框架提供了原生的接入适配,比如 dubbo,gRPC 等,以支持所有应用的低成本接入。

一周年历程

项目演进

北极星开源的这一年间,一共发布了35个 release,关闭了 300+ issues。在这个过程中,我们在注册发现、服务治理、配置中心这几个方面,进行了全方位的升级。下面会分别进行介绍:

注册发现优化

由于北极星在架构上支持水平扩展,集群整体性能可以通过水平扩展提升,但是为了能节省用户的成本,提升单机版用户的体验,我们在 1.10.0 版本,为了提升单机性能,对控制面的整体逻辑进行以下优化:

优化冗余数据层交互:老版本北极星,为了保证服务数据一致性,单次数据的写入,会进行多次存储层查询进行依赖条件校验,新版本通过缓存+补偿的方式,去掉了重复校验的逻辑,与存储层交互优化到只有写入的1次。

注册流程异步化:将客户端的同步注册请求转换为异步注册请求,返回给客户端响应不在需要等待存储层的处理结果。同时,通过自动心跳上报重注册的方式,解决异步化后可能带来的一致性的问题。

性能压测:我们针对北极星控制面进行了压测,在8C16G规格下,服务发现的TPS相比同类注册中心有较大的提升。

服务治理的易用性提升

服务治理是北极星的核心能力之一,在开源的过程中,为了降低用户使用服务治理的成本,北极星在以下方面进行了优化:

访问限流:从交互和限流精细化层面进行优化,支持针对请求参数、接口、主调服务的维度进行精细化限流,也同时支持网关层限流和微服务限流。

动态路由:从场景化上进行了优化,从微服务的使用场景上,细分了测试环境路由、灰度发布等场景,并且对于无法覆盖的场景,通过通用的自定义路由来进行覆盖,能完全满足所有的路由调度相关的场景诉求。

熔断降级:从功能和交互上进行了补齐,支持了服务级、接口级、分组级等多级熔断策略,同时支持故障探测规则,通过持续的故障探测,可以在流量小的情况下,及时发现并剔除业务中故障的实例,确保潮汐到来时业务的可用性。

周边生态融入

北极星提供了多语言统一的服务治理 SDK(Java,Go,C++,PHP等),接入北极星的应用无需再重复开发服务治理相关的逻辑和算法。而应用往往是基于服务框架来进行构建的,业界大部分开源服务框架都提供了基础服务治理的能力,而各个框架在实现细节上,从配置到算法上存在一定的差异。

为了统一用户的服务治理体验、简化用户的接入成本,在各个开源框架社区开发者的协同下,北极星也通过提供框架生态组件的方式,支持服务框架用户的无缝接入。

Spring Cloud框架:腾讯开源的Spring Cloud Tencent,通过实现Spring Cloud原生的拦截器,集成北极星的SDK,使得Spring Cloud用户可以无感的方式接入北极星微服务体系。

Dubbo框架:与Spring Cloud类似,北极星也提供了dubbo以及dubbogo框架的原生扩展,dubbo用户可以通过变更配置的方式接入北极星,无需进行代码的修改。

其他框架:除Spring Cloud和dubbo外,北极星也支持与gRPC,Cloudwego/kitex,kratos等服务框架对接,未来也会继续加强与其他社区合作,支持更多的服务框架接入。

存量应用无缝迁移

为了提升用户的接入体验,支持更多企业用户可以通过更低成本,更少改造的方式接入。北极星针对存量 Spring Cloud 用户的迁移做了优化,通过接口兼容、同步工具、JavaAgent 等多种方案,支持原有 Spring Cloud 用户零代码改造接入。

对于 Spring Cloud + Eureka 用户迁移:北极星完全兼容 Eureka 接口,通过集群数据同步完成迁移。

对于 Spring Cloud + Nacos 用户迁移:北极星提供同步工具,支持 Nacos 与北极星之间双向数据同步,同时也提供 JavaAgent,支持已迁移用户无缝接入北极星控制面。

展望未来

未来北极星和 Spring Cloud Tencent ,会继续在场景化功能、开源生态融合这2方面进行建设和精细化打磨:

场景化功能:当前北极星和 Spring Cloud Tencent ,提供的是垂直的原子能力,而用户在使用过程中,面对的是业务场景,业务场景和垂直功能之间会存在一定的理解和使用成本。比方说,用户需要进行灰度发布,这个过程中,对于灰度分组的管理、灰度的路由、灰度计划等功能,需要结合北极星的多个原子功能来实现,存在一定操作门槛。因此,未来会提供场景化的操作体验,会针对用户常用的业务场景(灰度发布、过载保护等),提供一体化的配置及接入体验,进一步降低用户接入成本。

开源生态融合:未来微服务的应用生态,无论是在开发语言,或者服务框架上,会越来越多样化。因此北极星会在继续完善当前主流的服务框架的功能基础上,积极与社区的其他服务框架及基础设施做进一步的整合,以覆盖更多的微服务应用。同时在多语言方面,也会在Python,Rust等语言上进行更多的探索,希望社区更多的同学能加入一起建设。

感谢贡献者

在开源的这一年时间中,北极星及 Spring Cloud Tencent 社区产生了 30+ 的committer:weihubeats, onecer、alexwanglei、lhiamgeek、shichaoyuan、astronaut0131 等,这些同学文档建设、事件中心、K8S适配、MTLS流量安全、动态配置管理等核心功能实现中做出了突出贡献。

 

除此之外,社区还收获了大量贡献者,目前已有 100+ Contributors,非常感谢大家的付出!相信有大家的支持,我们可以让北极星和 Spring Cloud Tencent 的产品和生态更加完善!!!

最后,也欢迎更多的开发者加入北极星和 Spring Cloud Tencent 的贡献者队伍,一起打造业界领先的云原生服务治理中心!

一周年活动

为了感谢大家在北极星 Spring Cloud Tencent 社区的贡献,我们为每一位commitor 准备了专属文化衫。

其他小伙伴也不用着急,PolarisMesh Spring Cloud Tencent 社区将从代码/issue 提交者以及任务认领者中抽选出50位贡献者,献上社区精心准备的文化衫/公仔。

欢迎大家给我们反馈建议、认领任务~~戳这里:

北极星:

https://github.com/polarismesh/polaris/issues

SCT: 

https://github.com/Tencent/spring-cloud-tencent/issues

活动时间:2022.12.20-2023.1.7

本文作者:

单家骏:腾讯云中间件团队技术专家,北极星开源社区PMC成员

李佳南:腾讯云中间件团队高级产品经理


相關推薦

2023-12-31

亲爱的 DataCap 软件用户,开发者:     时光荏苒,2023 年即将成为过去,我们深感荣幸与感慨地站在这个时刻,对您们表达我们最深切的感谢。在过去的一年中,我们一直感受到了您们对我们软件的不离不弃和坚

2023-05-30

5 月 28 日,由上海浦东软件园、开放原子开源基金会、Linux 基金会亚太区与开源PHP联合主办的“全球开源技术峰会 GOTC 2023”圆满落幕。   3 亿曝光量 本次峰会总共吸引了超过 1500 人到现场参会,线上直播观看量超过 540

2023-04-04

情况对用户来说就是一个黑盒,同时,用户也无法判断在北极星平台配置的流量治理规则,在服务调用时是否执行,以及执行的结果是否符合预期: 缺少服务间调用请求的响应时耗统计信息。 缺少服务间调用请求的响应码

2023-09-14

动态配置的 SCT 应用启动失败后能正常退出。 4. 支持配置北极星日志文件保存路径。 5. 支持优雅上下线。 6. 多注册多发现支持命名空间及分组映射。 7. 支持腾讯云就近路由。 8. 支持 graalvm native-image 。 欢迎大家使用体验、Star

2024-07-11

橙单3.0 首先感谢开源PHP的平台,也感谢大家的阅读与关注。橙单赠人玫瑰,手有余香,希望我们的免费代码生成工具可以为更多的开发者带来更多的学习和休息时间。 创业维艰,在过去的一年中,我们团队在大家的帮助下和

2022-09-21

北极星:一个支持多语言、多框架的云原生服务发现和治理中心,提供高性能SDK和无侵入Sidecar两种接入方式。 版本信息 北极星服务端 Release 链接: https://github.com/polarismesh/polaris/releases/tag/v1.11.3 主要变化 在 v1.11.3 版本中

2023-03-15

Kali Linux 2023.1 已发布,这也是 Kali Linux 的第十个年头。 这个版本引入了一种名为 Kali Purple 的新 Kali Linux 风格,这系列风格专注于防御性安全和终极 SOC In-A-Box 的架构,专为学习、实践 SOC 分析和威胁搜寻、安全控制设计/测试

2023-03-22

E7%89%88%E6%9C%AC%E7%AE%A1%E7%90%86 三、主要更新列表: 1. 支持北极星接口级熔断。详细操作参考:https://github.com/Tencent/spring-cloud-tencent/wiki/%E6%8E%A5%E5%8F%A3%E7%BA%A7%E7%86%94%E6%96%AD 2. 支持北极星服务级熔断。详细操作参考:https://github.com/

2022-11-19

两年后就会到达 100。 Daniel 发现明年是 curl 的一个重要周年纪念日,他想到了一个可以避免"100"版本号的方案——在 curl 诞生 25 周年当天发布 curl 8。如此一来,既凸显了周年纪念日的地位,又体现了升级主版本号的意义,更是

2023-06-20

FreeBSD 项目庆祝其开源 BSD 操作系统项目成立 30 周年。 FreeBSD 是一款开源操作系统,于 1993 年在加利福尼亚大学伯克利分校开发出来,目前每天都被全球数十亿人使用,并对我们产生了积极的影响。许多顶级的科技公司和产

2023-04-19

E7%89%88%E6%9C%AC%E7%AE%A1%E7%90%86 三、主要更新列表: 1. 支持北极星熔断和监控指标上报。 2. 支持北极星一致性哈希负载均衡。参考文档:https://github.com/Tencent/spring-cloud-tencent/wiki/%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1 3. 支持服务注册时增加

2023-08-22

凹语言是国内 Gopher 发起的纯社区构建的开源国产编程语言项目(没有公司背景、没有任何赞助)。同时凹语言也是国内第一个实现纯浏览器内编译、执行全链路的自研静态类型的编译型通用编程语言。   官网:https://wa-

2023-05-25

也就是同一天,2021年5月15日,Dante Cloud 微服务项目正式开源。 Dante Cloud 一直秉承着“简洁、高效、包容、务实”的理念,使用微服务领域及周边相关的各类新兴技术或主流技术进行建设,不断地深耕细作、去粗取精、用心打造

2022-07-04

Darktable 是 Adobe Lightroom 的开源替代品,它是一款帮助专业摄影师的进行照片管理及后期处理的图形工具,用户可以通过该软件查看和编辑照片。 目前 Darktable 4.0 版本已发布,以庆祝该项目自 1.0 版以来的 10 周年,该版本的