FF4J:REST 端点作为特征存储

标签 ff4j

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

我浏览了文档,似乎支持 HttpClient ( https://github.com/ff4j/ff4j/wiki/Store-Technologies#httpclient )。但我找不到相同的样本。有人可以告诉我是否可以利用此方法从 REST 端点构建我的特征存储。另外,如果有人能给我提供一个示例,我将不胜感激。

最佳答案

这是一种常见的模式。

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

对于“管理组件”HERE是使用 JDBC DB 的独立 spring-bppt 应用程序的示例,并且 HERE您会发现一个简单的 Web 应用程序。

可以使用凭证用户/密码和/或 API key 来保护 REST API 的安全。更多信息HERE

  • 所有微服务都作为客户端访问 REST API 并请求特征存储。您将需要保存客户端 http> 的依赖项 ff4j-webapi-jersey2xff4j-webapi-jersey1x 然后您可以使用以下方式定义存储:

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

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

    关于FF4J:REST 端点作为特征存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51555453/

    相关文章:

    java - 集成 FF4j 的 Spring Boot REST 应用程序。如何修复依赖库的mvc映射?

    java - FF4J在spring项目中使用AOP注解@Flip时不会翻转

    java - Spring boot FF4j ff4j-spring-boot-starter 不包括 swagger 文档

    java - Spring 注入(inject)不适用于 FF4J Web 控制台

    ff4j 和 togglz 的性能比较

    java - "FF4J"(翻转)不适用于 "Hystrix"