问题描述
比如说现在有数据库服务器A,IP为192.168.1.12,数据库服务器B,IP为192.168.1.25,我现在将这两个数据库服务器集群是什么意思呢?我不明白的就是,如果我现在在程序中执行一条insert语句,到底是插入的A还是B呢,还是说插入操作不用管,集群就帮我处理了呢?如果是后者的话那么就有问题了,如果A坏了down掉的话,那么我这条数据还能不能找到呢?我在jdbc写URL的时候是将这两个IP都写进去吗?我没做过集群,希望大家帮帮我
解决方案
数据库集群是有专门的集群服务器对下面的实例进行管理的。具体到你使用哪一个实例进行插入,不是由你决定的,而是由集群服务决定的。还有,集群中的数据是集中存储的,不是由各个服务器单独存储。一般是由一个专门的数据库文件磁盘子系统向所有的集群实例提供存储服务。只要这个存储不坏,个别集群实例的损坏是不会造成已有数据的损害的。JDBC如何访问集群要看集群本身的设置。一般情况下集群对外提供一个统一的连接描述符,而集群内部的IP是不对外的。数据库集群是一个很大的方面。能够写几屋子的书。如果想了解这方面的知识,可以找一下Oracle RAC方面的书看。OracleRAC是国内使用比较多的集群系统,资料也比较多。
时间: 2024-09-29 13:43:30