一套稳定的系统必须满足三点
高可用(没有单点)
机房单点
运营商单点
IP单点
常用应用程序单点
解决方案:采用负载均衡,高可用,代理技术
常用负载均衡技术:
nginx 七层负载均衡
HAproxy 七层和四层负载均衡
lvs四层负载均衡
常用高可用技术:
常用代理技术:
varnish和squid是专业的cache服务,要做cache服务的话,优先选择squid和varnish(首推)。
squid 是功能最全面的,但是架构太老,性能不咋的
Varnish 是内存缓存,速度一流,但是内存缓存也限制了其容量,缓存页面和图片一般是挺好的
Nginx 本来是反向代理/web服务器,用了插件可以做做这个副业,但是本身不支持特性挺多
ATS Traffic Server的主要特点是:高性能、高效率、高扩展性。TS的框架采用了一个非常高效的完全基于事件的编程模式,能够充分发挥CPU的运算能力,配合高效的内存管理,异步的IO模块和专用的文件系统,Traffic Server能够充分发挥现代硬件设备的能力
可扩展
能迅速实现扩容,增加机器,硬盘,内存就能迅速解决问题
解决方案:尽可能使用分布式系统
常用分布式系统
HDFS
Kafka
Zookeeper
高效的监控,报警
机器基础信息监控
信息监控,cpu,内存,网络,负载,IO
业务监控
每个应用程序必须预留一个测试接口
有了这些还不够,还需要经常的进行故障演练,保证故障处理顺利进行,而不至于故障时手忙脚乱。或等到故障时才发现故障处理的方案有问题