WeLogic集群简单介绍
什么是中间件 |
中间件(middle)是基础软件的一大类,属于可复用软件的范畴,顾名思义,中间件处于操作系统软件与用户的应用软件的中间
中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效的开发和集成复杂的应用软件。在
众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算机资源和网络通信。
1.1.2 BEA公司介绍 |
著名的java中间件软件公司,美国NASDAQ上市公司,其中间件市场份额一度比IBM还要高。2008年初被ORACLE收购,客户选择BEA公司来帮助其将已有的企业软件应用,从笨拙的、冗余的、遗留的客户机/服务器架构体系,发展成为响应灵敏的、成熟的Web基础结构
1.1.3 什么是WebLogic |
Weblogic是美国ORACLE公司出品的一个applicationserver确切的说是一个基于JAVAEE架构的中间件,BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。
1.1.4WebLogic与Tomcat比较 |
WebLogic特点 | Tomcat特点 |
WLS全面支持J2EE的标准规范和其他标准规范,Web service ,SSL,xml等 同时BEA为众多规范组织的制定者之一 | Tomcat只支持部分J2EE标准,应用局限性强,不支持EJB |
完善的售后支持 | 没有售后支持,看社区与论坛 |
集群机制,支持分布式的应用 | 不支持 |
Web控制台进行组件、JDBC、管理和配置 | 不支持 |
热部署新Web、EJB应用 | 不支持 |
1.1.5什么是负载均衡 |
在集群系统中。来日客户的请求可以进行平均分配。把相应的进程分发给与之共同承担任务的服务器,从而不影响应用程序的运行,大多数中间件都支持负载均衡,实现负载均衡大大降低了系统的崩溃现象,从而减少对企业带来的损失。
1.1.6 什么是分布式 |
什么是分布式计算?所谓分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。分布式网络存储技术是将数据分散的存储于多台独立的机器设备上。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,不但解决了传统集中式存储系统中单存储服务器的瓶颈问题,还提高了系统的可靠性、可用性和扩展性。
1.1.7 下载weblogic |
WEBLOGIC10是系统运行的Web服务器,安装文件下载地址
http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-main-097127.html
双击打开
1.1.8 Weblogic安装 |
#创建weblogic用户组。
[root@admin /]# groupadd weblogic
[root@admin /]# useradd -g weblogicweblogic
[root@admin /]# passwd weblogic
#创建/usr/local/weblogic/目录
[root@admin /]# mkdir -p/usr/local/weblogic/
#修改目录所有者权限
[root@admin /]# chown -Rf weblogic:weblogic/usr/local/weblogic/
#进入/cd/local
[root@admin /]# cd /usr/local
运行. #赋予.jar可执行权限
# chmod a+x /usr/local/wls1036_linux32.bin
wls1036_linux32.bin –mode=console
1.1.9 需要注意的 |
64位系统安装之前 需要装32的支持
yum install glibc*.i686
Weblogic支持32位和64位的JDK,如果使用64位版本的JDK,需在启动脚本中加指向64commEnv.sh 配置文件中,
/common/bin|commEnv.sh
if [ -n "${LIBPATH}" ]; then
LIBPATH=${LIBPATH}:${WL_HOME}/server/native/aix/ppc64
else
LIBPATH=${WL_HOME}/server/native/aix/ppc64
fi
LIBPATH=${PATCH_LIBPATH}:${LIBPATH}
export LIBPATH
WEBLOGIC 默认的指向是ppc目录,不是ppc64目录,当时为了下载64位的libmuxer.so浪费了很长的时间,后来发现weblogic的目录下面已经存在64位的。
WebLogic10.3两种模式的切换
WebLogic安装时默认是开发模式,为了模拟生产环境就选择了生产模式,为了缩短测试环境部署周期,想使用WebLogic的FastSwap技术,而FastSwap只支持开发模式,于是通过改变配置实现开发模式和生产模式的切换。
我用的64位系统,并且JDK使用的是64位的,因此做了如下修改:
commEnv.sh 配置文件中,/weblogic/bea/wlserver_10.3/common/bin|commEnv.sh
将SUN_ARCH_DATA_MODEL改为64
JAVA_USE_64BIT改为true
3.使用 Weblogic Native IO对系统性能至少有30%的提升(这个BEA 工程师说的),在生产环境中,注意检查 Native IO 是否可用。同时在安装Weblogic时,注意使用与之相对于版本的JDK。注意OS版本,和位数一定要搞清楚,并对应上。
1.2.1:如果管理服务器停止了怎么办? |
管理服务器
(异常)结束运行对被管理服务器的运行没有影响
可以在被管理服务器运行期间重新启动
能够重新建立与所有被管理服务器的连接
1.2.2 管理服务器容错 |
在另外一台机器安装WSL系统
拷贝所有应用文件到新机器
拷贝所有配置文件到新机器
在新机器重新启动管理器
新的管理服务器将联系所有的被管理服务器,同时告之他们服务器的IP已经更改。
1.2.3 控制台管理 |
WebLogic管理控制台是基于浏览器的,图形化的管理工具,用于管理domain的资源,在控制台上可以:
配置,启动,或停止WebLogicServer(实例)
配置WebLogicServer集群
配置WebLogicServer的服务,如JDBC,JMS等
配置安全参数,包括映射用户,组合角色
配置和部署应用
监控Server和application的性能
查看Server和domain的日志文件
查看应用的部署描述文件
1.2.4 启动和退出管理控制台 |
启动管理控制台
管理服务器启动后,可以在浏览器中启动管理控制台
输入URL:HTTP://localhost:prot/console
比如http://10.0.2.198:7001/console
在弹出的console Login中输入用户名和密码
1.2.5 WebLogic Server集群介绍 |
WebLogic Server集群
WebLogic Server集群是一组相互协作的WebLogicServer实例
集群提供了高可用性,负载均衡,可拓展性
1.2.6什么样的服务能被集群 |
一个集群的服务是一组在集群中的多个服务器上都可用的API或接口
WebLogic Server提供了一下的集群服务
WEB应用
EJB和RMI对象
JNDI树
WebLogic Server也为以下资源提供了部分的集群特性:
JDBC连接
JDBC连接工厂
JVM CONNECTION Factories
1.2.7 什么样的服务不能被集群 |
WebLogic Server不提供对一下资源的集群:
文件服务
时钟服务
这些服务仍然可以部署在集群的某个服务器上,但不能享受一下特征:
负载均衡
容错
1.2.8 一个基本的集群架构 |
一个基本的集群将静态HTTP、表示层逻辑、业务层逻辑和对象置于一个集群中
1.2.9多层架构的集群 |
Web层和业务逻辑层的服务放在两个不同的集群中
1.2.10集群中服务器间的通信 |
集群中的各个实例用IP进行相互间的通信:
Multicast(UDP)
套接字(端对端TCP)
IP multicast在集群的多个实例进行一对多的通信
IP 套接字用作在服务器间进行端对端的通信
一对多通信:
WebLogic Server的一对多通信用在:
集体范围内的JNDI更新
集群“心跳”
因为所有的一对多通信都用IP Multicast,所以在设计集群时牢记以下事项:
IPmulticast将集群限制在一个局域网内
防火墙会阻碍IPmulticast的传播
2:WebLogic目录介绍: |
coherence_3.7: 集群组件
modules: 第三方的模块包
user_projects: 存放域的文件夹(必须要创建)
wlserver_10.3: weblogic目录
2.1:域 |
域:逻辑名称:域中可以有多个服务器,但是只能有一个主服务器,而且这些服务器可以在不同计算机中默认创建域后会自动生成一个主服务器(AdminServer).默认的端口为7001
默认域的目录:/usr/local/weblogic/user_projects/domains/base_domain
base_domain/autodeploy:用于存储主服务器部署的项目(在weblogic中主服务器尽量不要部署项目,它是用来启动后台控制面板和管理其它服务器的)
2.2:受管服务器 |
创建多个“节点”(受管服务器),然后把项目部署到节点服务器中,用主服务去启动“受管服务器”
base_domain/bin/startMangedWeblogic
startmanagedweblogic.sh"被启动节点服务器"指定启动当前节点服务器的主服务器(服务器的地址必须和创建节点服务器指定的监听地址相同)
startmanagedweblogic.sh server1http://10.0.2.198:7002
2.3:访问受管服务器 |
访问受管服务器项目(访问没问题则代表服务器运行正常,但是访问的时候是通过7002/7003访问的,此方式并不是集群,我们需要提供一个公共地址+端口)
2.4:代理服务器 |
创建了一个代理服务器(此服务不用部署项目,而是用于转发请求)proxy(7004)以后访问http://10.0.2.198:7004此地址可以完成请求的转发
2.5:集群 |
创建一个集群,把server-2,server-3设置到集群中,proxy(7004)向集群转发请求
2.6:转发 |
给代理服务器配置转发的信息