Oracle 负载均衡解决方案

article/2025/8/25 3:29:34

为什么要运用负载均衡

一般我们在数据库中的操作无非不就是增删改查这四个基本操作,最终数据库和磁盘文件打交道也就是读写操作。如果采用传统的一台服务器去运作,可能会在读写高峰时会出现一些无法预知的问题。这些我们或许可以通过优化应用代码结构,采用缓存技术等等,这些都在一定程度上是可以减轻数据库服务器的负载。但是,如果我们能将数据库读写操作分离开来,也就是使用负载均衡的方案来优化我们的系统结构。


场景

假设我们业务中有这样的场景:业务A正在进行一个比较耗时的查询,而业务B又需要进行数据的更新操作。在这种情况下,A操作一定程度上会对B操作带来了影响,因为A的耗时查询已经占用了部分数据库服务器的资源,这样的后果就是B的操作会出现延时、响应慢等情况,如果处于高峰期则有可能会造成数据库服务器崩溃(作一个最坏的打算,这是一个比较严重的后果)。


Oracle 数据库的解决方案

读写分离技术应该是大部分系统采用的一种方案。针对商业数据库Oracle,其研究的人也是甚少,相对于MySQL、PostgreSQL等开源的数据库,要实现读写分离功能是具备一定难度的(因为协议不开源,研究资料比较少)。在花了大量的时间和精力进行比较深入的研究后,我们研发了一款针对Oracle数据库的中间件产品。软件采用C++编写而成,只有一个可执行文件,不依赖任何组件,直接运行即可使用。目前仅支持Oracle11g的数据库和JDBC11gR2的客户端连接。在这里我主要介绍软件中的读写分离功能。


下载软件

软件可以在 http://www.onexsoft.com/ 网站上进行获取(目前只有Linux下的版本)。

下载完后运行



要使用读写分离只需这样启动即可


指定好master和slave并设置要登录的用户密码,再指定访问策略(目前支持master_only和read_slave策略)。要读写分离,使用read_slave即可。

这样启动后再用客户端连接此程序(默认是8221端口),进行各种操作,你会发现读写操作会路由到不同的机器上去了。

注:对于事务中的操作均到master,非事务的读操作会到slave;Statement 和 PrepareStatement 操作均支持。


软件稳定性测试

对于软件的稳定性,我们也做了比较多的测试,均没发现任何异常或者错误的地方。其中我们用BenchmarkSQL工具模拟了业务场景的测试。和直连相比,性能损失极小,可以忽略不计。



技术交流群:57875771


http://chatgpt.dhexx.cn/article/h3r4GLQe.shtml

相关文章

两台web服务器实现负载均衡的解决方案

写在前面:如果此文有幸被某位朋友看见并发现有错的地方,希望批评指正。如有不明白的地方,愿可一起探讨。 总体方案 平台规划拓扑图如下: 总体解决方案: 两台web服务通过DNS实现负载均衡,共享NFS服务器&…

负载均衡的硬件与软件实现方案

一、什么是负载均衡 负载均衡是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带…

分布式及负载均衡解决方案

一、问题域 nginx、lvs、keepalived、f5、DNS轮询,每每提到这些技术,往往讨论的是接入层的这样几个问题: 1)可用性:任何一台机器挂了,服务受不受影响 2)扩展性:能否通过增加机器&…

阿里云的网站负载均衡解决方案

2015年5月,国务院印发了《关于进一步做好新形势下就业创业工作的意见》,全国范围内刮起了“大众创业,万众创新”的高潮。于是中关村电子市场悄然改成了创业大街,美食街变成了创业公社,就连公司的地下室也一夜之间成了创…

实现负载均衡的2种解决方案

注: NAT 为网络地址转移, 访问进来时, 最初以LVS将访问进行地址转移到内部的Nginx, 由 Nginx 进行负载均衡

mysql负载均衡完美解决方案

1.环境: mysql 5 ubuntu10.04 x86_64 mdb1 eth0 192.168.5.11 mdb2 eth0 192.168.5.12 sdb1 eth0 192.168.5.21 sdb2 eth0 192.168.5.22 sdb3 eth0 192.168.5.23 sdb4 eth0 192.168.5.24 haproxy…

负载均衡-

