
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习计算机编程开发技术,而本文我们就通过案例分析来简单了解一下,高性能软件架构都有哪些类型。
1、缓存架构
缓存就是为了弥补存储系统在这些复杂业务场景下的不足,其基本原理是将可能重复使用的数据放到内存中,一次生成、多次使用,避免每次使用都去访问存储系统。
缓存穿透是指缓存没有发挥作用,业务系统虽然去缓存查询数据,但缓存中没有数据,业务系统需要再次去存储系统查询数据。
缓存雪崩是指当缓存失效(过期)后引起系统性能急剧下降的情况。对于一个高并发的业务系统来说,几百毫秒内可能会接到几百上千个请求。
缓存热点的解决方案就是复制多份缓存副本,将请求分散到多个缓存服务器上,减轻缓存热点导致的单台缓存服务器压力。
2、负载均衡:分类及架构
常见的负载均衡系统包括3种:DNS负载均衡、硬件负载均衡和软件负载均衡。
DNS负载均衡的本质是DNS解析同一个域名可以返回不同的IP地址。
DNS负载均衡实现简单、成本低,就近访问,提升访问速度,但也存在更新不及时、扩展性差、分配策略比较简单等缺点。
硬件负载均衡是通过单独的硬件设备来实现负载均衡功能,这类设备和路由器、交换机类似,可以理解为一个用于负载均衡的基础网络设备。
硬件负载均衡的优点是:功能强大,性能强大,稳定性高,支持安全防护。缺点是价格昂贵,扩展能力差。
软件负载均衡通过负载均衡软件来实现负载均衡功能,常见的有Nginx和LVS,其中Nginx是软件的7层负载均衡,LVS是Linux内核的4层负载均衡。
软件负载均衡的优点:简单,便宜,灵活。缺点是性能一般,一个Nginx大约能支撑5万并发,功能没有硬件负载均衡那么强大,一般不具备防火墙和防DDoS攻击等安全功能。
3、负载均衡:算法
根据算法期望达到的目的,大体上可以分为下面几类。
任务平分类:负载均衡系统将收到的任务平均分配给服务器进行处理,这里的“平均”可以是绝对数量的平均,也可以是比例或者权重上的平均。
负载均衡类:负载均衡系统根据服务器的负载来进行分配,这里的负载并不一定是通常意义上我们说的“CPU负载”,而是系统当前的压力,可以用CPU负载来衡量,也可以用连接数、I/O使用率、网卡吞吐量等来衡量系统的压力。
性能优类:负载均衡系统根据服务器的响应时间来进行任务分配,优先将新任务分配给响应快的服务器。
Hash类:负载均衡系统根据任务中的某些关键信息进行Hash运算,将相同Hash值的请求分配到同一台服务器上。常见的有源地址Hash、目标地址Hash、sessionidhash、用户IDHash等。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。