Red Hat JBoss Enterprise Application Platform 简介
了解 Red Hat JBoss Enterprise Application Platform (JBoss EAP)、JBoss EAP 子系统和 JBoss EAP 提供的不同操作模式
摘要
提供有关 JBoss EAP 文档的反馈 复制链接链接已复制到粘贴板!
要报告错误或改进文档,请登录到 Red Hat JIRA 帐户并提交问题。如果您没有 Red Hat Jira 帐户,则会提示您创建一个帐户。
流程
- 单击以下链接 以创建 ticket。
- 在 Summary 中输入问题的简短描述。
- 在 Description 中提供问题或功能增强的详细描述。包括一个指向文档中问题的 URL。
- 点 Submit 创建问题,并将问题路由到适当的文档团队。
使开源包含更多 复制链接链接已复制到粘贴板!
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于这一努力的精力,这些更改将在即将发布的版本中逐渐实施。有关让我们的语言更加包含的更多详情,请参阅我们的CTO Chris Wright 信息。
第 1 章 Red Hat JBoss Enterprise Application Platform 简介 复制链接链接已复制到粘贴板!
在开始使用 Red Hat JBoss Enterprise Application Platform 之前,您必须了解 JBoss EAP 使用的一些常规组件。
了解这些组件时,您可以增强 JBoss EAP 的使用以及配置 JBoss EAP 的功能。
1.1. JBoss EAP 的使用 复制链接链接已复制到粘贴板!
Red Hat JBoss Enterprise Application Platform (JBoss EAP) 8.0 与 Jakarta EE 10 规范兼容,如 Web Profile、Core Profile 和 Full Platform 规格。JBoss EAP 的每个主要版本都为您提供经过测试、稳定和认证的产品。
JBoss EAP 为高可用性集群、消息传递和分布式缓存等功能提供预配置的选项。
您可以使用 JBoss EAP 使用支持的 API 和服务来部署和运行应用。另外,您可以配置 JBoss EAP 以满足您的需要,例如:
- 您可以自定义 JBoss EAP,使其只包含满足您的需要子系统。
- 您可以使用管理命令行界面(CLI)来编写和自动执行任务,以避免编辑 XML 配置文件。
当社区项目达到所需的功能完整级别时,JBoss EAP 的主版本将从 WildFly 社区项目分叉。主版本被测试,直到为生产环境提供稳定、认证和增强。
在 JBoss EAP 主版本的生命周期中,所选功能被大量使用,并从社区项目中后向移植到主版本中的次版本。每个次发行版本都会对主发行版本引入了功能增强。
1.2. JBoss EAP 功能 复制链接链接已复制到粘贴板!
JBoss EAP 包括各种功能,以满足您的组织的需求。
| 功能 | 描述 |
|---|---|
| 兼容 Jakarta EE | JBoss EAP 8.0 是 Web Profile、Core Profile 和 Full Platform 规范的 Jakarta EE 10 兼容实现。 |
| 受管域 | 与只支持单个服务器实例的单机服务器相比,提供多个服务器实例和物理主机的集中管理。 提供配置、部署、套接字绑定、模块、扩展和系统属性的服务器组管理。 提供应用程序安全性和安全域的集中式和简化的管理。 |
| 管理控制台和管理 CLI | 用于配置和管理 EAP,如部署和取消部署应用、配置系统设置和执行其他管理任务。 管理 CLI 包含批处理模式,用于脚本和自动执行管理任务。 重要 在 JBoss EAP 运行时,请勿直接编辑 JBoss EAP XML 配置文件。使用管理 CLI 修改配置。 |
| 简化目录布局 | 模块目录包含应用服务器模块。 域名目录包含受管域的配置。 独立目录包含单机服务器实例的配置。
部署、日志、 |
| 模块类加载机制 | JBoss EAP 使用 JBoss 模块,它是一个线程安全、快速和高度并发的、委派类加载程序模型,对对给定模块或应用程序可见的类进行精确控制。 |
| 简化的数据源管理 | 数据库驱动程序部署与其他 JBoss EAP 服务类似。 管理控制台和管理 CLI 会创建和管理数据源。 |
| 统一安全框架 | Elytron 提供了单一统一框架,用于管理和配置受管域中单机服务器和服务器的访问。 此外,Elytron 还用于为 JBoss EAP 服务器上部署的应用程序配置安全访问。 |
1.3. 应用程序服务器 复制链接链接已复制到粘贴板!
应用服务器或应用服务器是提供运行 Web 应用程序的环境的软件。大多数应用服务器使用一组 API 来为 Web 应用提供功能。例如,应用服务器可以使用 API 连接到数据库。
1.4. JBoss EAP 子系统 复制链接链接已复制到粘贴板!
JBoss EAP 将 API 整理到子系统中。您可以配置这些子系统,以增强 JBoss EAP 实例的功能。例如,您可以调整子系统以提高性能、配置安全性,并配置与数据库、身份提供程序、消息传递代理等外部资源的连接。
管理员可以根据应用的目标,配置这些子系统来支持不同的行为。
例如,如果应用需要数据库,您必须配置数据源,以便 JBoss EAP 服务器或域服务器上部署的应用程序可以访问数据库。
1.5. JBoss EAP 的高可用性(HA)功能 复制链接链接已复制到粘贴板!
HA 服务用于通过防止单一故障点(故障切换)来确保部署的 Jakarta EE 应用的可用性,并防止高请求卷(负载平衡)期间长时间延迟。
JBoss EAP 中的 HA 指的是多个 JBoss EAP 实例,它们协同工作,以交付对数据流、服务器负载和服务器故障影响最多的应用程序。除了负载平衡外,HA 也纳入可扩展性和容错能力。
1.6. JBoss EAP 中支持的操作模式 复制链接链接已复制到粘贴板!
JBoss EAP 为已部署的应用程序提供了强大的管理功能。这些功能因用于启动 JBoss EAP 的操作模式而异。
JBoss EAP 提供以下操作模式:
- 单独管理实例的单机服务器
- 受管域中的服务器,用于从单一控制点管理实例组
第 2 章 Red Hat JBoss Enterprise Application Platform 设置 复制链接链接已复制到粘贴板!
您可以在运行一个或多个应用程序的单个服务器上配置 JBoss EAP 实例,或者您可以将多个 JBoss EAP 服务器实例与集群一起配置,以进行负载平衡和故障转移。
2.1. 使用单个 JBoss EAP 服务器实例的简单设置 复制链接链接已复制到粘贴板!
简单的 JBoss EAP 设置由运行一个或多个已部署的应用的单个服务器组成。
图 2.1. 使用单个 JBoss EAP 服务器实例的简单设置
JBoss EAP 实例使用 datasources 子系统连接以下组件:
- 数据库
- Kerberos 服务器
JBoss EAP 使用 elytron (security)子系统来连接 Kerberos 服务器,并将服务器公开给两个部署的应用程序。
JBoss EAP 使用 undertow 子系统来处理来自客户端服务器的请求,并将请求发送到适当的应用。
应用使用 JBoss EAP 公开的 API 来连接数据库和 Kerberos 服务器。应用完成其任务和 undertow 子系统,将响应发回到请求器。
2.2. 使用多个 JBoss EAP 服务器实例进行复杂的设置 复制链接链接已复制到粘贴板!
复杂的设置可能涉及多个 JBoss EAP 服务器实例。例如,您可以使用负载平衡器来在受管域中的 {JBoss EAP} 实例之间分发处理负载。
下图显示了三个 JBoss EAP 实例,它们由受管域中的负载平衡器排列:
图 2.2. 使用多个 JBoss EAP 服务器实例进行复杂的设置
在本例中,管理员将每个实例配置为使用 mod_cluster 和 infinispan 会话复制,为应用提供高可用性(HA)支持。每个实例包括以下组件:
- 一个 Web 应用程序
- Web 服务
- 已部署企业 bean
-
与
datasources子系统建立的数据库连接 -
与与
elytron(安全性)子系统建立的 LDAP 服务器的连接
图显示与复杂 JBoss EAP 设置关联的以下配置:
-
EAP 1 有一个
messaging-activemq子系统,配置有 Jakarta 消息传递队列,连接到外部消息代理。 - 外部消息代理在所有正在运行的 JBoss EAP 实例之间共享。
所有入站请求都经过负载均衡器。
- 根据配置负载平衡算法和每个 JBoss EAP 实例提供的信息,负载平衡器将请求定向到适当的 JBoss EAP 实例。
-
每个 JBoss EAP 实例使用
undertow子系统将请求定向到适当的应用程序。 - 每个应用都使用 JBoss EAP 公开的 API 来连接数据库和 Kerberos 服务器。
-
应用执行其工作后,
undertow子系统将响应发送到请求者。
infinispan 子系统在 JBoss EAP 实例中传播非持久性的信息,如会话信息。
第 3 章 JBoss EAP 8.0 的 Package Namespace Change 复制链接链接已复制到粘贴板!
本节提供了 JBoss EAP 8.0 中用于 package 命名空间更改的额外信息。JBoss EAP 8.0 对 Jakarta EE 10 以及 Jakarta EE 10 API 的许多其他实现提供全面支持。用于 JBoss EAP 8.0 的 Jakarta EE 10 支持的重要更改是软件包命名空间更改。
3.1. javax 到 jakarta 命名空间更改 复制链接链接已复制到粘贴板!
Jakarta EE 8 和 EE 10 之间的关键区别在于,将 EE API Java 软件包从 javax 重命名为 jakarta prerequisites。这遵循 Java EE 迁移到 Eclipse Foundation 并建立 Jakarta EE。
适应此命名空间更改是将应用程序从 JBoss EAP 7 迁移到 JBoss EAP 8 的最大任务。要将应用程序迁移到 Jakarta EE 10,您必须完成以下步骤:
-
将
javax软件包中的 EE API 类的任何导入语句或其他源代码使用到jakarta软件包。 -
更新任何 EE 指定的系统属性或其他以
javax开头的配置属性的名称,以从jakarta开始。 -
对于任何使用
java.util.ServiceLoader机制启动的 EE 接口或抽象类,请将识别 META-INF/services/javax 的实施类从META-INF/services/javax.[rest_of_name]改为META-INF/services/jakarta.[rest_of_name]。
Red Hat Migration Toolkit 可帮助更新应用程序源代码中的命名空间。如需更多信息,请参阅 如何使用 Red Hat Migration Toolkit for Auto-Migration of a Application to the Jakarta EE 10 Namespace。如果源代码迁移不是一个选项,则 Open Source Eclipse Transformer 项目会提供字节代码转换工具,来将现有 Java 存档从 javax 命名空间转换为 jakarta 命名空间。
这个更改不会影响作为 Java SE 一部分的 javax 软件包。
更新于 2024-02-08