weblogic洞若观火第1篇之开门见山

时间:2022-10-17 11:20:20

引言

本套文章主要讲解的是,在生产环境一步一步搭建weblogic的单机及高可用集群管理、在集群环境上部署Java系统应用。无论你是零基础的小白兄弟、在职的运维兄弟、在职的Java开发兄弟,都可以看看!

weblogic是中间件的一种,主流的中间件有:Tomcat、Weblogic、Jboss、Jetty、Webshere、Glassfish等等。

话说我最开始是为什么了会学weblogic呢?学习使用快乐?学习使我充足?一天不学习我就混身难受?谁要是这么说,你快拉裤子吧!!因为早些年我在联通做oracle DBA时,领导要求DBA也要管理weblogic集群,于是就开始了我和weblogic的孽缘!

为了碎银几两、为了三餐有汤、为了车呢为了房、你为的是哪位姑娘??

weblogic洞若观火第1篇之开门见山

中间件及分类

中间件是介于应用系统和系统软件之间的一类软件,它并没有很严格的定义,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。它的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。可以简单理解它是一类能够为一种或多种应用程序合作互通、资源共享,同时还能够为该应用程序提供相关的服务的软件。

weblogic洞若观火第1篇之开门见山

1、Tomcat

它是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用。

weblogic洞若观火第1篇之开门见山

2、WebLogic

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

weblogic洞若观火第1篇之开门见山

3、Jboss

它是一个基于J2EE的开放源代码的应用服务器。 JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3的规范。

weblogic洞若观火第1篇之开门见山

4、Jetty

它是一个开源的servlet容器,它为基于Java的web容器,Jetty是使用JAVA编写的,它的API以一组JAR包的形式发布。

weblogic洞若观火第1篇之开门见山

5、WebShere

它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。

weblogic洞若观火第1篇之开门见山

6、GlassFish

它是一款强健的商业兼容应用服务器,达到产品级质量,可免费用于开发、部署和重新分发。

weblogic洞若观火第1篇之开门见山

weblogic基本概念

在学习weblogic的时候,一定要先了解它的一些基本概念,否则后面学习的过程中,你会像看天书一样。而且一些架构图你也看不懂,不信我下面放了一张图,你好好看看吧!

weblogic洞若观火第1篇之开门见山

1、Domain 

域是作为单元进行管理的一组相关的 WebLogic Server 资源。一个域包含一个或多个 WebLogic Server 实例,这些实例可以是群集实例、非群集实例,或者是群集与非群集实例的组合。一个域可以包含多个群集。域还包含部署在域中的应用程序组件、此域中的这些应用程序组件和服务器实例所需的资源和服务。应用程序和服务器实例使用的资源和服务示例包括计算机定义、可选网络通道、连接器和启动类。

2、Administration Server

管理服务器是控制整个域配置的中心操作节点,管理服务器维护着整个域 Domain 的配置并将配置分配到每个被管理服务器 Managed Server 中,每个域中都必须有一个Administration Server。我们可以通过三个渠道访问管理服务器:Admin Server console、Oracle WebLogic Scripting Tool WLST、JMX客户端(通过WebLogic提供的API来实现),最后我们还可以通过SNMP协议来监控Admin Server的状态。

3、Managed Server

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

4、Machine

Machine 是指运行WebLogic Server实例的物理机器,通常与部属在其上的Managed Server相关连。Machine用于Node Manager(一个运行在物理服务器上的进程,可以远程重启Admin 和 Managed Server)重启失败的Managed Server,以及为集群的Managed Servers选择合适的Session存放位置(Session避免存放在同一台Machine上)。

5、Node Manager

运行在物理服务器上的一个进程,用来远程执行Admin Server 和 Managed Server的启动 Start、停止 Stop、挂起 Suspend、重启 Restart 操作。该进程与Domain并不关联但是与Machine相关连,如果你想在Admin Console 中对Server进行控制,则必须安装Node Manager。Node Manager 提供了Java-based和Script-based两个版本,实现的功能一样。

6、Cluster

集群是一组WebLogic Server的组合,集群是为了满足服务的高可用(High Avilability)以及可扩展(Load Balancing)需求而出现的。需要注意的是,集群中的WebLogic Server必须版本号一致。Cluster需要注意的几个问题:不能够跨Domain、Cluster中的服务器必须在同一个域中、Domain中可以有多个Cluster。

