大数据高并发之集群负载均衡
Posted hongbincool
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据高并发之集群负载均衡相关的知识,希望对你有一定的参考价值。
单机版系统
一台服务器,应用程序、数据库、文件等所有资源都在一台服务器上。
单机版系统的承载能力只能大概预估。
随着业务的发展,一台服务器逐渐不能满足需求,因此要将应用程序和数据分离,应用和数据分离后使用三台服务器:应用程序服务器、文件服务器和数据库服务器。
业务进一步发展,数据库压力太大导致访问延迟,因此使用缓存该改善网站性能(使用缓存是改善网站性能的第一步),网站使用的缓存分为两种:缓存在应用服务器上的本地缓存和缓存在专门的分布式缓存服务器上的远程缓存。
缓存 :就是重用结果,一次调用多次使用。
使用缓存,数据库访问压力得到有效缓解,但是在网站访问高峰期应用服务器还是成为了整个网站的瓶颈。这种时候要理解,不要企图去更换更强大的服务器,对大型网站而言,不管多么强大的服务器,都满足不了网站持续增长的业务需求,因此可以通过增加服务器的方式改善负载压力,再通过负载均衡调度服务器,将来自用户浏览器的访问请求分发到应用服务器集群中的某台服务器上, 这就是服务器集群。
服务器集群
分布式:就是多台服务器完成一台服务器的事
集群:多台服务器完成一台服务器同一件事。
负载均衡
DNS 负载均衡 : DNS 配置多各IP地址,DNS是客户端发送请求中一个非常重要的中转,他的作用是将用户请求的URL映射为具体的IP地址,全世界有13台根服务器,但通常为我们进行域名解析的并不是根服务器,而是直接访问我们的 LDNS(Local DNS Server),通常由网络运营商维护
硬件负载均衡(Load Balancer): 负载均衡器通常作为独立的硬件置于客户端与服务器之间。F5(硬件)
软件负载均衡:
LVS:基于四层交换技术的负载均衡是通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器与请求客户端建立TCP连接,然后发送Client请求的数据。
nginx:基于七层交换技术的负载均衡也称内容交换,也就是主要通过报文中的真正有意义的应用层内容,再加上负载均衡设备设置的服务器选择方式,决定最终选择的服务器。Nginx,高性能,轻量级,已经成了人们对Nginx的第一印象,Nginx可作为HTTP服务器,在处理高并发请求的时候拥有比现在主流的Apache服务器更高的性能,同时Nginx也是一个优秀的反向代理服务器。
用户持久化
3大方案:
1. 不需要换服务器,同一个ip请求只转发到同一台服务器。
2. Session 共享,利用 StateServer、数据库、Redis 来共享存储Session。
3. 请求携带, 利用cookie 或者token对权限验证。如JWT/ IdentityServer4。
以上是关于大数据高并发之集群负载均衡的主要内容,如果未能解决你的问题,请参考以下文章
java架构师大型分布式综合项目实战,高并发,集群,高可用,程序设计,性能优化,架构设计,负载均衡,大数据量
企业实战(22)基于Haproxy负载均衡+Keepalived高可用集群实战详解