Femas:腾讯云开源微服务治理平台
1. 项目介绍
Femas 是腾讯云微服务平台 TSF 的开源版本,专注于微服务的运行状态,提供一站式的微服务管理控制能力,包括多框架统一服务发现、南北向和东西向流量管理、服务可观测性和配置管理等功能。在服务架构转型中,解决了异构框架难以复用、流量管理控制困难、故障排查恢复耗时等问题。
Femas 采用多运行时架构设计,标准化和模块化微服务的底层核心能力,通过合理的架构组装微服务领域分割的基本组件,满足多样化的微服务场景需求,实现轻量级、便携性、低成本、云无关的供应商绑定。当前社区提供了两种无代理模式下的治理数据平面:SDK 和业务无关的 JVM TI Agent。
Femas 提供统一的控制平面标准协议、一套治理协议,并支持多语言和多数据平面分发。
2. 项目快速启动
以下是快速启动 Femas 的步骤:
首先,确保你的环境中已经安装了 Java 和 Maven。
# 克隆项目
git clone https://github.com/TencentFemas/femas.git
# 进入项目目录
cd femas
# 构建项目
mvn clean install
构建完成后,可以开始运行服务。以下是一个简单的服务启动命令示例:
java -jar femas-example/target/femas-example-1.0.0.jar
确保你的服务配置正确,并且已经注册到服务发现中心。
3. 应用案例和最佳实践
以下是使用 Femas 的一些应用案例和最佳实践:
- 服务注册与发现:使用 Femas 提供的 SDK 将服务注册到 Consul、Nacos 或 Eureka 等主流开源注册中心。
- 服务治理:实现服务认证、API 管理、熔断降级、访问限流等功能。
- 服务配置:管理应用配置,实现配置热更新。
- 服务监控:通过 Femas 实现业务指标统计和链路追踪。
4. 典型生态项目
Femas 生态系统中包括以下典型项目:
- femas-adaptor:PaaS 平台适配层插件,用于适配不同的控制平面。
- femas-admin:管理后台模块。
- femas-admin-starter:管理后台的启动器。
- femas-agent:Java Agent 模块,用于字节码增强。
- femas-api:微服务生命周期的抽象层,方便用户连接异构 RPC 框架。
- femas-config:配置模块的抽象层。
- femas-config-impl:配置模块的实现层,支持 Consul、Nacos 等配置中心。
- femas-dependencies-bom:统一管理 Femas 依赖版本。
- femas-example:演示项目,包含与 Spring Cloud、Dubbo 等框架的集成示例。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



