我遵循了Archaius的this文档以及其他一些在线文章。但是,大概每个服务都应具有Archaius或与配置相关的代码/依赖关系(-jars)以加载配置值。我担心的是,如果需要更改加载配置,则必须重新加载/重新部署每个服务。
Q1。谁能让我知道如何保留集中式的Archaius配置服务,以便客户端服务提取配置。
相反,Spring Cloud Config服务器可以完成这项工作-所有配置都集中在一个地方。但是我觉得它缺少从自定义资源加载配置的功能-例如,如Archaius提供的那样,从数据库加载数据。
Q2。是否有解决方法可以使Config Server从Archaius加载配置?
最佳答案
对于Q1,您应该查看Archaius的2.x分支,特别是https://github.com/Netflix/archaius/blob/2.x/archaius2-persisted2/src/main/java/com/netflix/archaius/persisted2/Persisted2ConfigProvider.java。它被配置为对将在您的Config前面的某些服务进行调用。在Netflix,我们有由Cassandra支持的休息服务。自然,您可以随心所欲地支持它。但是有一点警告,这个Archaius设置是为Guice制作的,需要一些手动设置。例如,如果您一直在使用Spring Boot / Cloud启动器,那么它并没有您所期望的那么无缝。
对于第二季度,Spring Cloud Config确实支持loading data from a DB。另外,根据我对Spring产品的经验,如果您想做更多定制的事情,它们几乎总是很容易扩展到您自己的目的。
一般建议:如果您除了远程配置之外没有其他需要/使用Archaius的权限,并且您是Spring用户,我建议您只使用Spring Cloud。它将容易得多,并且可以很好地满足您的要求。
Archaius提供了一种以最小的性能影响来处理读取动态更改的Config的方法。如果您不在Spring中,或者碰巧需要快速访问动态属性,请考虑使用Archaius。
关于spring - 具有Spring Cloud Config服务器的Netflix Archaius,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48165942/