我这边有三台sqlserver,分别在北京、河南、四川,配置故障转移集群后开启了高可用性服务,请问能否在此基础上实现:全国的用户访问高可用性组时,后台能自动选择延迟最低的物理服务器? 谢谢大家。
说下我的一种设想的方法. 其实现实中我也用过 有种方法,可以以使用分布式分区视图来实现. 假设有数据库服务器A,B,C 有数据表:TB,TB表需要建立分区+约束, 如哪一段时间的数据,或者哪个范围的数据在TB表.--服务器A, 服务器B,限定另个和A不重叠的时间.或范围 服务器C限定和A,B不重叠的时间或范围 这样,就通过约束把一个表的数据拆分到三台服务器存储了. 在A,B,C服务器上面分别建立TB表,及A,B,C之间的内数据库链接服务器(DBLINK) 在A,B,C上面分别建立视图.V_TB create view V_TB as select * from.DB.dbo.TB union select * from B.DB.dbo.TB union select * from C.DB.dbo.TB 三台服务器均建立此视图. 注意修改链接服务器的名称. 操作的时候不直接操作TB表,而是操作视图,如insert into V_TB ..... 操作数据的时候就把数据分布到三台(N)服务器了. 查询的时候,按条件来查询,也会从三台(N)不的服务器查询数据. 这样一定程度通过数据库的实现了类似的负载均衡. 当然这里约束需要加在主键,或者分区键上面,效果才好. 大概的原理及思路如上,希望对楼主有点用
那请问在高可用组的情况下,多个辅助副本都设为可读的情况时,用户进行读操作时到底连接的是哪台物理服务器呢?
这个不是数据库的范畴; 你可以在应用服务器上配置负载均衡;
34,590
社区成员
254,589
社区内容
加载中
试试用AI创作助手写篇文章吧