我面临着一群java应用程序,它们需要不同的全局企业级属性来操作,例如:中央RDBMS的主机名、中央自助服务门户的主机名和位置、中央LDAP的主机位置、中央邮件服务器的主机位置等。
形式上,我们使用属性文件构建每个应用程序,其中定义了所有这些属性。但是这是一个非常糟糕的解决方案,因为如果邮件服务器的主机名发生变化,我们需要更改每个应用程序的属性文件,并再次部署所有应用程序。
我们的想法是集中这些属性,以便每个应用程序可以在运行时请求每个属性,例如:
建议采取哪些其他替代办法?什么是最先进的?
发布于 2014-05-27 13:18:04
与最后一种方法相关,使用web服务:您可能想看看阿帕奇动物园管理员。从其文件中:
ZooKeeper是一个集中服务,用于维护配置信息、命名、提供分布式同步和提供组服务。
你害怕这种方法对安全的影响是对的。请注意,Zookeeper来自Hadoop生态系统,因此它的初衷是为Hadoop集群和其他与Hadoop交互的服务(如Hive、HBase等)提供配置同步。
IMHO,Hadoop从来没有很好的安全意识,因为它期望所有这些服务都能在一个可信的环境中工作,但是它在这方面的表现越来越好,ZK可能是一个值得考虑的选择。您可以将ZK配置为在泄露所有机密之前执行认证与授权,但这些选项在默认情况下似乎是禁用的。
https://softwareengineering.stackexchange.com/questions/241203
复制相似问题