实战部署weblogic集群及发布应用(1)web
-----构建weblogic高可用系列(共7篇)数据库
weblogic的一些基本概念:编程
a.Domain :服务器
域是做为单元进行管理的一组相关的 WebLogic Server 资源。一个域包含一个或多个 WebLogic Server 实例,这些实例能够是群集实例、非群集实例,或者是群集与非群集实例的组合。一个域能够包含多个群集。域还包含部署在域中的应用程序组件、此域中的这些应用程序组件和服务器实例所需的资源和服务。应用程序和服务器实例使用的资源和服务示例包括计算机定义、可选网络通道、链接器和启动类。网络
b.Administration Server :ide
管理服务器是控制整个域配置的中心操做节点,管理服务器维护着整个域 Domain 的配置并将配置分配到每一个被管理服务器 Managed Server 中,每一个域中都必须有一个Administration Server。咱们能够经过三个渠道访问管理服务器:Admin Server console、Oracle WebLogic Scripting Tool WLST、JMX客户端(经过WebLogic提供的API来实现),最后咱们还能够经过SNMP协议来监控Admin Server的状态。性能
c.Managed Server :spa
被管理服务器是一个WebLogic Server的实例,他从Admin Server那里获取配置信息。一般在Managed Server上部署本身的服务、组件或应用。基于性能考虑,Managed Server维护着一份只读的域配置文件,当服务启动的时候,会从Admin Server上同步配置文件信息,若是配置文件发生了改变,Admin Server也会将改变推送到Managed Server上。对象
d.Machine :blog
Machine 是指运行WebLogic Server实例的物理机器,一般与部属在其上的Managed Server相关连。Machine用于Node Manager(一个运行在物理服务器上的进程,能够远程重启Admin 和 Managed Server)重启失败的Managed Server,以及为集群的Managed Servers选择合适的Session存放位置(Session避免存放在同一台Machine上)。
e.Node Manager:
运行在物理服务器上的一个进程,用来远程执行Admin Server 和 Managed Server的启动 Start、中止 Stop、挂起 Suspend、重启 Restart 操做。该进程与Domain并不关联可是与Machine相关连,若是你想在Admin Console 中对Server进行控制,则必须安装Node Manager。Node Manager 提供了Java-based和Script-based两个版本,实现的功能同样。
f. Cluster :
集群是一组WebLogic Server的组合,集群是为了知足服务的高可用(High Avilability)以及可扩展(Load Balancing)需求而出现的。须要注意的是,集群中的WebLogic Server必须版本号一致。Cluster须要注意的几个问题:不可以跨Domain、Cluster中的服务器必须在同一个域中、Domain中能够有多个Cluster。
weblogic集群优势:
a.可伸缩性
能够动态增长部署在 WebLogic Server 群集中的应用程序的容量以知足须要。能够将服务器实例添加到群集中而不会中断服务,应用程序将继续运行而不会影响客户端和最终用户。
b.高可用性
在WebLogic Server 群集中,当服务器实例失败时应用程序可继续进行处理。可经过将应用程序组件部署到群集中的多个服务器实例,“群集”这些组件,这样,若是在其上运行某个组件的服务器实例失败,则将此组件部署到的其余服务器实例能够继续进行应用程序处理。
群集WebLogic Server 实例的选择对于应用程序开发人员和客户端是透明的。可是,了解启用群集的技术基础结构将有助于编程人员和管理员最大化其应用程序的可伸缩性和可用性。
c.应用程序故障转移
简单的说,故障转移是当应用程序组件(在下列部分中一般称做“对象”)正在处理某个特定做业时 某些处理任务部分因为任何缘由而变得不可用,已失败对象的副本将结束此做业。 WebLogic Server 支持自动或手动将群集服务器实例从一台计算机迁移到另外一台计算机。可迁移的受管服务器被称做“可迁移服务器”。本功能适用于要求高可用性的环境。
d.负载平衡
负载平衡是在环境中跨计算资源与网络资源平均分发做业和关联的通讯。
哪一种类型的对象能够群集????
群集的应用程序或应用程序组件在群集中的多个 WebLogic Server 实例上可用。若是已群集某个对象,则此对象的故障转移和负载平衡是可用的。将对象均匀部署到群集中的每一个服务器实例,能够简化群集管理、维护和故障排除。
Web 应用程序可由不一样类型的对象组成,包括企业 Java Bean (EJB),servlet 和 Java Server Pages (JSP)。每种对象类型都具备惟一的一组与控制、调用以及它如何在应用程序内起做用相关的行为。因为此缘由,WebLogic Server 用于支持群集的方法,以及用于提供负载平衡和故障转移的方法,会因不一样的类型对象而异。可在 WebLogic Server 部署对下列类型的对象进行群集:
a.Servlet
b.JSP
c.EJB
d.远程方法调用(Remote Method Invocation,简称 RMI)对象
e.Java 消息服务 (JMS) 目标
f.Java 数据库链接 (JDBC) 链接
什么类型的对象不可群集????
如下 API 和外部服务不可在 WebLogic Server 内群集:
a.包含文件共享的文件服务
b.时间服务
在群集的各个 WebLogic Server 实例中仍可以使用这些服务。可是,这些服务不能使用负载平衡或故障转移功能。
weblogic集群限制:
a.集群中的WebLogic主机必须使用永久的静态IP地址。动态IP地址分配不能用于集群环境。若是服务器位于防火墙后面,而客户机位于防火墙外面,那么服务器必须有公共的静态IP地址,只有这样,客户端才能访问服务器。
b.集群中的全部WebLogic服务器必须位于同一个局域网,而且必须是IP广播可到达的。
c.集群中的全部WebLogic服务器必须使用相同的版本。配置集群中的服务器,使它们支持所提供的服务。对于使用了JDBC链接的EJB,全部部署了某EJB的服务器必须具备相同的部署与持久化配置。也就是说全部服务器都应该有相同的JDBC配置。全部部署了servlet的主机必须维护一组具备相同ACL的servlet。