WebLogic及其重要概念

余生颓废 提交于 2020-02-01 16:48:56

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等由服务器管理,选项也较多,开源免费的占有额稍微居高。以下是撷取的一个占有额的图。
在这里插入图片描述

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,用来修改配置和部署应用。
  • 一个域下可以没有受管服务器
  • 一个管理服务器可以管理一个或多个受管服务器

关系如图:
在这里插入图片描述
管理服务器负责管理对Domain进行管理,
托管服务器启动前需要需要先启动管理服务器。
但在两者都启动后,关闭管理服务器之后,托管服务器依旧可以运作,也就是应用还可以正常访问,只是无法连接控制台进行部署更新和配置等。

集群(Cluster)

集群是多个Managed Server的集合。
在这里插入图片描述

集群可以用来做HA和负载均衡。一般会增加一个代理服务,结构类似:
在这里插入图片描述
以上部分会在下一篇进行介绍和演示。

实际服务架构选择

在实战中,Weblogic的服务架构可以参考如下:

  1. 开发或是学习,只需要一台机器,配置管理服务器即可, 应用部署在管理服务器上, 默认端口 7001, 也就是:
    管理控制台的地址是: http://localhost:7001/console
    应用部署后的地址(比如应用名myapp)http://localhost:7001/myapp

  2. 一般正式应用,一台机器,一个域,一个管理服务器,一个受管服务器 。管理服务器负责配置以及对受管服务器等进行管理, 受管服务器部署应用。

  3. 大型应用,多台机器,一个域,一个管理服务器,多个受管服务器。没有Session共享的状况,允许多个地址进行访问(包括仅端口不同),新增多个受管服务器。
    但是常见的状况是通过统一的地址访问应用,而且由Session共享的需求,这种状况需要配置集群。
    不集群虽然也可以适用L4 Switch等进行请求的负载均衡,但使用Weblogic的自身负载均衡是较为简单的方式。

————————————————————————
有劳给博主投个票(每次可以点5下)。投票方式:
1. https://bss.csdn.net/m/topic/blog_star2019 找到“扫码为博主投票”,在这个地址扫微信或QQ进入投票页面。
2.搜索72(或是搜索oscar999), 投票按钮点击5次。
感谢 ^^

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!