weblogic集群优点

1、可伸缩性

可以动态增加部署在 WebLogic Server 群集中的应用程序的容量以满足需要。可以将服务器实例添加到群集中而不会中断服务,应用程序将继续运行而不会影响客户端和最终用户。

2、高可用性

在WebLogic Server 群集中,当服务器实例失败时应用程序可继续进行处理。可通过将应用程序组件部署到群集中的多个服务器实例,"群集"这些组件,这样,如果在其上运行某个组件的服务器实例失败,则将此组件部署到的其他服务器实例可以继续进行应用程序处理。

群集WebLogic Server 实例的选择对于应用程序开发人员和客户端是透明的。但是,了解启用群集的技术基础结构将有助于编程人员和管理员最大化其应用程序的可伸缩性和可用性。

3、应用程序故障转移

简单的说,故障转移是当应用程序组件(在下列部分中通常称作"对象")正在处理某个特定作业时 某些处理任务部分由于任何原因而变得不可用,已失败对象的副本将结束此作业。 WebLogic Server 支持自动或手动将群集服务器实例从一台计算机迁移到另一台计算机。可迁移的受管服务器被称作"可迁移服务器"。本功能适用于要求高可用性的环境。

4、负载平衡

负载平衡是在环境中跨计算资源与网络资源平均分发作业和关联的通信。

可以群集的对象

群集的应用程序或应用程序组件在群集中的多个 WebLogic Server 实例上可用。如果已群集某个对象,则此对象的故障转移和负载平衡是可用的。将对象均匀部署到群集中的每个服务器实例,可以简化群集管理、维护和故障排除。

Web 应用程序可由不同类型的对象组成,包括企业 Java Bean (EJB),servlet 和 Java Server Pages (JSP)。每种对象类型都具有唯一的一组与控制、调用以及它如何在应用程序内起作用相关的行为。由于此原因,WebLogic Server 用于支持群集的方法,以及用于提供负载平衡和故障转移的方法,会因不同的类型对象而异。

可在 WebLogic Server 部署对下列类型的对象进行群集:

1、Servlet:javaEE中运行于服务器端的,用于接收和响应HTTP协议的请求的程序。

2、JSP:一种在应用服务器端使用的编程工具。JSP基本上用于支持平台–独立和动态的方法来构建Web依赖的应用程序。

3、EJB:被称为java企业bean,服务器端组件,核心应用是部署分布式应用程序。

4、远程方法调用(Remote Method Invocation简称RMI)对象

5、Java消息服务(JMS)目标

6、Java数据库连接(JDBC)连接

不可群集的对象

以下 API 和外部服务不可在 WebLogic Server 内群集:

1、包含文件共享的文件服务

2、时间服务

在群集的各个 WebLogic Server 实例中仍可使用这些服务。但是这些服务不能使用负载平衡或故障转移功能。

weblogic集群限制

1、集群中的WebLogic主机必须使用永久的静态IP地址。动态IP地址分配不能用于集群环境。如果服务器位于防火墙后面,而客户机位于防火墙外面,那么服务器必须有公共的静态IP地址,只有这样,客户端才能访问服务器

2、集群中的所有WebLogic服务器必须位于同一个局域网,并且必须是IP广播可到达的。

3、集群中的所有WebLogic服务器必须使用相同的版本。配置集群中的服务器,使它们支持所提供的服务。对于使用了JDBC连接的EJB,所有部署了某EJB的服务器必须具有相同的部署与持久化配置。也就是说所有服务器都应该有相同的JDBC配置。所有部署了servlet的主机必须维护一组具有相同ACL的servlet。

结束语

至此,weblogic洞若观火第1篇之开门见山就结束了。本篇文章中主要讲解:中间件及常见分类进行了简单介绍、weblogic的基本概念、weblogic集群优点、可以群集的对象、不可群集的对象、weblogic集群限制。

本篇文章内容并不多,因为我知道有太多的新手兄弟了,我们要把weblogic的技术掰开揉碎了说。后续的内容更精彩,敬请期待,感谢兄弟们的关注!!