FF4J:作为功能存储的 REST 端点

FF4J: REST endpoint as a feature store

我目前正在考虑使用 ff4j 为我们的应用程序实现功能切换。我们想要一个远程中央配置应用程序,它将包含其中的所有功能,应用程序将通过 REST 与这个中央配置应用程序对话以获取功能。为此,我们将无法利用 Spring Cloud Config 或 Archaius。

我查看了文档,似乎支持 HttpClient (https://github.com/ff4j/ff4j/wiki/Store-Technologies#httpclient)。但我找不到任何相同的样本。有人可以让我知道我是否可以利用此方法从 REST 端点构建我的特征存储。另外,如果有人能指出我的示例,我将不胜感激。

这是一个常见的模式。

  1. 一个组件包含管理 UI(控制台)和 REST API。您可以将其称为“管理组件”。出于安全原因,它可能是唯一可以访问持久性单元的组件(可用的 15 个 DB 实现中的任何一个)

对于 "admin component" HERE is sample using standAlone spring-bppt application using JDBC DB, and HERE 你找到了一个简单的网络应用程序。

可以使用凭据 user/password and/or API 密钥保护 REST API。更多信息 HERE

  1. 所有微服务都作为客户端访问 REST API 并请求功能存储。您将需要持有客户端 http> 的依赖项 ff4j-webapi-jersey2xff4j-webapi-jersey1x 然后您可以使用 :

    定义商店

    FeatureStoreHttp storeHTT = new FeatureStoreHttp("http://localhost:9998/ff4j");

警告:请考虑使用 缓存 来限制在每次使用功能时访问 REST API 引入的开销。有关缓存的更多信息 HERE