正文
比如按照用户的级别,或者用户的地理位置等等拆分。
横向扩展设计
10 设计横向的扩展方案
扩展包括横向、纵向。横向就是通过复制克隆应用,利用小型机集群扩展。纵向就是提高服务器的硬件以及网络设施。
通过很多的案例都可以发现,单纯的升级硬件实现的纵向扩展,仅仅能解决一点点现实压力。而通过横向的集群扩展,却能够自由的实现伸缩。
11 采用经济型系统
与上面的原则类似,采用高价格的服务器,并不能保证日后的良好性能。应该
使用普通的小型机集群扩展。
12 横向扩展数据中心
数据中心有很多的设计方案,比如
热冷站配置:使用热站提供服务,当热站崩溃时,使用冷站继续服务。
推荐使用多个实时站点,成本更低,动态调用。缺点是增加了运维的难度。
13 利用云技术进行设计
云计算的有点就是虚拟化,可以在业务峰值时,弹性的扩充设备。并且在日常处理用,归还该扩展。
缺点是提高了应用于虚拟环境的耦合。后面提到利用物理设备,隔离业务,在虚拟化的云计算中,可能会对业务隔离错误排查造成一定的干扰。
使用正确的工具
14 合理使用数据库
目前有许多的数据库版本,比如传统的关系型数据库Oracle、MySQl,还有比较新的非关系型数据库NoSql,比如MongoDB,以及内存数据库FastDB,还有专门针对SSD固态硬盘的Aerospike等等。
但是到了选型的时候,还是要一句个人的业务需求来定。看你的数据库要求的是速度,还是安全性等等。
15 防火墙,到处都是防火墙
防火墙可以对一些无效的访问进行拦截过滤。通常把一些CSS,静态文件,图片,JS等不采用防火墙,而关键的业务涉及到个人信息时采用。合理的设计防火墙,也会对网站的性能产生一定的影响。
16 积极的利用日志文件
利用各种日志以及工具,实时的监控业务。不仅仅是监控服务器的内存CPU,还应该监控业务上的数据。比如splunk(提供日志的搜集,存储,搜索,图形化展示)。
不要做重复的工作
17 不要立即检查刚做过的工作
比如刚刚写如了数据,不要立即读取。虽然有些客户需要保证数据的完整,不能丢失。但是可以通过日志等记录,写完查这种做法,还是不推荐。
18 停止重定向
重定向会消耗一定的延迟,计算资源。应该尽量避免