|怎么做一个不会崩溃的一码通系统
最近各地健康码、一码通系统接连传出崩溃、宕机的消息 。 因为这些软件系统和疫情防控工作紧密相关 , 所以各大媒体也都非常重视 , 纷纷大力报道 , 引发了社会的高度关注 。
作为一名软件工程技术人员 , 我想从技术的角度发表一下我对这件事的看法 。 观点不一定对 , 还请大家批评指正 。
软件系统崩溃 , 大家的第一反应就是开发人员技术不过关导致的 。 其实 , 系统崩溃的原因有很多 , 并不完全是技术问题 。 比如:开发周期太短、紧急需求变更、项目人员更迭、成本控制、网络攻击等等 , 都有可能导致系统的崩溃 。
下面我来说一说 , 如何做一个不崩溃的健康码系统 。 要做一个高可用的系统通常需要考虑五个方面的问题:
1. 负载均衡 。 一般这种系统都要采用分布式部署 , 每块业务都有一组或N组服务器进行作业 。 所以需要建立负载均衡机制 , 包括DNS负载均衡、F5负载均衡、反向代理负载均衡等等 。
2. 缓存机制 。 为了降低业务服务器和数据库服务器的工作量 , 我们通常都会采用各种缓存机制降低服务器的请求量 。 包括采用CDN静态文件缓存、Redis数据缓存等 , 要注意缓存穿透和缓存雪崩问题 。
3. 性能优化 。 为了让系统不崩溃 , 需要将每次请求的响应时间尽量缩短 , 有时候响应速度慢个几毫秒就会导致请求积压 , 系统崩溃 。 主要包括系统业务逻辑优化 , 数据库优化等等 。
4. 过载保护 。 不管上面几项工作做得多好 , 还是无法避免超过设计容量的请求进来 。 所以我们的系统需要有过载保护机制 , 可以通过防火墙策略等方法实现 。
5. 体验优化 。 当系统变慢或者异常时 , 需要安抚用户的情绪 , 需要在用户端进行一些体验优化设计 。 比如增加用户端数据缓存减少对服务器的请求 , 用户极速操作的时候不提交请求 , 友好地提示用户稍后再试等等 。
做好上面这五个方面 , 基本上就可以做出一个不崩溃的软件系统了 。 但是需要注意的是 , 在实际项目工作中 , 通常都会采用最小成本法来解决工程问题 。 毕竟成本越低 , 利润才能越高 。 所以 , 需要经验丰富的系统架构师来设计整个软、硬件系统 , 在控制成本和满足需求之间进行平衡 。
大家还有什么观点和看法 , 可以在评论区留言探讨 。
【|怎么做一个不会崩溃的一码通系统】
- 智能家电|老年人该怎么用智能家电产品? 离不开适老化设计
- 自媒体|不需要口才和颜值,用手机就能做!分享35款自媒体工具,每天300很简单
- |一个小需求就能让你年入百万
- 机器人|售价10万“妻子机器人”,除了生育不行,其余都可以做?是智商税吗?
- 华为|没有一个女孩能拒绝华为P50 Poket折叠屏!尽管你可能买了个“暖宝宝”
- |苹果要做游戏机了!目标对手是腾讯?
- |一部手机坚持用了5年还不肯换,这些人是怎么想的?请对号入座
- 苹果|一两千的手机和四五千的手机体验差不多,这是怎么回事?
- 金蝶|都希望小米越做越好,长远看小米在技术的竞争中,会越来越乏力
- 人造|全球最大的人工岛硬是填海造陆了一个省,如今有36万人在此定居