负载均衡

Spring-Cloud之Eureka注册与发现-2

廉价感情. 提交于 2019-12-02 21:39:55
  一、负载均衡是指将负载分摊到 多个执行单元 上,常见的负载均衡有两种方式。一种是 独立进程 单元,通过负载均衡策略,将请求转发到不同的执行单元上,例如 Ngnix 。另一种是将负载均衡逻辑 以代码的形式 封装到服务消费者的客户端上,服务消费者客户端维护了一份服务提供的信息列表,有了信息列表,通过 负载均衡策略将请求分摊给多个服务提供者 ,从而达到负载均衡的目的。   Ribbon Netflix 公司开源的一个负载均衡的组件,它属于上述的第二种方式,是将 负载均衡逻辑封装在客户端 中,并且运行在客户端的进程里。 Ribbon是一个经过了云端测试的 IPC库,可以很好地控制 HTT TCP 客户端的负载均衡行为。   Spring Cloud 构建的微服务系统中, Ribbon 作为服务消费者的负载均衡器,有两种使用方式, 1) RestTemplate 相结合 ,2) Feign 相结合 ( 默认方式) 。   二、用于生产环境的Ribbon的子模块为     1)ribbon-loadbalancer :可以独立使用或与其他模块 起使用的负载均衡器 API。   2)ribbon-eureka :Ribbon 结合 Eureka 客户端的 API ,为负载均衡器提供动态服务注册列表信息。   3)ribbon-core: Ribbon 的核心 API。   三

Linux集群

ε祈祈猫儿з 提交于 2019-12-02 19:41:24
科学群集 、高性能集群(High performance cluster,HPC) 它是利用一个集群中的 多台机器共同完成同一件任务 ,使得完成任务的速度和可靠性都远远高于单机运行的效果。弥补了单机性能上的不足。该集群在天气预报、环境监控等数据量大,计算复杂的环境中应用比较多。 负载均衡集群(Load balance cluster, LBC) 它是利用一个集群中的多台单机,完成许多并行的小的工作。一般情况下,如果一个应用使用的人多了,那么用户请求的相应时间就会增大,机器的性能也会受到影响,如果使用负载均衡集群,那么集群中任意一台机器都能相应用户的请求,这样集群就会在用户发出服务请求之后,选择当时负载最小,能够提供最好的服务的这台机器来接受请求并相应,这样就可用用集群来增加系统的可用性和稳定性。这类集群在网站中使用较多。 高可用性集群(High availability cluster,HAC) 它是利用集群中系统 的冗余,当系统中某台机器发生损坏的时候,其他后备的机器可以迅速的接替它来启动服务,等待故障机的维修和返回。最大限度的保证集群中服务的可用性。这类系统一般在银行,电信服务这类对系统可靠性有高的要求的领域有着广泛的应用。 负载均衡系统 负载均衡又有DNS负载均衡(比较常用)、IP负载均衡、反向代理负载均衡等,也就是在集群中有服务器A、B、C,它们都是互不影响,互不相干的

用于负载均衡vsFTPd服务器的HAproxy

安稳与你 提交于 2019-12-02 19:29:24
http://www.voidcn.com/article/p-rqzvcpfl-bub.html 我已经使用运行vsftpd的HAProxy和2个FTP服务器成功建立了负载平衡环境.这是设置到目前为止的样子: 代理:ftp00 | 192.168.2.135(public,eth0)| 10.11.130.1(私人,eth1) Node01:ftp01 | 10.11.130.140 Node02:ftp02 | 10.11.130.141 操作系统:CentOS 6.6 HA代理:版本1.5.2 2014/07/12 vsftpd:2.2.2版 ftp00:/etc/haproxy/haproxy.conf #--------------------------------------------------------------------- # GLOBAL CONFIG #--------------------------------------------------------------------- global daemon log 127.0.0.1 local0 info log 127.0.0.1 local1 notice log 127.0.0.1 local5 debug chroot /var/lib/haproxy pidfile /var

网站架构优化性能

