How Femas Enables One‑Stop Cloud‑Native Microservice Management
Femas, the first open‑source cloud‑native standard microservice management framework from Tencent, unifies control‑plane protocols and data‑plane components to help enterprises smoothly transition to cloud‑native architectures, offering modular, multi‑runtime capabilities, plug‑in extensibility, and a ready‑to‑use console.
Overview
Femas (GitHub: https://github.com/polarismesh/femas) is an open‑source, cloud‑native microservice management framework that defines a unified control‑plane protocol and a multi‑runtime data‑plane architecture. It enables standardized, modular management of microservice infrastructure without requiring changes to existing deployments.
Architecture
Data Plane : Implements a Multi‑Runtime design that abstracts core microservice capabilities (service discovery, configuration, observability, etc.) into interchangeable modules. These modules can be assembled into a lightweight, portable stack that is vendor‑agnostic.
Control Plane : Provides a unified protocol expressed as a set of Custom Resource Definitions (CRDs) covering governance rules, resource definitions, and other microservice concepts. The same CRDs can be pushed to SDKs, agents, or sidecar processes, and the SDK can also operate with local YAML files.
Plug‑in Design
Femas organizes functionality into three layers:
Component layer : Each capability is packaged as a plug‑in module and stored in a two‑level map <interface, <pluginName, pluginImpl>>.
Platform adaptation layer : Selects appropriate plug‑ins based on user configuration to satisfy specific platform requirements (e.g., internal PaaS, public cloud).
Protocol extension layer : Implements governance plug‑ins for various RPC frameworks (HTTP, gRPC, Dubbo, etc.), allowing lightweight, uniform integration.
Control‑Plane Governance Protocol
The governance CRD defines rule objects (e.g., rate limiting, circuit breaking). These rules are distributed to runtime components via SDK/Agent or sidecar, and can also be applied locally through YAML configuration without contacting the control plane.
Out‑of‑the‑Box Console
The provided console persists data by default in an embedded RocksDB instance. For horizontal scaling, it can be configured to use an external MySQL database. The storage interface is extensible, allowing other key‑value stores or relational databases to be plugged in.
Core Capabilities
Service discovery (Polaris integration)
Service governance (routing, fault tolerance, rate limiting)
Observability (metrics, tracing)
Configuration management
Distributed task scheduling
Distributed transactions
Full‑link gray release
Additional runtime capabilities (e.g., distributed locks)
Multi‑Runtime Concept
Inspired by Red Hat’s Multi‑Runtime model, Femas treats distributed capabilities (lifecycle, networking, state, binding) as separate runtimes that can be independently upgraded. This decouples business code from underlying middleware, enabling:
Standardized APIs for distributed capabilities.
Modular, version‑agnostic integration of new runtimes.
Removal of heavy SDK dependencies from application code.
Independent evolution of cloud‑native infrastructure and business services.
Roadmap
Open‑source the core SDK (Java, with Go SDK planned).
Release a ready‑to‑use visual PaaS platform.
Publish the CRD‑based microservice governance protocol.
Extend runtime capabilities (distributed tasks, transactions, gray release, etc.).
Provide non‑intrusive governance via bytecode enhancement or proxy.
Tencent Cloud Middleware
Official account of Tencent Cloud Middleware. Focuses on microservices, messaging middleware and other cloud‑native technology trends, publishing product updates, case studies, and technical insights. Regularly hosts tech salons to share effective solutions.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
