Weblogic & Oracle体系结构与技术要点

来源:互联网 发布:生物为什么要繁衍 知乎 编辑:程序博客网 时间:2024/05/20 13:39

Weblogic & Oracle体系结构与技术要点

马希佳    

 

感谢领导给我这次机会让可以去参加盈达公司的培训。通过这次培训,我收获很多。

这次培训的主要内容是WeblogicOracle的相关技术。通过培训,我对Weblogic的体系架构有了进一步的了解,并对Weblogic服务器的安装、配置和部署有了初步的认识;了解Oracle三种管理模式、Oracle的体系结构,了解了Oracle服务器的工作过程,对数据库的创建、维护也有了进一步的认识。

在课余的时间,与盈达公司的软件工程师和其他银行的IT技术人员积极交流,对国际收支申报系统有了更深的理解,共同探讨了数据库与服务器相关的集群技术和负载均衡技术在金融系统中的应用,也对如何调节数据库与服务器的相关参数来优化系统有了新的认识。

 

 

XML协议的数据格式取代传统的电子交换格式,是我们国际收支申报的核心内容,BEA WebLogic Server XML数据交换有很好的支持,并且遵从 J2EE 、面向服务的架构,便于实现系统业务逻辑、数据和表达的分离,提供开发和部署各种业务驱动应用所必需的底层核心功能,支持安全事务处理的大型应用。

 

对于WebLogic Server的体系结构,BEA官方文档白皮书上介绍了WebLogic Server 的三层架构,分别支持表现、业务逻辑和数据连接,且每个层都包含了一些特定的技术,如实例池、连接池、集群、负载均衡等,现总结如下。

表现层负责管理应用的用户界面,其中包括台式应用、Web 浏览器和常用设备。

WebLogic Server 包括一个多功能、高性能的 Web 服务器,它负责应答浏览器 HTTP 对于 Web 内容的请求。通过Java ServletJSPJava applet等技术,实现胖/瘦客户端与服务器的通信。

业务层包含各种业务逻辑

WebLogic Server 提供了一个“实例池”,即服务器预先加载一定数量的实例,并为使用实例作好准备,从而为前台的访问节省创建的时间,因为不必每次请求都创建新的实例。当与某个实例绑定的客户端执行完毕时,服务器就将该实例放回实例池中,以备将来重复使用。

后端层提供与企业系统和数据库的连接

BEA WebLogic Server主要是借助 Java 数据库连接 (JDBC) 支持与关系数据库的安全连接。JDBC 提供一组 API,使 Java 程序员能将数据库服务嵌入各种应用。它还包括数据库驱动器的规范,实现 JDBC API 接口和类。

连接池技术

WebLogic Server 包含一种所谓“连接池”技术(connection pooling),即服务器在启动时先打开一定数量的连接。 当应用需要连接时,就可以从服务器请求一个连接。当应用结束该连接时,服务器就把它释放到连接池,以备其他客户机使用。这个技术的优点是提高了对数据库的访问速度,消除了建立数据库连接的负担,增强了关系数据库应用的伸缩性。

 WebLogic Server分别在表现层和业务层都支持集群技术负载均衡技术。集群技术是指一个服务器对于其客户机而言是单一的服务器,实际上它是由一组服务器组成的“超级”服务器,服务器组里的服务器可以动态地在集群上添加或减少。这样就可以实现服务器的伸缩性和高可用性。负载均衡技术是针对于多个WebLogic Server实例而言的,它不像集群技术那样把多个服务器(硬件)组成一个“超级”服务器,而是把多个WebLogic Server实例分别部署在多台服务器上,然后通过负载均衡器,把输入的请求分散到不同的WebLogic Server服务器,从而保证服务器负载的均衡,保证了服务器的稳定,提高了服务器的伸缩性。两者比较一下,可以发现,负载均衡技术是通过增加应用服务器实例的数量来提高服务器的伸缩性的。

 

这两项技术都有利于我们灵活的控制系统的成本。在系统运行的初期,由于业务量较少,不用一下子投入太多的资金用于服务器的购置。随着业务的发展和访问量的提高,当服务器的性能无法满足我们需要的时候,我们可以购置更多的服务器,结合以上两种技术,扩充我们系统的性能。这样做的好处,一方面节省了前期的资金投入,一方面控制了投资的风险。

从我们整个系统的宏观角度来看,Weblogic Server 应该处于用户前台界面与后台数据库之间,即我们一般说的“中台”,负责对前台支持管理和对后台数据库的连接操作,而运行管理过程中的通信一般由中间件来完成。

 

 

Oracle培训的老师说,要管理Oracle数据库,首先要对Oracle的整个体系结构有一个深入的了解。Oracle整个体系结构主要包括Oracle实例、逻辑存储结构和物理存储结构。

一个Oracle实例包含了Oracle内存结构和Oracle进程结构,实例的结构总结入下表。

 

Oracle内存结构

数据库高速缓存

暂存从数据文件中读取的数据

重做日志缓存

暂存对数据库进行操作时产生的修改信息

共享池

存储SQLPLSQL、过程和包、数据字典、字符设置信息和安全属性等

大型池

作为磁盘 I/O 缓冲区

Java

存储 Java相关的方法和类定义

数据字典高速缓存

存放数据字典

Oracle进程结构

DBWn

数据库写进程

PMON 

进程监控进程

CKPT 

检查点进程

LGWR 

日志写进程

SMON 

系统监控进程

其他可选进程

 

 

Oracle数据库采用了两种存储结构:逻辑存储结构和物理存储结构,这两种结构相互独立,互不影响。逻辑存储结构主要是指在Oracle内部使用的组织和管理数据的数据结构;物理存储结构是Oracle在操作系统中存储和管理数据的方式,即保存数据的Oracle文件在操作系统中的存储结构。

 

通过Oracle工作流程的分析,我们可以发现,当对Oracle数据库进行数据操作时,Oracle的性能主要取决于工作过程中对各个缓冲区访问的命中率。由表可见不同的缓冲区存放了不同的数据信息,所以当Oracle数据库在做不同的应用时,我们可以有针对性的调整对应的缓冲区的参数,提高缓冲区访问的命中率,以达到优化数据库性能的目的。

 

 

培训回来之后,我按照培训讲师的所讲解的内容,在我的电脑上实验了RedHat Linux Oracle的安装和相关的配置,进一步加深对知识的理解。

原创粉丝点击