关闭

大型网站负载均衡,分布式与数据库读写分离的一些思路

标签: 负载均衡分布式数据库
3334人阅读 评论(0) 收藏 举报
分类:

      


          数据库方面:

              将一个网站的不同业务分到不同的表,按功能对表进行细化。


              如果是多个网站,多个端口(如PC端,APP端)链接到同一个数据库,对多种方式访问的共同数据专门提出来,成为公共资源,专门放到同一张表里面。


           SLB负载均衡:

          比如一个网站有1000万的访问量,通过loadbalance把这1000万的访问进行负载均衡掉。loadbalance的学习自己进行。阿里云貌似有。负载均衡把这1000万的访问量负载均衡到7,8台机器上,可扩展性也很好,当相应速度上不去的时候 ,可以继续扩展机器来满足访问量需求。


          一台机器挂了,系统检测到这台机器挂了,就走另外的机器,继续负载均衡,从而保证系统的容灾性。


           数据采用分布式存储,可以按月份把数据分开,一月一月一存储,这样就可以避免一个表中大数据量的产生。查找数据的时候,按月份进行匹配,对应相对的表查找数据。


           当然也可以采用其他的分库分表规则,订单表可以按照月份来分,用户表可以根据id尾号来分。也可以根据其他的规则,自己定。自己定的规则则要考虑好其中的可扩展性是否良好,以后的业务是否可扩展,等等。


           分库分表以后就要确定DB路由,DB路由就是对其中各种匹配表的规则的判断,根据DB路由找到对应的表对应的库。


           其中分表的话,要分的表是随业务增多而容量增多的数据,如订单表,用户表,日志,等等。


            对数据库进行读写分离,把数据表分成主表和备表,主表不行了,则连接到备用表,这样数据的容灾性也很好。


           对于图片数据:


           因为图片数据所占用内存较大,可以把所有的图片资源全部都放在一起,访问图片通过http访问。


           关于数据库的读写分离:


           单独拿一个库或者机器,专门用来查询,比如查询某用户某一年的交易订单,可以只通过这一个库或者机器来查,12张表关联成一张表。而写的话,则是写入不同的分散的表当中。


          数据库的读写分离可以通过binlog来自动同步数据。这样读库和写库的数据能够同步。


         关于使用缓存 :

        使用缓存的话,时间投入成本较大,且数据放入内存当中,内存挂了的话,比较容易出问题。

         


          

1
0
查看评论

thinkphp 分布式数据库 详解

1.分布式数据库是什么:   tp的分布式数据库主要是通过该配置:   'DB_DEPLOY_TYPE'        =>  1,// 数据库部署方式:0 集中式(单一服务器),1 分布式(主...
  • qq_14913213
  • qq_14913213
  • 2017-02-17 15:49
  • 981

thinkphp 分布式数据库 详解

1.分布式数据库是什么:   tp的分布式数据库主要是通过该配置:   'DB_DEPLOY_TYPE'        =>  1,// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服...
  • slpond
  • slpond
  • 2017-01-20 16:13
  • 397

php + mysql 分布式事务

事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元;事务应该具有4个属性:原子性、一致性、隔离性、持续性原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。 一致性(consistency)。事务必须是使数据库从一...
  • ltp901127
  • ltp901127
  • 2015-11-05 15:23
  • 633

怎样打造一个分布式数据库

在技术方面,我自己热衷于 Open Source,写了很多 Open Source 的东西,擅长的是 Infrastructure 领域。Infrastructure 领域现在范围很广,比如说很典型的分布式 Scheduler、Mesos、Kubernetes,另外它和 Microservices ...
  • y87329396
  • y87329396
  • 2016-09-21 19:57
  • 10171

什么是分布式数据库?

分布式数据库系统是在集中式数据库系统成熟技术的基础上发展起来的,但不是简单地把集中式数据库分散地实现,它具有自己的性质和特征。集中式数据库系统的许多概念和技术,如数据独立性、数据共享和减少冗余度、并发控制、完整性、安全性和恢复等在分布式数据库系统中都有了不同的、更加丰富的内容。 (1)数据独立性。...
  • stone_flower_rain
  • stone_flower_rain
  • 2015-08-28 12:51
  • 1793

【数据库】数据库负载均衡、读写分离技术

随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天百万级甚至上亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。 一、负载均衡技术 负载均衡集群是由一组相互独立的计算机系统构成,通过常规网络或专用网络进行连接,由路...
  • qqxx6661
  • qqxx6661
  • 2016-05-11 14:21
  • 3710

数据库读写分离和负载均衡策略

最近在学习数据库的读写分离和主从复制,采用的是一主多从策略,采用轮询的方式,读取从数据库的内容。但是,假如某一台从数据库宕机了,而客户端不知道,每次轮选到此从数据库,不都要报错?到网上查阅了资料,找到一篇不错的博文,不仅讲了解决方案,也详细的讲述了数据库的分区,分表,集群和负载均衡策略,博文原址ht...
  • seudongnan
  • seudongnan
  • 2017-02-26 11:26
  • 3666

使用spring的动态路由实现数据库负载均衡

使用spring的动态路由实现数据库负载均衡 系统中存在的多台服务器是“地位相当”的,不过,同一时间他们都处于活动(Active)状态,处于负载均衡等因素考虑,数据访问请求需要在这几台数据库服务器之间进行合理分配, 这个时候,通过统一的一个DataSource来屏蔽这种
  • fhd001
  • fhd001
  • 2011-09-19 00:19
  • 3840

MySQL数据库优化(八)——MySQL负载均衡 & 读写分离

在庞大的数据量应用系统中,除了使用复制策略实现数据库高可用之外,还可结合业务功能,将数据也以模块划分,存入不同的db服务器中。       在高并发负载均衡(一)——企业架构分析和DNS中提高对应网站高并发的主要集中在两处,web服务的高并发和数据库高并发;应...
  • Daybreak1209
  • Daybreak1209
  • 2016-06-12 11:26
  • 4544

MySQL Proxy 实现 MySQL 读写分离提高并发负载

来自:http://blog.jobbole.com/94606/ 拓扑: MySQL Proxy有一项强大功能是实现“读写分离”,基本原理是让主数据库处理写方面事务,让从库处理SELECT查询。 Amoeba for MySQL是一款优秀的中间件软件,同样可以实现读写分离,负载均衡等...
  • shanzhizi
  • shanzhizi
  • 2015-12-16 13:42
  • 870
    个人资料
    • 访问:94555次
    • 积分:1320
    • 等级:
    • 排名:千里之外
    • 原创:27篇
    • 转载:83篇
    • 译文:0篇
    • 评论:3条
    最新评论