14.3. 容器级别的锁定


概述

容器级锁定允许将捆绑包预加载到从内核实例中,从而提供更快的故障切换性能。简单文件和 JDBC 锁定机制都支持容器级锁定。

配置容器级别锁定

要实现容器级别的锁定,请将以下内容添加到 master/slave 设置中的每个系统的 etc/system.properties 文件中:

例 14.7. 容器级别的锁定配置

karaf.lock=true
karaf.lock.level=50
karaf.lock.delay=10000

karaf.lock.level 属性告知 Red Hat Fuse 实例启动 OSGi 容器的引导过程多多。然后,分配到同一起始级别或较低的捆绑包也会在该 Fuse 实例中启动。

捆绑包启动级别在 etc/startup.properties 中指定,格式为 BundleName.jar=level。核心系统捆绑包的级别低于 50,其中用户捆绑包的级别大于 50。

表 14.1. 捆绑包开始级别
开始级别行为

1

'cold' 备用实例。核心捆绑包不会加载到容器中。从设备将等待到锁定启动服务器。

<50

'hot' 备用实例。核心捆绑包被加载到容器中。从设备将等到锁定获取以启动用户级别捆绑包。此级别的每个从实例都可以访问控制台。

>50

不建议此设置,因为将启动用户捆绑包。

避免端口冲突

当在同一主机上使用"热"备用时,您需要将 JMX 远程端口设置为唯一值,以避免绑定冲突。您可以编辑 fuse 启动脚本(或子实例上的 karaf 脚本),使其包含以下内容:

DEFAULT_JAVA_OPTS="-server $DEFAULT_JAVA_OPTS -Dcom.sun.management.jmxremote.port=1100 -Dcom.sun.management.jmxremote.authenticate=false"
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.