FeatureProbe is an open source “feature” management service. It includes a series of management operations for “functional granularity” such as grayscale volume, AB experiment, real-time configuration change, etc. The “function” here includes any “function” involving code development, such as business functions, technological transformation, and operational activities. It allows developers, operators, and operation and maintenance personnel to complete online changes safely and efficiently, while finely controlling change risks.
Technological innovation:
The traditional grayscale release is based on the version as the granularity, and the grayscale test of the A/B version is done. The release strategy is relatively simple. Once a problem occurs, the scope of influence will be large. FeatureProbe, on the other hand, takes product functions as the granularity, can deploy code in advance, and control the release and closing of functions with one-key switch in the background, which takes effect in seconds, truly achieving low-risk and easy incremental iterative delivery.
1. Support multi-language SDK
The FeatureProbe SDK automatically handles each feature flag update. We support all major programming languages (Java, Rust, Golang, Android, iOS, Javescript, etc.), you can choose the SDK you need and integrate it into your server, client, and mobile applications according to your needs.
2. Support local storage
All FeatureProbe’s feature flags support the existence of local memory, which can greatly improve deployment efficiency without delay problems.
3. Real-time update of function release
When the feature flag is turned on/off in the FeatureProbe management background, it will take effect in seconds, no waiting, no lag, real-time observation of the release situation, and easy release.
Technology Architecture
FeatureProbe service consists of user management interface (Admin UI), back-end API, rule judgment and distribution service (Evaluation Server) and the SDK of each language. The overall structure is shown in the following figure:
User Interface
Provide users with a visual UI interface for function switch management. As shown in the screenshot below, users can update and publish rules on the UI,
The UI module is implemented based on the React framework, and adopts a single page application architecture (Single Page Application) to achieve complete separation of front and back ends.
Backend API
Provide data management functions and external Open API services for the UI.usStrict adherence to the design of the API The Restful specification, as a general API in the field of function management, not only provides core data management capabilities for the UI, but also enables you to automatically change and publish switch rules based on this API.
The design of this module is mainly based on the Spring Boot framework, and adopts the traditional three-tier architecture + domain model design. The overall model is as follows:
6. Judgment and distribution of rules (Evaluation Server)
Provides a high-performance switch rule determination engine and second-level data distribution capabilities.It mainly has two capabilities. On the one hand, it acts as a “bridge” between the API and the SDK, and sends the switch rules in the API to the Server SDK to ensure the rules.Changes and reads are eventually consistent, on the other hand, it provides the client SDK (such as H5, Andorid/iOS, etc.) with the ability to determine the rules in HTTP mode.Due to its stateless design andeventually consistent modelwhich means that it has high scalability.
FeatureProbe Server is implemented in Rust language, which naturally has high performance and high reliability. As shown in the figure above, rapid horizontal expansion allows you to easily cope with large-scale traffic access. At the same time, we are already planning to use the multiplexing + publish-subscribe model to further improve the performance of the server, so that the switching rules can be issued and taken effect in milliseconds after the change.
7. SDK
We provide SDKs for obtaining switch rule judgment results for all mainstream languages, allowing you to quickly access FeatureProbe in your application to achieve corresponding function switch capabilities. Since the SDK needs to be integrated in your application runtime environment, we have adopted a highly fault-tolerant and high-performance design for it. Even if the FeatureProbe Server is unavailable, it will not affect the normal reading of the switch rules that have taken effect in your application. , because we use multi-level cache and local memory-based rule logic calculation for the SDK on the server side, which supports obtaining the judgment result of the switch in nanoseconds.
#FeatureProbe #Homepage #Documentation #Downloads #Feature #Management #Publishing #Solutions #News Fast Delivery
FeatureProbe Homepage, Documentation and Downloads – Feature Management Publishing Solutions – News Fast Delivery