关于高并发系统的几点体会

一:负载均衡

随着公司的业务不断扩展,每天的流量的提升,数据量请求的倍增,原来的应用单一实例已经抗不住压力,这时侯我们就必须增加服务器一台,两台,甚至更多来进行减压,分担流量,此时我们必须要用到负载均衡。

一般来说,我们开发讨论大多的是Nginx七层负载均衡,主要负责应客户端与应用之间的访问负载均衡。Nginx可以均衡转发的后端的Real Server。简单的说是客户端访问Nginx,Nginx分发到的多台相同应用实例其中一台,如此便 可以实现了减压,分流,提高性能的效果。

曾经在大学期间,看过关于负载均衡配置的一本书(也只是其中一部份),那时间看的是关于DNS轮询的配置。DNS轮询也是其中一种抗压,分流,扩容的方法。

二:本地缓存与缓存集群

本地二级缓存主要作用在于当实例外的缓存系统服务器宕机后,服务器实例中的本地二级缓存还可以继续抗住大量请求,这样我们有缓冲的时间去维护实例外的缓存系统服务器。

本地二级缓存可用Ehcache实现,把实例外的缓存系统如Redis中的数据加载倒本地二级缓存中,用Cache-Aside方式实现缓存的读写。本地缓存与外部缓存系统的主要问题在于数据的一致性。

缓存集群:Redis缓存的集群,数据同步。Redis存储量应该有个上限。因为超大量的数据在单一Redis在数据同步时会因为网络动荡原因,导致的全量同步,会造成网络阻塞。

三:数据库

数据库的几个原则:

1:不要在大数据量的表中进行关联查询,可以拆分语句

2: 适当批量查询,批量更新保存

3:单表不要存储千万级以上的数据

4:适当的使用数据冗余设计

5: 不要用触发器,存储过程

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180120G04T0000?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券