课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
高可用与安全性都是程序员在开发软件的时候需要重点关注的问题之一,而今天我们就一起来了解一下,高可用与安全性都包含哪些内容。
一、高可用
高可用,意味着一台机器挂了没事,其他机器可以照常工作,用户体验一样倍棒,用户压根就不知道,卧槽,你居然升级了系统,我居然一点感受没有。那么高可用总有个标准吧,是百分之80就行还是90?
一个系统突然不能访问的原因很多,
硬件故障
数据库宕机
磁盘孙欢
bug
光缆断了
可用性指标
通过多少个9来衡量,比如大宝系统可用性为4个9,意味着是99.99%,说明它的服务保证运行时间只有0.01不可用。
高可用涉及到技术成本和设备成本,不是说高可用值越高越好,而是根据具体工具具体场景而定,这里分享一些高可用策略
冗余备份
任何一个服务有备份,就反复我们会对我们笔记本电脑相关文件进行备份一样,以防万一。即使一台服务器挂了,可以很快的切换以致于让用户不会觉得"这系统怎么这么渣"。
负载均衡
使用多台服务器分担一台服务器的压力,满足高并发的请求。怎么实现的呢,应用程序会有一个心跳检测/健康检查机制,如果发现不妥切换即可。上面提到的数据库主主复制也是高可用的方案之一,技术思想果然是相通的
限流降级
我们的目标不是没有蛀牙,而是希望整个系统不要挂掉。限流是对部分请求进行丢弃处理,保证大部分的用户可以正常的请求完成任务。
降级:
可以屏蔽部分当前看来不是很有用的任务。比如电商系统做秒杀活动的过程中,确认收货功能给予的压力挺大,暂时看来并不是核心任务,而且系统到期也会自动确认收货,所以暂时关闭,将系统的资源留给准备下单,放购物车的太太们
异地多活
有时候我在想要是地震,火灾等自然灾害发生的时候,很多系统的数据怎么办啊。想多了撒,大些的系统多会在各个地方部署数据中心,采用异地多活的多机房策略。用户可以访问任何数据中心,那问题来了,用户的请求是如何到达不同的机房去的?
域名解析
二、安全性
公司中的数据财产,其重要程度不言而喻。系统的健壮性和安全性是保证系统持久运行的基础。不要因为数据泄露才去关注安全问题。
也许说到安全问题,先想到的是“用户名密码”泄漏,数据库被脱裤导致数据泄露,hack直接拿到用户的敏感信息,所以我们通常有哪些手段或方法来尽全力的抵抗hack嘞,办法总比问题多嘛
数据加解密
通过对用户密码,身份证等敏感数据加密是常用方法。加密方法通常分为:单向散列加密,对称加密和非对称加密。