在SQLServer 2012上面搭建好了数据库读写分离的集群,使用的是其自带的alwayson功能。但是要怎么访问咧?
总不能要我自己动手写一个数据库连接的算法把?
我相信此类问题,已经得到了解决,所以来这里问问,希望有过相关经验的前辈指点指点。
我需要满足以下要求:
1:在写入操作的时候选择主库;
2:在读取操作的时候随机选择一个从库;
3:为了解决install操作后的结果需要即时查询出来使用(例如,插入一个订单后,需要立即查询出该订单的订单编号),我可能需要对特定的查询操作指定主库。
在我现在的项目中,我是采用更换数据库连接字符串来实现的:
1、调用方需要多传递一个参数(或标记),表明它的意图是仅读取OR可写入
2、底层在执行SQL时根据调用方的意图来选择不同的连接字符串
3、仅读取的连接字符串中需要显示指定ApplicationIntent=ReadOnly
我们现在也准备这么搞的,但是总觉得应该有一些更佳的方式。