EF的高可用性

来源:互联网 发布:易融恒信网络借贷 编辑:程序博客网 时间:2024/05/02 05:01

EF的项目也会遇到读写分离或者db高可用的问题,以此做个demo

1. 环境准备

a. Failover

使用mirror来做,缺点是只能1对1,好处是能自动切换,还挺快的也。

因为mirror的库持续处于restoring状态,不能做只读的负载了。

Primary Db:


Mirror Db:

b. 读写分离

有replication(发布订阅)、Alwayson、db复制能多种方式,采用一个最省钱的方式:log-shipping 日志传送。可以做到1拖n的只读副本,不过有最低10s的延迟。

Standby Db:


以上不赘述具体的步骤,百度可达。

需要注意的是:

i. 做mirror的话,一定要有一个带事务的bakup,并且让其处于restoring状态。

ii. mirror或者standby和primary的,db服务和agent服务都基于域用户来运行。


==未完待续==


2. EF测试failover

  <connectionStrings>    <add name="DefaultConnection" connectionString="server=svn.edaysoft.cn;Failover Partner=win-oud0ufulr1k.edaysoft.cn;database=synctest;uid=uid;pwd=pwd;MultipleActiveResultSets=true"      providerName="System.Data.SqlClient" />  </connectionStrings>

3. EF测试读写分离

NDF.Infrastructure


0 0
原创粉丝点击