GlassFish Components 组件介绍

简介:                    来源:美丽的爪哇岛         GlassFish由一个或多个domain组成,一个domain是一个管理域,每个domain和一个administration server(也称作Domain Administration server或者DAS)关联,并可包含0到多个standalone instance或者cluster。

        

          来源:美丽的爪哇岛


        GlassFish由一个或多个domain组成,一个domain是一个管理域,每个domain和一个administration server(也称作Domain Administration server或者DAS)关联,并可包含0到多个standalone instance或者cluster。每个cluster有一个或多个同类型的instance,一个instance运行于一个单独的JVM中,domain中的instance可运行在不同的物理机器上。

       下面介绍一下GlassFish中的组件构成:
       Server Instance
       一个server instance运行在一个单独的JVM中,instance可分为两种:standalong和cluster。DAS就是一个standalong的instance,可以完全不依赖cluster而存在。对于cluster的instance,可以对应到weblogic中的managed server,我们也称作traffic server。
       Administrative Domain
       Glassfish中可以创建多个domain,一个domain管理一组server instance,一个instance属于一个单独的domain,domain中的instance可运行在不同的物理机器中。每个domain都有一套自己的配置、日志文件和部署区域,改变其中一个domain的配置不会影响到其它的domain。
       Domain Administration Server(DAS)
       一个domain有一个DAS,DAS是一个特别的server instance,它可以:验证管理员、接收来自于管理工具的请求、与domain中的instance进行通讯。DAS通常叫做admin server或者default server,把它称作default server是因为它是一个管理操作的默认目标。DAS中有一个仓库保存domain的配置和部署的应用,如果DAS宕机了,不会影响其它instance的运行,但是不能对管理的配置进行修改了,这时你需要创建一个新的DAS去restore之前的配置。
       Cluster
       一个cluster表示一组server instance,cluster内可以共享相同的应用、资源和配置信息。cluster可以包含不同物理机器上的instance,通过DAS可以很容易的对多机上的cluster的生命周期进行管理。Cluster能够让你很容易的处理水平扩展、负载均衡和宕机保护等问题。因为cluster中所有的instance都拥有相同的资源和应用配置,当一个instance或机器宕了,load balancer可以发现失败,并将traffic从失败的instance上重定向到cluster中的其它可用的instance,并回复session的状态。
       Cluster、domain和instance之间的关系如下:
  • 一个domain可以有0到多个cluster。
  • 一个cluster可以有一到多个server instance。
  • 一个cluster属于一个单独的domain。
       Node Agent
       Node agent运行在每个server instance的机器中,包括运行DAS的机器。node agent的作用是:
  • 根据DAS的指示去启动和停止instance。
  • 重启失败的instance。
  • 提供失败的server的log,以帮助远程诊断。
  • 同步每个server instance的本地配置仓库和DAS的中央仓库。
  • 当创建了一个新的instance时,它会创建instance所需的目录,并同步DAS的中央仓库到instance的本地仓库。
  • 当删除instance时执行适当的清理。
      每个物理机器至少需要一个node agent,如果一台机器中的instance属于多个domain,则每个domain都需要一个node agent,这种方式不推荐。因为node agent要监控server instance,所以node agnet必须要一直运行。

       理解了GlassFish中各个组件的作用,在企业级环境部署时,就可以比较容易的搭建相应的服务器架构,以使应用程序得到最优的运行方式。


整体架构图:图一

图二 配置Instance

图三 集群结构架构参考



目录
相关文章
|
9月前
|
存储 安全 API
微服务安全之 OAuth2 协议深度解析:从原理到实战落地
本文深入解析OAuth2协议在微服务安全中的应用,涵盖核心概念、四种授权模式(授权码、简化、密码、客户端凭证)、令牌机制(JWT结构、存储管理)、资源服务器实现及安全最佳实践,结合Spring Security实战代码,助力开发者构建安全可靠的系统。
1257 5
|
5月前
|
人工智能 机器人 定位技术
不会写代码也能懂:OpenClaw四层架构图解
本文用四张示意图,通俗拆解OpenClaw四大核心层:交互层(多端消息统一翻译)、网关层(路由/排队/调度中枢)、智能体层(会话、上下文、执行与记忆)、执行层(本地/远端节点+插件化技能)。帮你快速定位问题、理解消息全流程,零代码也能心中有图。
|
安全 Java API
什么是用于 REST API 的 Bearer Token以及如何通过代码和工具进行调试
Bearer Token 是一种基于 OAuth 2.0 的身份验证机制,广泛应用于 REST API 的授权访问中。它通过在 HTTP 请求头中传递令牌,确保用户凭据安全传输并验证。本文深入解析了 Bearer Token 的概念、实现步骤及调试方法,包括其无状态特性、灵活性与安全性优势。同时,提供了 Java 实现示例和使用 Apipost、cURL 等工具测试的实践指导,帮助开发者掌握这一核心技能,保障 API 系统的安全与高效运行。
|
设计模式 IDE API
C# 一分钟浅谈:GraphQL 客户端调用
本文介绍了如何在C#中调用GraphQL API,涵盖基本步骤、常见问题及解决方案。首先,通过安装`GraphQL.Client`库并创建客户端实例,连接到GraphQL服务器。接着,展示了如何编写查询和突变,以及处理查询语法错误、变量类型不匹配等常见问题。最后,通过具体案例(如管理用户和订单)演示了如何在实际项目中应用这些技术,帮助开发者更高效地利用GraphQL。
354 38
C# 一分钟浅谈:GraphQL 客户端调用
|
设计模式 API 数据处理
C# 一分钟浅谈:GraphQL 客户端调用
本文介绍了如何在C#中使用`GraphQL.Client`库调用GraphQL API,涵盖基本查询、变量使用、批量请求等内容,并详细说明了常见问题及其解决方法,帮助开发者高效利用GraphQL的强大功能。
433 57
|
算法 计算机视觉 索引
CV14 轮廓检测:入门
为什么?因为cv2.findContours()函数只能读黑白图,所以需要调用cv2.threshold()函数,而 阈值函数只能读灰度图
399 0
人工智能 缓存 前端开发
11159 52
人工智能 JavaScript 开发工具
4233 13