什么是WebLogic

WebLogic是美国Oracle公司出品的一个Application Server,确切的说是一个基于JAVAEE架构的中间件,BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器.

Weblogic特点Tomcat特点
WLS全面支持J2EE的标准规范和其他标准规范,Web Service, SSL, xml,EJB等Tomcat 为WEB容器,只支持部分J2EE标准, 应用局限性强,不支持EJB
完善的售后支持没有售后支持, 看社区与论坛
集群机制, 支持分布式的应用需要结合第三方插件/应用
Web控制台进行组件、JDBC、管理和配置
较好的支持热部署(开发模式下)
需要费用开源免费
WebLogic与Tomcat比较

Weblogic中的概念

域Domain

WebLogic Server中的域是逻辑上相关的一组 WebLogic Server 资源,可以作为一个单元进行管理.一个域中包含一台或多台 WebLogic Server,也可以包含 WebLogic Server 集群.域是由单个管理服务器管理的 WebLogic Server 实例的集合.

Administrator Server

管理服务器是控制整个域配置的中心操作节点,管理服务器维护着整个域 Domain 的配置并将配置分配到每个被管理服务器 Managed Server 中,每个域中都必须有一个Administration Server,Managed Server.

Managed Server

被管理服务器也是一个WebLogic Server的实例,他从Admin Server那里获取配置信息.通常在Managed Server上部署自己的服务、组件或应用.基于性能考虑,Managed Server维护着一份只读的域配置文件,当服务启动的时候,会从Admin Server上同步配置文件信息,如果配置文件发生了改变,Admin Server也会将改变推送到Managed Server上.

计算机Machine

指运行WebLogic Server实例的物理机器,通常与部属在其上的Managed Server相关联.Machine用于Node Manager(一个运行在物理服务器上的进程)

Cluster集群

集群是一组WebLogic Server的组合,集群是为了满足服务的高可用以及可扩展需求而出现的.需要注意的是,集群中的WebLogic Server必须版本号一致.同一个Domain中可以有多个Cluster

WebLogic生命周期

  • SHUTDOWN 状态下,WebLogic Server 实例已配置但处于非活动状态
  • STARTING 状态期间,由于执行”启动”、”管理模式启动”或”以待机模式启动”命令,WebLogic Server 实例从 SHUTDOWN 转换为 STANDBY
  • STANDBY 状态的服务器实例不处理任何请求,它的常用监听端口处于关闭状态.管理端口处于打开状态,可以接受将服务器实例转换为 RUNNING 或 SHUTDOWN 状态的生命周期命令
  • 在 ADMIN 状态下,WebLogic Server 启动并运行,但仅用于管理操作,您可以在此状态下执行服务器级和应用程序级管理任务,在此转换状态中,WebLogic Server 执行将其从 STANDBY 或 ADMIN 状态转换为 RUNNING 状态所需要的操作
  • 在 RUNNING 状态下,WebLogic Server 处于完全工作状态,可以向客户端提供服务并作为一个完整的集群成员运行

主要目录结构

  • Coherence:在可靠的、高度可伸缩的对等集群协议之上提供了复制的、分布式的(分区的)数据管理和缓存服务
  • Logs:系统日志目录
  • Modules:weblogic运行时需要的jar文件
  • User_projects:定义域存放的位置
  • Utils:用户可以存放的第三方工具包
  • Wlserver_10.3:weblogic的主目录
  • Autodeploy:当Weblogic服务实例与开发模式运行时,此目录下应用程序(ear,war)等将被自动展开服务
  • Bin:存放域中的可执行文件
  • Config:本域相关的配置文件
  • Console-ext:控制台信息,只应用于adminServer
  • Lib:存放库文件
  • Security:安全相关
  • Servers:包含域的所有服务
  • StartWebLogic.sh:调用bin下面StartWebLogic.sh

主要配置文件

setDomainEnv.sh
文件位置: ../user_projects/domains/xxdomain/bin 启动管理和被管服务器时的参数信息记录在此文件里。
例如:
设置堆内存的最小值和最大值-Xms256m,-Xmx512m设置perm区的大小-XX:PermSize=48m,-XX:MaxPermSize=128m
startManagedWebLogic.sh(启动被管理服务器)
文件位置: ../user_projects/domains/xxdomain/bin
nohup ./startManagedWebLogic.sh &
&是后台启动模式,即返回命令行格式下weblogic不会停止服务。
系统配置文件config.xml存放着域内所有的配置信息,该文件的存放位置为../user_projects/domains/base_domain/config/config.xml 可以使用文本编辑器直接修改,但不建议这样做,不能在weblogic运行期间修改config.xml,因为weblogic会定期重写config.xml文件,端口信息就保存在此文件中。

启动与服务相关配置

WebLogic的启动是通过启动文件来完成的,不同的服务定义在不同的启动配置文件中,都在域的bin目录中

  • StartWebLogic.sh:启动管理服务器
  • StartManagedWebLogic.sh:启动被管理服务器
  • StopWebLogic.sh:关闭管理服务器
  • StopManagedWebLogic.sh:关闭被管服务器

系统配置文件config.xml 存放着域内所有的配置信息,该文件的存放在域中的config目录的config.xml中,修改后端口信息就保存在此文件中

其他一些

什么是负载均衡/故障转移

负载均衡充当着网络流中“交通指挥官”的角色,“站在”服务器前处理所有服务器端和客户端之间的请求,从而最大程度地提高响应速率和容量利用率,同时确保任何服务器都没有超负荷工作.如果单个服务器出现故障,负载均衡的方法会将流量重定向到其余的集群服务器,以保证服务的稳定性.当新的服务器添加到服务器组后,也可通过负载均衡的方法使其开始自动处理客户端发来的请求.在集群系统中,来自客户的请求可以进行平均分配,把相应的进程分发给与之共同承担任务的服务器,从而不影响应用进程的运行,大多数中间件都支持负载均衡,实现负载均衡大大降低了系统的崩溃现象,从而减少对企业带来的损失.

简言之,负载均衡实际上就是将大量请求进行分布式处理的策略

故障转移指的是软硬件出现故障时,能够有其它相关的软硬件设备来承接相关的工作任务,以保障系统正常工作。

分布式计算

什么是分布式计算?分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果.

分布式网络存储技术是将数据分散的存储于多台独立的机器设备上.分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,不但解决了传统集中式存储系统中单存储服务器的瓶颈问题,还提高了系统的可靠性、可用性和扩展性.

什么是中间件

将具体业务和底层逻辑解耦的组件

BEA公司

著名的Java 中间件软件公司,美国NASDAQ上市公司,其中间件市场份额一度比IBM还要高.2008年初被Oracle收购,客户选择BEA来帮助其将已有的企业软件应用,从笨拙的、冗余的、遗留的客户机/服务器架构体系,发展成为响应灵敏的、成熟的Web基础结构.