WebLogic 中间件介绍

2021-09-07 0 By admin

WebLogic是美国Oracle公司出品的一个应用服务器。同类产品还包括IBM的websphere、Redhat的JBoss、Sun(Sun公司已经被ORACLE公司收购)的Glassfish、resin等。

一、WebLogic 产品定位介绍

Webloigc 是目前主流 J2EE 服务器之一,支持符合 J2EE 标准的各类应用程序。
WebLogic 是用于开发、集成、部署和管理大型分布式的Web应用、网络应用和数据库应用的JavaEE应用服务器。
WebLogic Server 拥有处理关键Web 应用系统问题所需的性能、安全、可扩展性和高可用性,同时又易于安装、部署和管理。

1.1、WebLogic 系统的关键特性

WebLogic Server 拥有处理关键 WEB 应用系统问题所需的多种特色和优势,具体体现在以下几方面。

  1. 高扩展性。 当系统的整体性能不能满足业务压力要求时,为了提高吞吐量,不需要应用代码的修改,只要做系统横向或纵向的扩展,在集群中动态地添加新的WebLogic Server 实例,部署相应的应用。这样可以充分利用现有设备,并保证了系统良好的扩展性。
  2. 高可靠性。同样的服务可由集群中的多个 Server 来提供。
  3. 高可用性。集群中不管是管理服务器还是被管服务器,在出现故障时都能保证应用的继续运行。
  4. 高性能。对分布异构的支持,WebLogic 可以处理大量的并发访问。

二、Weblogic 运维层面介绍

2.1、WebLoigc 服务集群架构

Weblogic 服务集群架构

a、Domain 域

“域”就是逻辑上相关的一组WebLogic Server 资源,可以作为一个单元进行管理。域是一种管理功能,不涉及到 Weblogic 编程。
Webloigc 域可以用于区分:

  1. 开发应用程序、测试应用程序和生产应用程序
  2. 管理和运营职责
  3. 组织或业务划分。

b、服务器-管理服务器

管理服务器是域的中央控制点,存储域的配置信息和日志数据;运行 WebLogic 控制管理台。要修改域配置,域管理服务器必须正常运行。管理服务器是通过编辑 config.xml 文件来维护域的配置信息的。

c、服务器-受管服务器

域中不属于管理服务器的服务器为受管服务器,其与管理服务器联系以获得配置信息;用于运行业务程序。

d、计算机 Machine

计算机为承载一个或者多个 WebLogic Server 的计算机。

e、集群 Cluster

集群是一组相互协作的 WebLogic Server 实例。
集群的架构使 WebLogic 服务有两个优点:可伸缩/分布式、高可用。

f、节点管理器 Node Manager

在WebLogic 集群服务中,管理服务器和受管服务器都是部署在计算机Machine 上的。
如果管理服务器和受管服务器在运行中报错,挂掉了;则WebLogic 集群服务需要通过 Node Manager 节点管理器将服务拉起来。
另外通过 Node Manager 节点管理,也可以在 管理服务器灵活的管理 受管服务器(启动|关闭|新建)。

2.2、运维能力特性

上面介绍了 WebLogic 集群服务的整体架构,在部署和维护业务程序时,我们还需要知道一些功能扩展。这里介绍 WebLogic 作为J2EE规范的实现产品,需要具有的功能。

a、分布式部署

业务程序是部署在受管服务器上的,每个受管服务器监听的IP+Port 都是不同的。
多个受管服务器可以组成一个集群,此集群根据业务程序部署规划进行划分。
部署业务程序时,需要指定服务部署位置,可以为某个集群中,也可以为某些受管服务器上。
如果选择将业务程序部署在某个受管服务器集群中,则此业务程序的代码,会被拷贝到所有受管服务器中,并运行。

b、高可用(第三方Proxy 支持)

在集群模式的 WebLogic 服务中部署支持分布式的业务程序,每个业务程序实例都可以启动多个,达到负载均衡和分布式的要求。
不同的实例,其的绑定IP地址+port端口不同,所以在实例前端需要使用反向代理,使得对外提供统一的访问地址。
反向代理Proxy 有多种方式: F5硬件代理服务器、Apache|Nginx 服务器、WebLoigc Servlet 服务。

c、自动部署

在开发环境下,将服务部署到autodeploy 目录下,WebLogic 服务会自动的帮我们实现服务的部署和升级部署。

d、Admin Server 统一管理 | Managed Server 自动拉取资源(配置|软件)

所有域的配置,都是在 Admin Server 中修改的。
其他服务器会从 Admin Server 中拉取资源(配置信息|代码包等)。

e、SNMP 资源监控

SNMP: 简单网络管理协议,SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。
WebLogic 服务通过 SNMP 协议监控所有 服务器的状态。

f、日志|过滤器配置

受管服务器运行过程中产生的日志,主要存储在受管服务器运行目录中;部分高等级的日志(Wanging)会传输到给管理服务器。方便在管理服务器中,排查 WebLogic 集群的运行问题。
部署的业务程序代码,可以使用 WebLogic 提供的日志模块;将自身产生的业务日志,写入到 WebLogic 日志中。实现日志收集管理的功能。
WebLogic 服务管理页面,可以编辑日志过滤器。灵活地对日志收集过程做配置,收集想要的日志,丢弃不需要的日志。

三、Weblogic 开发层面介绍

根据 J2EE 规范的要求,其产品实现,需要对开发基于WEB 的多层应用提供功能支持。包括13个规范,请参考J2EE介绍。

J2EE(Java 2 平台企业版)介绍

3.1、开发特性支持

a、Session 共享复制

分布式集群方式部署的应用,需要考虑实例间 Session 共享的配置。 WebLogic 集群中的实现,需要将 业务应用部署在一个【消息传送模式】为“多点传送”的受管服务器集群中。

另外在开发中需要加固定的配置信息:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">
<weblogic-web-app>
<session-descriptor>
<persistent-store-type>replicated</persistent-store-type>
<sharing-enabled>true</sharing-enabled>
</session-descriptor>
</weblogic-web-app>