常见的负载均衡系统包括 3 种:DNS 负载均衡、硬件负载均衡和软件负载均衡。 DNS 负载均衡 DNS 是最简单也是最常见的负载均衡方式,一般用来实现地理级别的均衡。例如,北方的用户访问北京的机房,南方的用户访问深圳的机房。DNS 负…

负载均衡的解决方案

负载均衡的解决方案 前言 我们在设计分布式系统的时候往往需要考虑系统的伸缩性,这里所说的伸缩性指的是我们可以通过添加服务器节点的方式来提升我们整个系统的并发能力,这种提高伸缩性的基础原理其实就是我们所说的——负载均衡。 正文 负载均衡 …

负载均衡及解决方案

目录 一、什么是负载均衡? 二、负载均衡方案有几种? 1、基于DNS负载均衡 2、基于硬件负载均衡 3、基于软件负载均衡 三、常用的均衡算法有哪些? 1、轮询策略 2、负载度策略 3、响应策略 4、哈希策略 一、什么是负载均衡?…

吃透这份Github点赞120k的Spring全家桶笔记Offer拿到手软

Spring框架自诞生以来一直备受开发者青睐,有人亲切的称之为:Spring 全家桶。它包SpringMVC、SpringBoot、Spring Cloud、Spring Data等解决方案。 很多研发人员把spring看作心目中最好的java项目,没有之一。Spring系列包含非常多的项目&…

分布式事务及解决方案

1、分布式事务 分布式事务就是在一个交易中各个服务之间的相互调用必须要同时成功或者同时失败,保持一致性和可靠性。在单体项目架构中,在多数据源的情况下也会发生 分布式事务问题。本质上来说,分布式事务就是为了保证不同数据库的数据一致性…

负载均衡方案

负载均衡方案 1、负载均衡概念 一台普通服务器的处理能力是有限的,假如能达到每秒几万个到几十万个请求,但却无法在一秒钟内处理上百万个甚至更多的请求。但若能将多台这样的服务器组成一个系统,并通过软件技术将所有请求平均分配给所有服务…

负载均衡的多种解决方案

以下为原文 当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能压力带来问题,我们需要在Web系统架构层面搭建多个层…

信息熵笔记

观察两个事件同时发生时获得的信息量应该等于观察到事件各自发生时获得的信息之和? 两个事件的信息量之和等于两个事件和的信息量? 两个随机变量熵的和大于两个随机变量和的熵 图片引自:https://blog.csdn.net/luoxuexiong/article/details/…

一文弄懂信息熵

引言 今天我们来探讨一下信息熵是怎么来的。 信息熵 信息的价值在于消除事件的不确定性,那事件的不确定性要怎么度量呢?答案就是信息熵(information entropy)。 比如你告诉别人你中了500万彩票,别人会大吃一惊,因为他被消除了…

信息熵 entropy

熵 最早是由热力学定义的一个函数,是普朗克来中国讲学的时候引入的。英文是“entropy”这个字,中文词汇中没有相关的字眼。当时是一个有名的姓胡的学者作为普朗克的翻译。因为这个熵“S”是定义为热量Q与温度的比值,所以当时他翻译是立刻创造…

信息熵学习笔记

简介 在信息论中,熵(entropy)是接收的每条消息中包含的信息的平均量,又被称为信息熵、信源熵、平均自信息量。 熵最好理解为不确定性的量度而不是确定性的量度,因为越随机的信源的熵越大。 比较不可能发生的事情&…

信息熵到底是什么

信息是我们一直在谈论的东西,但信息这个概念本身依然比较抽象。在百度百科中的定义:信息,泛指人类社会传播的一切内容,指音讯、消息、通信系统传输和处理的对象。 但信息可不可以被量化,怎样量化?答案当然…

什么是信息熵

熵 当一件事情(宏观态)有多种可能情况(微观态)时,这件事情(宏观态)对某人(观察者)而言具体是哪种情况(微观态)的不确定性叫做熵(entropy&#xff…

信息熵是什么

信息熵是什么 通过前两节的学习,我们对于决策树算法有了大体的认识,本节我们将从数学角度解析如何选择合适的“特征做为判别条件”,这里需要重点掌握“信息熵”的相关知识。 信息熵这一概念由克劳德香农于1948 年提出。香农是美国著名的数学…