Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java enterprice应用程序的配置管理服务器_Java_Jakarta Ee_Configuration - Fatal编程技术网

java enterprice应用程序的配置管理服务器

java enterprice应用程序的配置管理服务器,java,jakarta-ee,configuration,Java,Jakarta Ee,Configuration,我们有一个java企业应用程序,应该运行在服务器集群上。该应用程序由运行在这些服务器上的一些web容器承载的不同WAR组成 现在,我们为该应用程序提供了许多不同的配置,仅举几个例子: 关系数据库主机/端口、凭据等 非关系数据库配置—类似mongo、redis等 内部查找配置(如何在SOA体系结构中获得web服务,诸如此类) 日志相关配置,log4j.xml 连接池配置 也许将来会有一些智能负载平衡的内部设置,也许会有多租户支持 除了这个多环境之外,还有测试/登台/生产/开发等等,上面提到的所有示

我们有一个java企业应用程序,应该运行在服务器集群上。该应用程序由运行在这些服务器上的一些web容器承载的不同WAR组成

现在,我们为该应用程序提供了许多不同的配置,仅举几个例子:

  • 关系数据库主机/端口、凭据等
  • 非关系数据库配置—类似mongo、redis等
  • 内部查找配置(如何在SOA体系结构中获得web服务,诸如此类)
  • 日志相关配置,log4j.xml
  • 连接池配置
  • 也许将来会有一些智能负载平衡的内部设置,也许会有多租户支持
  • 除了这个多环境之外,还有测试/登台/生产/开发等等,上面提到的所有示例都有不同的主机/端口,我们还提供了十几个配置文件

    在我看来,所有这些都不是与应用程序的业务层直接相关的东西,而是可以被认为是所有应用程序的“通用”,至少在java企业世界中是这样

    所以我想知道是否存在一些解决方案来处理这种配置管理

    基本上,我在寻找以下能力:

    • 使用此配置服务器的主机/端口在群集中的任何服务器上启动我的war
    • 战争将“注册”自己并“下载”所有需要的配置。当然,它将具有应用此配置的适配器
    • 这样,集群中不同的JVM中的所有n个战争都开始了(它们都不共享架构,所以我认为它们是独立部署的部分)
    • 现在,如果我想更改一些设置,例如,将某个记录器的日志级别设置为调试,我将转到此配置服务器的管理控制台UI并应用更改。 由于该管理中心知道所有战争(因为它们是注册的),它应该通知它们设置的更改。我希望能够更改一个特定WAR或集群范围的设置。如果承载应用程序的某个web服务器重新启动,它将再次请求配置,并将获得包括该记录器的调试级别在内的配置

      • 我不是在寻找基于部署系统(如puppet、chef等)的解决方案,因为我也想在运行时更改设置
    到目前为止,我找不到任何适合下降的解决方案。当然,我可以自己制作这样的东西,但我不想重新发明轮子,所以我在这里征求意见,任何帮助都将不胜感激。
    提前谢谢

    您可能会喜欢Apache。是的,谢谢Elliott。我知道ZooKeeper很不错,如果我选择“自己动手制作”的解决方案,它可能会在ZooKeeper之上实现,尽管我认为我不需要在这里并发写入,因为修改应用程序的唯一方法是在某个管理控制台上使用专用UI(如我所见)。我有几乎相同的需求,所以我正在考虑自己写一本。在我跳上那列火车之前,你有幸自己找到或制作了什么东西吗?嗯。就我而言,这一次实际上被推迟了。但似乎动物园管理员真的是我最好的选择。另一个解决方案是类似于netflix一套服务的eureka,我想,但我不完全确定它是否能满足我的需求。