3-1-企业级架构拓展思路及集群负载均衡场景介绍

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3-1-企业级架构拓展思路及集群负载均衡场景介绍相关的知识,希望对你有一定的参考价值。

单主机不仅受限于硬件性能也受限于并发模型,select()1024
scale up向上扩展,用性能更好的主机代替性能略差的主机
scale out向外扩展,多加主机,分割任务,将任务分散处理,这叫做负载均衡集群load blancing cluster,简称为LB集群
第一步:分散用户请求
第二步:追踪用户请求状态信息,这是一个问题
第三步:用户上传文件的路径在哪?使用共享存储或者专用户专机专用存储(其他用户就看不见本用户上传的文件了),要有两种共享存储,一种存图片,一种存数据(数据库)

补充知识:
数据分为:结构化的、半结构化的、非结构化的
共享存储包括:nas nfs cifs
结构化的并且要求长度一致的存储在关系型数据库并支持事务的存储引擎上,marydb indodb,如果是存储文件的图片音乐,存储在文件系统结构上
半结构化的放在nosql中或文件系统之上比如jason格式的数据通常被组织成doucumentstore,称为文档存储

用户活动状态不会产生网页信息,而且是临时的,一般而言,不应该存储在服务器上。
cookie:通过cookie机制识别用户身份,随机唯一的id保存在浏览器的缓存路径下,并且有适用范围和有效期
胖fat cookie:用户每次访问的内容都保存在cookie中,很危险(客户端的安全软件有很高的权限可以分析),基于竞争机制(京东不希望淘宝分析)会保存在服务端,在服务端分配一段基于cookie的空间,用来记录用户访问了什么,多长时间,这些记录通常叫session

有状态的追踪用户:用户的浏览记录保存在服务器上,但是集群服务器怎么知道其中一台服务器保存的用户内容呢?
1、绑定用户,专机专用,根据网络层的识别(ip地址)或者根据cookie来识别---这叫做会话黏性,缺点:服务器挂了
2、session复制集群,每台服务器都会存有全部的session,并同步更新。缺点:数量大以及session的更新(io占用)
3、共享存储,session保存在内存存储服务器(基于内存)中---也叫做session server(专门保存session)缺点:每一个节点都事关全局
单点故障所在single point of failure:SPoF,为了解决一般做冗余
谁来分散用户请求:负载均衡器或分发器或调度器,既然有调度,就需要有调度机制,负载均衡器采用主备机制(告诉别人自己活着,发送心跳信息),叫做故障转移或失效转移(failover)failback(转移回来),这两台调度器服务器也叫做高可用集群(high availability cluster----HA集群),抢回来之后还要防止被抢回去
调度机制:轮询(需要做权重,把服务器虚拟出来(调度的虚拟)一台服务器相当于几台服务器3:2)
最少连接,
视频中提到dns的轮询,不适合使用这种方式

视频中的课件:---负载均衡集群,高可用集群,高性能集群(超算集群),分布式集群
Linux Cluster:
Cluster:计算机集合,为解决某个特定问题组合起来形成的单个系统;
Linux Cluster类型:
LB:load balancing,负载均衡;
HA:High availiabity,高可用
A=MTBF/(MTBF+MTTR)---系统平均无故障时间,系统平均修复时间
(0,1):90%,95%,99%,99.5%,99.9%,99.99%,99.999%,99.9999%
HP:high performace,高性能,把计算量分割出去,组合高性能硬件
www.top500.org
分布式系统:
分布式存储:元数据服务器,
分布式计算
系统扩展方式:
Scale UP:向上扩展
Scale Out:向外扩展
cluster
LB Cluster:
LB Cluster的实现:
硬件:
F5 Big-IP
Citrix Netscaler
A10 A10
软件:
lvs:Linux Virtual Server---阿里章文嵩---tcp
nginx---应用层(模拟工作在四层)
haproxy---应用层(模拟工作在四层)
ats:apache traffic server---雅虎开发---应用层(模拟工作在四层)
perlbal---应用层(模拟工作在四层)
pound---应用层(模拟工作在四层)
基于工作的协议层次划分:---什么层的调度器
传输层(通用):(D PORT)
lvs
nginx:(stream)
haproxy:(mode tcp)
应用层(专用):(自定义的请求模型类型)
proxy server:
http:nginx(http mode),httpd,haproxy(mode http),...
fastcgi:nginx,httpd,...
mysql:mysql-proxy,...PROXYSQL
站点指标:
PV:Page View---页面浏览量
UV:Unique Vistor---唯一的可独立标识的访问者
IP:
会话保持:
(1)session sticky会话绑定
source ip
cookie
(2)session replication:复制集群
session cluster
(3)session server服务器

分布式存储:类似于负载均衡,但是在负载均衡器上建立全局索引,但是会出现新的问题,服务器宕机,所以要做冗余(文件系统级别的不是服务器级别的,一个文件存两份),负载均衡器叫元数据服务器(文件的大小路径属性),也叫名称节点,存储的叫数据节点
分布式存储中小文件好说,可以很容易的分散存储,但如果是高清电影,就不好存储了,并发观看更不行了

以上是关于3-1-企业级架构拓展思路及集群负载均衡场景介绍的主要内容,如果未能解决你的问题,请参考以下文章

干货分享 | 高性能软负载均衡在超高带宽场景下的应用

HAProxy负载均衡原理及企业级实例部署haproxy集群

基于linux实现keepalived高可用的集群网站架构

项目实战2—LVS负载均衡

集群负载均衡及分布式系统架构

不只是负载均衡,活字格智能集群的架构与搭建方案