大型网站架构演进(5)数据库读写分离_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 大型网站架构演进(5)数据库读写分离

大型网站架构演进(5)数据库读写分离

 2017/7/25 5:34:00  永远的麦子  程序员俱乐部  我要评论(0)
  • 摘要:在使用缓存后,使大部分的数据读操作访问都可以不通过数据库就能完成,但是仍有一部分读操作(包括未命中缓存的,和缓存过期的)和全部的写操作需要访问数据库,当网站的访问量继续增加后,数据库会因为负载压力过高导致成为网站的性能瓶颈。目前大部分的主流数据库都提供了主从热血功能,通过配置两台数据库的主从关系,可以将一台数据库服务器的数据同步到另一台服务器上,网站利用数据库的这一功能,可以实现数据库的读写分离,从而改善数据库的负载压力。应用服务器在写数据的时候,访问主数据库
  • 标签:数据库 数据 网站 架构 大型网站

  在使用缓存后,使大部分的数据读操作访问都可以不通过数据库就能完成,但是仍有一部分读操作(包括未命中缓存的,和缓存过期的)和全部的写操作需要访问数据库,当网站的访问量继续增加后,数据库会因为负载压力过高导致成为网站的性能瓶颈。

  目前大部分的主流数据库都提供了主从热血功能,通过配置两台数据库的主从关系,可以将一台数据库服务器的数据同步到另一台服务器上,网站利用数据库的这一功能,可以实现数据库的读写分离,从而改善数据库的负载压力。

  应用服务器在写数据的时候,访问主数据库,主数据库通过主从复制机制将数据更新同步到从数据库,这样当应用服务器读数据的时候,就可以通过从数据库获得数据,为了便于应用程序访问读写分离后的数据库,通常在应用服务器端用专门的数据访问模块(也叫数据访问层),使数据库读写分离对应用透明。

数据库读写分离

架构如下图:

总结:数据库读写分离缓解了数据库的压力,但同时会带来两个问题:

1,数据同步的问题。一般利用数据库自带的数据复制机制解决,可以参考:http://note.youdao.com/noteshare?id=1245e28ab69dc951bb9df9f53e9abc16&sub=E1F1B4AAEB9140D6B37B1998163DBD0B

2,应用程序对于数据源选择的问题。对于应用程序来说,后面的写操作全部要走主库,而读操作要走从库。这些操作一般通过中间件数据访问层来完成。

 

发表评论
用户名: 匿名