对着背影说爱祢 提交于 2019-12-02 18:52:33
最开始的网站架构 最初业务量不大,访问量小,此时的架构,应用程序、数据库、文件都部署在一台服务器上,有些甚至仅仅是租用主机空间 1. 应用、数据、文件分离 将应用程序、数据库、文件各自部署在独立的服务器上,并且根据服务器的用途配置不同的硬件,达到最佳的性能效果。 2. 利用缓存改善网站性能 大部分网站访问都遵循28原则,即80%的访问请求,最终落在20%的数据上,所以我们可以对热点数据进行缓存,减少热点数据的访问路径,提高用户体验。缓存实现常见的方式是本地缓存、分布式缓存。当然还有CDN、反向代理。 2.1 本地缓存 本地缓存,顾名思义是将数据缓存在应用服务器本地,可以存在内存中,也可以存在文件,组件。本地缓存的特点是速度快,但因为本地空间有限所以缓存数据量也有限。OSCache就是常用的本地缓存。 2.2 分布式缓存 分布式缓存的特点是,可以缓存海量的数据,并且扩展非常容易,在门户类网站中常常被使用,速度按理没有本地缓存快,常用的分布式缓存是Memcached、Redis。 2.3 反向代理 部署在网站的机房,当用户请求达到时首先访问反向代理服务器,反向代理服务器将缓存的数据返回给用户,如果没有缓存数据才会继续访问应用服务器获取,这样做减少了获取数据的成本。反向代理有Squid,Nginx。 2.4 CDN 假设我们的服务器都部署在杭州的机房,对于浙江的用户来说访问是较快的

网站架构优化性能

[亡魂溺海] 提交于 2019-12-02 18:39:05
最开始的网站架构 最初业务量不大,访问量小,此时的架构,应用程序、数据库、文件都部署在一台服务器上,有些甚至仅仅是租用主机空间 1. 应用、数据、文件分离 将应用程序、数据库、文件各自部署在独立的服务器上,并且根据服务器的用途配置不同的硬件,达到最佳的性能效果。 2. 利用缓存改善网站性能 大部分网站访问都遵循28原则,即80%的访问请求,最终落在20%的数据上,所以我们可以对热点数据进行缓存,减少热点数据的访问路径,提高用户体验。缓存实现常见的方式是本地缓存、分布式缓存。当然还有CDN、反向代理。 2.1 本地缓存 本地缓存,顾名思义是将数据缓存在应用服务器本地,可以存在内存中,也可以存在文件,组件。本地缓存的特点是速度快,但因为本地空间有限所以缓存数据量也有限。OSCache就是常用的本地缓存。 2.2 分布式缓存 分布式缓存的特点是,可以缓存海量的数据,并且扩展非常容易,在门户类网站中常常被使用,速度按理没有本地缓存快,常用的分布式缓存是Memcached、Redis。 2.3 反向代理 部署在网站的机房,当用户请求达到时首先访问反向代理服务器,反向代理服务器将缓存的数据返回给用户,如果没有缓存数据才会继续访问应用服务器获取,这样做减少了获取数据的成本。反向代理有Squid,Nginx。 2.4 CDN 假设我们的服务器都部署在杭州的机房,对于浙江的用户来说访问是较快的

LVS、HAProxy和Nginx比较

那年仲夏 提交于 2019-12-02 18:15:02
负载均衡 的实现,常见的硬件有比较昂贵的NetScaler、F5、 Radware 和Array等商用的 负载均衡器 ,它的优点就是有专业的维护团队来对这些服务进行维护、缺点就是花销太大,所以对于规模较小的网络服务来说暂时还没有需要使用;另外一种就是类似于LVS/ HAProxy 、 Nginx 的基于 Linux 的开源免费的负载均衡软件策略,这些都是通过软件级别来实现,所以费用非常低廉,所以我个也比较推荐大家采用第二种方案来实施自己网站的负载均衡需求。 LVS: 使用 集群技术 和 Linux操作系统 实现一个高性能、高可用的服务器,它具有很好的可伸缩性(Scalability)、可靠性(Reliability)和可管理性(Manageability),感谢 章文嵩 博士为我们提供如此强大实用的开源软件。 LVS的特点是: 1、抗负载能力强、是工作在网络4层之上仅作分发之用,没有流量的产生,这个特点也决定了它在负载均衡软件里的性能最强的; 2、配置性比较低,这是一个缺点也是一个优点,因为没有可太多配置的东西,所以并不需要太多接触,大大减少了人为出错的几率; 3、工作稳定,自身有完整的双机热备方案,如LVS+Keepalived和LVS+Heartbeat,不过我们在项目实施中用得最多的还是LVS/DR+Keepalived; 4、无流量

LVS、Nginx、HAProxy网络负载均衡方法比较

