大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说windows平台的分布式微服务解决方案(4)-「建议收藏」,希望您对编程的造诣更进一步.
本文讲述的数据库读写分离的实现方式,是基于前述“数据库的负载均衡”这篇文章的内容发展而来,请先对其阅读参考。
在某些大型应用系统中,往往需要把数据库的“读操作”与“写操作”分为两个数据库(甚至两组数据库)分开操作,以达到读写分离的目的。
要实现数据库的读写分离,只需在前述“数据库的负载均衡“这篇文章的内容上做两点修改即可实现:
一是在DeveloperSharp.xml配置文件中设置两个DatabaseCluster节点分别对应“读数据库”与“写数据库”。
二是建立两个“负载均衡器”类分别对应“读的DatabaseCluster节点”与“写的DatabaseCluster节点”。
举例如下,我们在数据库服务器中创建一个BaseRead数据库专门用作读操作,然后再创建一个BaseWrite数据库专门用作写操作。随后,我们的DeveloperSharp.xml配置文件则修改为如下:
<?xml version="1.0" encoding="utf-8" ?> <DeveloperSharp> <DatabaseClusterList> <DatabaseCluster Id="BRead"> <Database Id="A1" Enable="true" Weight="100" DatabaseType="SqlServer" ConnectionString="Server=localhost;Database=BaseRead;Uid=sa;Pwd=123"/> </DatabaseCluster> <DatabaseCluster Id="BWrite"> <Database Id="B1" Enable="true" Weight="100" DatabaseType="SqlServer" ConnectionString="Server=localhost;Database=BaseWrite;Uid=sa;Pwd=123"/> </DatabaseCluster> </DatabaseClusterList> </DeveloperSharp>
注意,其中两个DatabaseCluster节点的Id属性值分别为BRead与BWrite。
接着,我们再创建两个“负载均衡器”类(Base4Read与Base4Write)分别对应BRead与BWrite。如下所示:
[DeveloperSharp.Structure.Model.LoadBalance.DataSourceCluster("BRead")] public class Base4Read : DeveloperSharp.Structure.Model.DataLayer { //类中没有任何代码 } [DeveloperSharp.Structure.Model.LoadBalance.DataSourceCluster("BWrite")] public class Base4Write : DeveloperSharp.Structure.Model.DataLayer { //类中没有任何代码 }
此后,我们只需在相关程序代码中区分使用Base4Read与Base4Write这两个类,即可灵活实现数据库的读写分离。
【本文采用.NET/C#语言撰写,如需其它语言版本,请联系作者索取。】
【本文采用Sql Server数据库撰写,如需其它数据库版本,请联系作者索取。】
如果文章对您有帮助,请点赞、收藏、关注、分享(原创内容,欢迎转载,转载请注明出处) 扫描左侧二维码可以联系作者,收获更多精华知识。 出处:https://www.cnblogs.com/DeveloperSharp/ 本文采用「CC BY 4.0」知识共享协议进行许可,转载请注明作者及出处。 |
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/5623.html