![](https://img.kancloud.cn/d4/c2/d4c2cd222f990a1056c4397597030d36_1047x488.png)### Weblogic及其由来和历史
Weblogic是Oracle公司的Java应用服务器。可以用来集成和部署大型分布式Web应用、网络应用和数据库应用。
Weblogic最早由Weblogic公司开发,后来被BEA公司并入,所以早期Weblogic安装及界面有bea的元素。BEA被Oracle收购之后,成为Oracle公司的Oracle数据库之外的另外一个重量级的产品。
因其广受欢迎及优势,在其之上延伸了很多其他的企业中间件,比如Weblogic Portal, WebLogic Integration等,Oracle遂以Fusion Middleware (融合中间件)的字眼来命名。
### Weblogic与Tomcat等的优劣
Weblogic属于商业J2EE应用服务器,同类的产品有:
- IBM公司的Websphere
- 原Sun公司(现已被Oracle收购)的Glassfish,resin。Glassfish可以看出是官方的服务器,是首个实现Java EE 6规范的应用服务器。
- Red Hat的WildFly(也就是JBoss)
- Apache组织的Tomcat
**从费用上来看**,Weblogic和Websphere都是商业服务器,是收费的,Glassfish最早是免费,被Oracle收购后,也不是完全的开源免费了,但是提供社区开源版本,比如Payara即源自Glassfish开源版。WildFly和Tomcat都是完全的开源免费。
**从适用度来看**,收费的服务总归有其收费的道理。Weblogic、Websphere、Glassfish以及JBoss都属于J2EE应用服务器,属重量级框架,Tomcat只能算是JSP/Servlet容器,相对轻量级。一般的Java Web应用适用Tomcat即可,分布式或是大型的Web应用则选择Weblogic为宜。
**从市场占有份额来看,** tomcat占据了Java Web服务器的半壁江山,主要原因就是其简单,可以广泛适用在一般的Java Web应用。对于大型分布式的Web应用,数据源、JMS等由服务器管理,选项也较多,开源免费的占有额稍微居高。以下是撷取的一个占有额的图。
![](https://img.kancloud.cn/84/2d/842d9bb5b2668843e6db88cb6361772a_523x350.png)
### WebLogic重要概念
WebLogic的重要概念就是在管理控制台可以看到的概念,主要包括计算机、域、服务器、集群等,如下图示:
#### 计算机(Machine):
计算机代表的就是实际的机器,
- 如果使用单服务器,则基本可以忽略这个概念。
- 在集群架构中,托管服务器可以位于不同的机器中,默认机器之间使用SSL协议进行通讯。
#### 域(Domain)
域是一个逻辑概念,是Weblogic管理的基本单元, 包括一个Administration server和一个或多个Managed Servers。
#### 管理服务器(Administration Server)
负责Domain的管理,一般不管理应用(除非只配置该服务器),管理服务器可以通过管理控制台进行管理,可以管理的包括:
-域分区管理
-环境: 主要是计算机、服务器和集群等管理
-部署: 应用的部署
-服务:主要是数据源、消息以及邮件等管理。
-安全和日志等配置
在Windows下使用 startWebLogic.cmd 批处理启动。
#### 托管服务器(Managed Server)
也称受管服务器,主要用来部署Web应用。
-在同一机器中, 可以配置不多端口的多个托管服务器。
-也可以将托管服务器放在不同的机器中,通过管理服务器进行管理。
#### 节点管理器(Node Manager)
节点管理器是相对底层的概念,功能是启动之后建立与管理服务器的连接。在Windows下使用 startNodeManager.cmd批处理启动。
### 概念间的关系
域、计算机和管理服务器的结构关系
- 一个域下可以有一台或多台计算机
- 一个域有且只有一个Administration server,用来修改配置和部署应用。
- 一个域下可以没有受管服务器
- 一个管理服务器可以管理一个或多个受管服务器
关系如图:
![](https://img.kancloud.cn/21/ac/21ac68911fd9a1decaab68e1a34f3d6a_414x428.png)
管理服务器负责管理对Domain进行管理,
托管服务器启动前需要需要先启动管理服务器。
但在两者都启动后,关闭管理服务器之后,托管服务器依旧可以运作,也就是应用还可以正常访问,只是无法连接控制台进行部署更新和配置等。
### 集群(Cluster)
集群是多个Managed Server的集合。
![](https://img.kancloud.cn/3a/ad/3aad48161d5d01e22551c7117bb9383a_416x349.png)
集群可以用来做HA和负载均衡。一般会增加一个代理服务,结构类似:
![](https://img.kancloud.cn/56/9d/569d72fa2679af2ff220f673a00c14c4_310x219.png)
以上部分会在下一篇进行介绍和演示。
### 实际服务架构选择
在实战中,Weblogic的服务架构可以参考如下:
1. 开发或是学习,只需要一台机器,配置管理服务器即可, 应用部署在管理服务器上, 默认端口 7001, 也就是:
管理控制台的地址是: http://localhost:7001/console
应用部署后的地址(比如应用名myapp)http://localhost:7001/myapp
2. 一般正式应用,一台机器,一个域,一个管理服务器,一个受管服务器 。管理服务器负责配置以及对受管服务器等进行管理, 受管服务器部署应用。
3. 大型应用,多台机器,一个域,一个管理服务器,多个受管服务器。没有Session共享的状况,允许多个地址进行访问(包括仅端口不同),新增多个受管服务器。
但是常见的状况是通过统一的地址访问应用,而且由Session共享的需求,这种状况需要配置集群。
不集群虽然也可以适用L4 Switch等进行请求的负载均衡,但使用Weblogic的自身负载均衡是较为简单的方式。
*****
*****
- 1. WebLogic及其重要概念
- 2. Windows下Weblogic 12c单机安装与部署
- 3. Linux下WebLogic 12c启动、部署命令行
- 4. Windows单机之Weblogic 12c受管服务器配置
- 5. Weblogic负载均衡/Session复制之集群架构
- 6. Weblogic负载均衡/Session复制之集群架构续
- 7. WebLogic 12c的运行目录结构
- 8. WebLogic 12c JVM 内存调整
- Windows 下调整Weblogic 12C的JVM内存
- Linux 下调整WebLogic 12C 的JVM内存
- 9. 应用部署
- 10. 虚拟主机
- 11. 应用部署在WebLogic中Basic认证无法运行问题及解决
- 12. WebLogic 12c 中压缩传输的配置
- 13. Weblogic中如何实现自动转向系统维护页面
- 应用部署篇
- WebLogic应用部署之配置不需要应用名直接访问(配置默认应用)
- WebLogic中如何设置Spring Boot项目的属性
- Session超时配置
- WebLogic命令行远程部署
- 常用操作篇
- Linux 下命令行启动与关闭WebLogic的相关服务
- Linux 下查看WebLogic 的进程与服务的对应
- Linux下如何查看WebLogic的版本
- Linux 下自动化重启服务器
- 如何启动配置向导
- Windows下命令行启动与关闭WebLogic的相关服务
- 常用配置篇
- WebLogic 12c 配置 https
- weblogic.xml 的配置元素
- WebLogic 12C支持Basic认证
- 问题解决篇
- WebLogic 之 java.lang.OutOfMemoryError: GC overhead limit exceeded
- T3 之User failed to be authenticated.
- User xx in security realm myrealm has had 5 invalid login attempts, locking account for 30 minutes.