由简书502想到
2017-10-09 本文已影响125人
思与学
前因
作为一个程序猿最近突然闲下来,以至于我都有时间在上班的时候写博客了。想知道为什么吗,答案是忧伤的,部门从上海搬迁至北京,so我就被离职了,开发工作全停,等待交接....然后大概16:20分写完了一篇博客,打开简书发现访问不了,咱右键-->检查-->网络,然后就看到了经典的错误“502 Bad Gateway”。
原因分析
错误是502 Bad Gateway,说明请求是在到达简书自己家的服务器后出滴问题,所以排除DNS解析、网络等外部问题,根据502的特点看是后端应用服务集群宕掉造成的,这个锅基本上是有程序员或运维来接了...
服务宕掉的可能原因:
- 访问人数太多:简书没进行秒杀或者其它特别的活动,因此整体流量应该比较平稳,不会出现持续高并发的请求冲垮服务的情况
- 断电、设备损坏:通常会做负载均衡(nginx)的高可用,如常见的keepalive + 虚ip漂移,而后端web服务基本上用的都是集群,多个设备同时损坏的概率还是极低的,基本排除该可能
- 发布功能:相信很多程序员同学们都遇到过,甚至自己挖过不知一次这样的坑,功能测试环境验证正常,一发布,整个系统都挂掉了,挂掉的原因各种各样,不同环境下依赖的包不同、配置不一致、逻辑错误等等,感觉上这个的可能性最大,因为这种事太似曾相识了_
ps:16:25分左右恢复正常,故障处理速度还算是不错滴
借此机会给大家聊一聊高可用、高并发的事,实际上他们并不是什么特别高深、难以触摸的东西,下面来为你揭开他们神秘的面纱。
以下内容转载自《高可用+高并发+负载均衡架构设计》 -- 微信公众号,架构师之路
体系化介绍高可用,高并发,负载均衡的一些架构技术。
一、高可用
文章:《究竟什么是互联网高可用架构设计》
内容:
- 什么是高可用
- 高可用架构核心准则:冗余+故障转移
- 互联网分层架构,各层保证高可用的架构实践
二、高并发
文章:《究竟什么是互联网高并发架构设计》
内容:
- 什么是高并发
- 高并发架构准则:垂直扩展,水平扩展
- 互联网分层架构,各层保证水平扩展的架构实践
三、反向代理
文章:《究竟什么是互联网四层/七层反向代理》
内容:
- 什么是代理与反向代理
- 如何实施反向代理
- 什么是四层/七层,有没有二层/三层呢?
四、负载均衡
文章:《究竟什么是互联网负载均衡架构设计》
内容:
- 什么是负载均衡
- 高并发架构准则:均匀
- 互联网分层架构,各层保证负载均衡的架构实践
延伸阅读:《LVS为何不能取代DNS轮询》
内容:
- 什么是LVS,DNS轮询
- LVS解决什么问题
- DNS轮询解决什么问题
- LVS为何不能取代DNS轮询
延伸阅读:《异构服务器负载均衡及过载保护》
内容:
- 如何动态标识服务的处理能力
- 如何实施异构服务器负载均衡
- 什么是过载保护
- 如何实施过载保护