企业数据的流向:
client -> cdn(squid,varnish) -> HA+F5/LVS(4)-> HA+nginx/haproxy(7) -> web(apache/nginx) -> app(php/jsp) -> DB(mysql/redis)
zbbix openstack kvm/docker/k8s(swarm) hadoop
概念介绍:
一、cdn(squid+apache,varnish):实现代理缓存。
例子:当西安的用户,想要去访问远在深圳的腾讯服务器时。如果每次都直接访问深圳腾讯服务器那么,效率会及其底下。如果西安有一个腾讯的代理服务器,西安用户只需要去访问西安的代理服务器,第一次,西安代理服务器,也需要去深圳腾讯服务器访问,只要西安的腾讯代理服务器缓存以后,其余的用户或者之后再访问相同的内容,速度会很快。
CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher、HTTPS和HTTP协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。
Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang 使用3台Varnish代替了原来的12台Squid,性能比以前更好。
二、HA+F5/LVS(4):实现负载均衡,一般企业使用HA+LVS。银行会使用HA+F5。HA是通过实现LVS调度器的高可用来实现的。
HA(High Available),高可用,高可用性集群,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,且分为活动节点及备用节点。通常把正在执行业务的称 为活动节点,而作为活动节点的一个备份的则称为备用节点。当活动节点出现问题,导致正在运行的业务(任务)不能正常运行时,备用节点此时就会侦测到,并立 即接续活动节点来执行业务。从而实现业务的不中断或短暂中断。
LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统
可伸缩网络服务的几种结构,它们都需要一个前端的负载调度器(或者多个进行主从备份)。我们先分析实现虚拟网络服务的主要技术,指出IP负载均衡技术是在负载调度器的实现技术中效率最高的。在已有的IP负载均衡技术中,主要有通过网络地址转换(Network Address Translation)将一组服务器构成一个高性能的、高可用的虚拟服务器, 我们称之为VS/NAT技术(Virtual Server via Network Address Translation)。在分析VS/NAT的缺点和网络服务的非对称性的基础上,我们提出了通过IP隧道实现虚拟服务器的方法VS/TUN (Virtual Server via IP Tunneling),和通过直接路由实现虚拟服务器的方法VS/DR(Virtual Server via Direct Routing),它们可以极大地提高系统的伸缩性。VS/NAT、VS/TUN和VS/DR技术是LVS集群中实现的三种IP负载均衡技术。
【1】技术简介
LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。为此,在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性。
一般来说,LVS集群采用三层结构,其主要组成部分为:
A、负载调度器(load balancer),它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址(我们可称之为虚拟IP地址)上的。
B、服务器池(server pool),是一组真正执行客户请求的服务器,执行的服务有WEB、MAIL、FTP和DNS等。
C、共享存储(shared storage),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。
【3】调度器
调度器是服务器集群系统的唯一入口点(Single Entry Point),它可以采用IP负载均衡技术、基于内容请求分发技术或者两者相结合。
HA+F5=高可用
F5 ,在路由器上面实现负载均衡。很贵,几十万一台,一年一台。银行使用。
三、HA+nginx/haproxy(7)
反向代理,nginx,系统负载均衡
nginx和apache的区别
apache,用在大型网站,稳定
nginx多线程
四、web(apache/nginx)
淘宝服务器
tengine
五、app(php/jsp)
六、DB(mysql/redis)
DB(mysql/redis):数据库也要备份,实现主从同步
七、zbbix openstack kvm/docker/k8s(swarm) hadoop
2/8命令,百分之八十的命令访问百分之二十的数据。
zbbix:图形界面,显示所有监控
openstack:云计算
kvm/docker:虚拟化/容器技术:官网是个鲸鱼,所有的应用大包成一个箱子,轻量级
k8s(swarm):docker的管理工具。
hadoop:分布式计算。内有十多个模块:GFS,mapruduce,hdfs,hive,zoopiper