腾讯开源业界首个云原生标准的一站式微服务管理框架Femas

作者 | 童子龙、刘智新 责编 | 梦依丹
企业数字化向云原生演进过程面临诸多痛点 , 微服务框架不统一、协议多样化、语言异构 , 纷繁复杂的微服务技术栈 , 基础组件之间像一座座孤岛 , 各个基础组件的控制面不能互联 , 让用户的体验非常割裂 , 各种历史包袱阻碍了企业平滑过渡到云原生架构的进程 。
为了帮助企业快速平滑转型为云原生微服务架构 , 腾讯经过多年的探索与创新 , 正式开源业界首个云原生标准的一站式微服务管理框架Femas(GitHub地址:https://github.com/polarismesh/femas) , 通过定义一套开放式的微服务控制面标准协议 , 实现微服务基础组件的统一管理和调度 。
腾讯开源业界首个云原生标准的一站式微服务管理框架Femas
文章图片

Femas总览
Femas微服务治理方案
Femas从控制面和数据面两个角度 , 定义了一套适合当前社区主流技术栈的微服务治理方案 , 方便企业在不变更基础设施的情况下 , 落地整套企业级的微服务解决方案 。

  • 数据面:Femas运用Multi-runtime的架构设计 , 将微服务底层的核心能力标准化、模块化 , 将微服务领域割裂的基础组件通过合理的架构组装在一起 , 来满足多元化的微服务场景 , 轻量化、可移植、低成本、无云厂商绑定 。
  • 控制面:Femas提供统一的控制面标准协议 , 以及一套包含了治理、资源等微服务概念的CRD定义 , 同时也支持多数据面下发 。
Femas帮助不同的用户群体过渡到微服务架构:
  • 面向最终用户:Femas提供了完整的控制台能力 , 并且提供了常见的框架插件 , 兼容主流开源技术 , 用户只需添加Pom依赖 , 就能方便快捷的拥有全套的可视化微服务运行时能力 。
  • 面向自研框架团队: Femas采用插件化设计 , 制定了一套符合Multi-runtime标准规范的微服务API接口 , 在此之上、更增加了微服务运行时的抽象层 , 框架团队可以通过高度封装 的API接口 , 将任意自研框架接入Femas , 获得全套可视化的微服务运行时能力 。
  • 面向平台团队:Femas抽象了微服务运行时会用到的几乎全部组件能力 , 并且提供了大量的实现 。 平台团队也可以通过自定义组件的实现 , 组装成符合公司内部平台情况的私有微服务平台提供给公司研发使用 。
微服务管理的统一
  • 统一概念:这里的概念由多个维度组成 , 比如统一物理机、虚拟机、容器等不同基础资源的概念 ,或者像不同企业厂商对基础设施的定义都有一套各自的业务语义 , 类似可用区、命名空间等 。 为了将上述这些不同体系维度的技术栈融合到同一套控制面 , Femas在控制面层统一了不同体系的概念 , 为控制面协议的标准化统一提供基础 。
  • 统一能力:Femas定义了微服务运行时所需要的标准能力矩阵 , 并将所有能力进行封装 , 让企业能够基于Femas快速的构建一套企业级的标准微服务管理平台 , 能力可扩展 , 方便升级和维护 。
  • 统一治理: 针对不同协议框架 , 不同语言的微服务体系 ,Femas制定了一套无关框架协议的治理标准API接口 , 让企业的异构微服务架构都能无缝集成Femas , 让多语言、多框架的微服务技术栈都能在一套平台上面统一纳管 。
腾讯开源业界首个云原生标准的一站式微服务管理框架Femas
文章图片

控制面治理协议标准的统一
Femas制定了一套统一的CRD , 其中包括了治理规则定义 。
同一套控制面规则协议支持多数据面 , 既可下发规则到SDK/AGENT , 也可以下发给Sidecar 。

特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。