您当前的位置: 首页 > 

水的精神

暂无认证

  • 2浏览

    0关注

    711博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

读写分离怎么做,怎么实现

水的精神 发布时间:2019-12-13 00:07:34 ,浏览量:2

实现方案:

# # 第一种是在应用层做

  方案就是根据我们的不同的sql语句来选择不同的数据源来操作,优点是对性能的损耗比较小,缺点是强依赖程序员。如果是是新开发程序还好。如果是改造原有的系统,就会变的及其糟糕。

  可以选择的技术有:

 

  从上边的四个方案中选,我们要选的是红色的。原因是无侵入,原有代码不需要做任何改变。 

  来看一下工作原理:

  

 在dao层之后,数据库之前,添加了红色框的插件,用来拦截数据库操作的请求,来判断选择数据源。绿色框标出来的是数据源,不同的数据源。拦截层用来根据sql 的类型来选择不同的数据源。这对前边的程序员的操作是无感的。之前不管是业务层还是dao层,就是无感的,因为我不需要关心读写分离。

 

# # 第二种是使用中间件 

  优点是不再强依赖程序员。缺点是既然是中间件,一层过滤,自然消耗了性能。另外强依赖的其他资源。出问题的可能性就会变大。

 

# # 选哪一种解决方案呢?

 从性能的角度出发,不差钱出发,选第一种。因为需要的是稳定性,第二是性能。我大不了多找几个人过来写。不差钱。

关注
打赏
1664074814
查看更多评论
立即登录/注册

微信扫码登录

0.0352s