落爺英雄遲暮 提交于 2019-12-02 18:14:48
现在网络中常见的的负载均衡主要分为两种:一种是通过 硬件 来进行进行,常见的硬件有比较昂贵的NetScaler、F5、Radware和Array等商用的负载均衡器,也有类似于LVS、Nginx、HAproxy的基于 Linux 的开源的负载均衡策略,商用负载均衡里面NetScaler从效果上比F5的效率上更高。对于负载均衡器来说,不过商用负载均衡由于可以建立在四~七层协议之上,因此适用面更广所以有其不可替代性,他的优点就是有 专业 的维护团队来对这些服务进行维护、缺点就是花销太大,所以对于规模较小的网络服务来说暂时还没有需要使用。 另一种负载均衡的方式是通过 软件 :比较常见的有LVS、Nginx、HAproxy等,其中LVS是建立在四层协议上面的,而另外Nginx和HAproxy是建立在七层协议之上的,下面分别介绍关于 LVS:使用集群 技术 和Linux 操作系统 实现一个高性能、高可用的 服务器 ,它具有很好的可伸缩性(Scalability)、可靠性(Reliability)和可管理性(Manageability)。 LVS的特点是 : 1、抗负载能力强、是工作在网络4层之上仅作分发之用,没有流量的产生; 2、 配置 性比较低,这是一个缺点也是一个优点,因为没有可太多配置的东西,所以并不需要太多接触,大大减少了人为出错的几率; 3、工作稳定,自身有完整的双机热备 方案 ;

什么是CDN

做~自己de王妃 提交于 2019-12-02 18:09:38
CDN 全称:Content Delivery Network或Content Distribute Network,即内容分发网络 是将源站内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、点播、直播等场景。 基本思路 尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。 目的 解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、点播、直播等场景。使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度和成功率。 控制时延无疑是现代信息科技的重要指标,CDN的意图就是尽可能的减少资源在转发、传输、链路抖动等情况下顺利保障信息的连贯性。 CDN就是扮演者护航者和加速者的角色,更快准狠的触发信息和触达每一个用户,带来更为极致的使用体验。 基本原理 最简单的CDN网络由一个DNS服务器和几台缓存服务器组成: 当用户点击网站页面上的内容URL,经过本地DNS系统解析

高并发web网站架构设计

谁说我不能喝 提交于 2019-12-02 17:55:31
千万级 PV 规模高性能高并发网站架构 高并发访问的核心原则其实就一句话“把所有的用户访问请求都尽量往前推”。 如果把来访用户比作来犯的"敌人",我们一定要把他们挡在 800 里地以外,即不能让他们的 请求一下打到我们的指挥部(指挥部就是数据库及分布式存储)。 如:能缓存在用户电脑本地的,就不要让他去访问 CDN/cache。能缓存 CDN/cache 服务器上 的,就不要让 CDN/cache 去访问源(静态 web 服务器)了。能访问静态 web 服务器的,就 不要去访问动态服务器。以此类推:能不访问数据库和存储就一定不要去访问数据库和存储。 高性能高并发高可扩展网站架构访问的几个层次: 第一层: 首先在用户浏览器端,使用 Apache 的 mod_deflate 压缩传输,再比如: expires 功 能,deflate 和 expires 功能利用的好,就会大大提升用户体验效果及减少网站带宽,减少后端 服务器的压力。 提示:有关压缩传输及 expires 功能 nginx/lighttpd 等软件同样也有。 第二层: 静态页面内容缓存,如图片/js/css 等或静态数据 html,这个层面是网页缓存层,比 如 CDN(效果比公司自己部署 squid/nginx/varnish 要好,他们更专业,价格低廉,比如快网 /CC 等,而且覆盖的城市节点更多)。 自己架设 squid

负载均衡方案优缺点对比

↘锁芯ラ 提交于 2019-12-02 17:46:04
负载均衡方案优缺点对比 LVS 优点 1、抗负载能力强、工作在第4层仅作分发之用,没有流量的产生,这个特点也决定了它在负载均衡软件里的性能最强的;无流量,同时保证了均衡器IO的性能不会受到大流量的影响; 2、工作稳定,自身有完整的双机热备方案,如LVS+Keepalived和LVS+Heartbeat; 3、应用范围比较广,可以对所有应用做负载均衡; 4、配置性比较低,这是一个缺点也是一个优点,因为没有可太多配置的东西,所以并不需要太多接触,大大减少了人为出错的几率; 缺点 1、软件本身不支持正则处理,不能做动静分离,这就凸显了Nginx/HAProxy+Keepalived的优势。 2、如果网站应用比较庞大,LVS/DR+Keepalived就比较复杂了,特别是后面有Windows Server应用的机器,实施及配置还有维护过程就比较麻烦,相对而言,Nginx/HAProxy+Keepalived就简单多了。 Nginx 优点 1、工作在OSI第7层,可以针对http应用做一些分流的策略。比如针对域名、目录结构。它的正则比HAProxy更为强大和灵活; 2、Nginx对网络的依赖非常小,理论上能ping通就就能进行负载功能,这个也是它的优势所在; 3、Nginx安装和配置比较简单,测试起来比较方便; 4、可以承担高的负载压力且稳定,一般能支撑超过几万次的并发量; 5