class Program{static void Main(string[] args){string NameList = "";//第一次访问数据库var SLB = (new StudentLB()) as DeveloperSharp.Structure.Model.DataLayer;var db = new Entities(SLB.IDA.ConnectionString);//每次会根据配置的负载均衡策略输出对应的ConnectionStringt_Student Stu = db.t_Student.Where(t => t.Id == 3).FirstOrDefault();NameList += Stu.Name;//第二次访问数据库SLB = (new StudentLB()) as DeveloperSharp.Structure.Model.DataLayer;db = new Entities(SLB.IDA.ConnectionString);//每次会根据配置的负载均衡策略输出对应的ConnectionStringStu = db.t_Student.Where(t => t.Id == 3).FirstOrDefault();NameList += Stu.Name;//第三次访问数据库SLB = (new StudentLB()) as DeveloperSharp.Structure.Model.DataLayer;db = new Entities(SLB.IDA.ConnectionString);//每次会根据配置的负载均衡策略输出对应的ConnectionStringStu = db.t_Student.Where(t => t.Id == 3).FirstOrDefault();NameList += Stu.Name;//输出Console.WriteLine(NameList);Console.ReadLine();}}从以上示例代码我们可以清晰的得知:其实数据库链接字符串ConnectionString就是实现负载均衡的关键所在 。而SLB.IDA.ConnectionString则每次会根据配置的负载均衡策略输出对应的链接字符串 。
示例程序输出显示结果如下:
周云周云1周云2
最后提示一点:若要把一组数据库的负载均衡应用改为单数据库应用,只需要把ds.xml配置文件中DatabaseCluster节点下的Database节点数量设置为一个即可实现 。所以,聪明的你以后可以把你所有的数据库访问代码改为本文样式:)
总结
本文技术点思路梳理:
- 创建用来实施负载均衡的一组数据库 。
- 通过ds.xml来配置负载均衡策略 。
- 在App.config/Web.config中添加链接ds.xml的appSettings节点 。
- 创建基于DeveloperSharp包的“负载均衡器”类(本篇为:StudentLB类) 。
- 通过“负载均衡器”产生的ConnectionString链接数据库 。
文章插图
推荐阅读
- ASP.NET Core GRPC 和 Dubbo 互通
- .NET源码学习 [算法2-数组与字符串的查找与匹配]
- .Net下的分布式唯一ID
- .NET 反向代理 YARP 代理 GRPC
- 实验中水泥能代替石灰吗
- 高中怎样学好数理化的方法 高中怎么样学好物理实验
- 实验艺术专业就业方向 实验艺术专业是什么呢
- 贝尔实验室unix谁写的
- 水下打靶的实验是什么迁移 水下打靶实验是什么迁移理论
- 著名的霍桑实验是谁主持的 霍桑实验是谁主持进行的