负载均衡

综合架构--负载均衡-keepalived

假如想象 提交于 2020-01-25 13:42:15
一、keepalived作用   Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。 二、keepalived的配置   在上一章的基础上 添加一台lb02     lb02 ip 10.0.0.6   在两台lb01与lb02 上安装keepalived yum install -y keepalived 三、修改 lb01 中keepalived 的配置文件    [root@lb01 ~]# cat /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { router_id LB01 #定义名字 } vrrp_instance VI_1 { state MASTER #设置该主机为主 interface eth0 #网卡 virtual_router_id 51 #唯一标示id priority 150 #权重比权重高优先级高 advert_int 1 #心跳检测 每隔一秒

Nginx负载均衡配置

末鹿安然 提交于 2020-01-25 13:19:59
1、环境:一台宿主机Nginx + 2台Docker环境的Nginx 2、配置宿主机Nginx.conf文件 在http段加入以下代码: upstream www.abc.top { server 192.168.83.172:8081 weight=10; server 192.168.83.172:8082 weight=20; } server{ listen 80; server_name www.abc.top; location / { proxy_pass http://www.abc.top; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 3、docker环境执行命令 docker run -d -p 8081:80 -v /mnt/test/Work/nginx:/var/www/html --name xy_nginx2 nginx:1.10.3 docker run -d -p 8082:80 -v /mnt/test/Work/nginx:/var/www/html --name xy_nginx2 nginx:1.10.3 4、测试结果

Hadoop学习笔记和总结(七)

走远了吗. 提交于 2020-01-25 09:41:11
目录 第七章 HDFS的四个机制与两个核心功能 7.1 HDFS 机制 7.1.1 心跳机制 7.1.2 安全模式 7.1.3 机架策略 7.1.4 负载均衡 7.2 HDFS文件上传流程 7.3 HDFS文件下载流程 第七章 HDFS的四个机制与两个核心功能 HDFS提供的是高容错性的分布式数据存储方案,其包括 四个主要的机制 :(1) 心跳机制 (2) 安全模式 (3) 机架策略 (4) 负载均衡 ;并作为一个文件系统 两大核心功能 包括:(1) 文件上传 (2) 文件下载 (3) 元数据的管理 当Hadoop集群启动时,各个进程启动的顺序如下: NameNode --> DataNode --> SecondaryNameNode 7.1 HDFS 机制 HDFS机制中需要重点掌握心跳机制、安全模式和机架策略并理解负载均衡。 7.1.1 心跳机制 集群节点必须做时间同步。 NameNode是集群的Boss,负责集群中任务的分工。如果要进行分工,则必须知道各个DataNode的存活状况。NameNode是如何知道各DataNode的存活状态的呢? 利用心跳机制,即:DataNode定期向NameNode发送心跳报告所确定的。 具体实现: DataNode会每隔3秒(默认)向NameNode发送一次心跳报告,目的是告诉NameNode自己的存活状况。 可以通过修改 hdfs

Nginx 负载均衡模块解读

依然范特西╮ 提交于 2020-01-25 08:21:56
使用Nginx做负载均衡的两大模块: upstream 模块定义负载节点池。 location 进行URL匹配。 proxy 模块发送请求给upstream定义的节点池。 upstream模块解读 Nginx 的负载均衡功能依赖于 ngx_http_upstream_module模块,所支持的代理方式有 proxy_pass(一般用于反向代理),fastcgi_pass(一般用于和动态程序交互),memcached_pass,proxy_next_upstream,fastcgi_next_pass,memcached_next_pass 。 upstream 模块应该放于http{}标签内。 模块写法: upstream backend { ip_hash; server backend1.example.com weight=5; server backend2.example.com:8080; server backup1.example.com:8080 backup; server backup2.example.com:8080 backup; } 实例一: upstream dynamic { zone upstream_dynamic 64k; server backend1.example.com weight=5; server backend2

资料搜集-JAVA系统的梳理知识12-Dubbo

こ雲淡風輕ζ 提交于 2020-01-25 03:18:54
本文是作者根据官方文档以及自己平时的使用情况,对 Dubbo 所做的一个总结。如果不懂 Dubbo 的使用的话,可以参考我的这篇文章[《超详细,新手都能看懂 !使用SpringBoot+Dubbo 搭建一个简单的分布式服务》](https://mp.weixin.qq.com/s?__biz=MzU4NDQ4MzU5OA==&mid=2247484706&idx=1&sn=d413fc17023482f67ca17cb6756b9ff8&chksm=fd985343caefda555969568fdf4734536e0a1745f9de337d434a7dbd04e893bd2d75f3641aab&token=1902169190&lang=zh_CN#rd) Dubbo 官网:http://dubbo.apache.org/zh-cn/index.html Dubbo 中文文档: http://dubbo.apache.org/zh-cn/index.html <!-- MarkdownTOC --> - [一 重要的概念](#一-重要的概念) - [1.1 什么是 Dubbo?](#11-什么是-dubbo) - [1.2 什么是 RPC?RPC原理是什么?](#12-什么是-rpcrpc原理是什么) - [1.3 为什么要用 Dubbo?](#13-为什么要用-dubbo)

04 Ribbon介绍

霸气de小男生 提交于 2020-01-24 20:44:05
  负载均衡是分布式框架的重点,负载均衡机制决定着整个服务器集群的性能和稳定。我们知道,Eureka的服务实例可以进行集群集群部署,每个实例都均衡处理服务请求,那么这些请求是如何被分摊到各个服务实例中的呢?Netflix的负载均衡项目Ribbon帮我们解决了这个问题。 1.Ribbon简介   Ribbon是Netflix下的负载均衡项目,它在集群中为各个客户端的通信提供了支持,它主要实现中间层应用程序的负载均衡。Ribbon提供一下特性:   > 负载均衡器,可支持插拔式的负载均衡原则。   > 对多种协议提供支持,例如HTTP、TCP、UDP。   > 集成了负载均衡功能的客户端。   同为Netflix项目的Ribbon可以与Eureka整合使用,Ribbon同样也被集成到Spring Cloud中,作为spring-cloud-netflix项目中的子模块。Spring Cloud将Ribbon的API进行了封装,使用者可以使用封装后的API来实现负载均衡,也可以使用Ribbon原生的API。 2.Ribbon子模块   Ribbon主要有以下的三大子模块:   > ribbon-core: 该模块为Ribbon项目的核心。主要包括负载均衡器的接口定义、客户端接口定义、内置的负载均衡思想等API。   > ribbon-eureka:

负载均衡

陌路散爱 提交于 2020-01-23 13:17:32
Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件。一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术。具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了;如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的;大型网站或重要的服务,且服务器比较多时,可以考虑用LVS。 一种是通过硬件来进行,常见的硬件有比较昂贵的F5和Array等商用的负载均衡器,它的优点就是有专业的维护团队来对这些服务进行维护、缺点就是花销太大,所以对于规模较小的网络服务来说暂时还没有需要使用;另外一种就是类似于Nginx/LVS/HAProxy的基于 Linux的开源免费的负载均衡软件,这些都是通过软件级别来实现,所以费用非常低廉。 目前关于网站架构一般比较合理流行的架构方案:Web前端采用Nginx/HAProxy+ Keepalived作负载均衡器;后端采用 MySQL数据库一主多从和读写分离,采用LVS+Keepalived的架构。当然要根据项目具体需求制定方案。 下面说说各自的特点和适用场合。 Nginx的优点是: 1. 工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名、目录结构,它的正则规则比HAProxy更为强大和灵活,这也是它目前广泛流行的主要原因之一

反向代理和负载均衡有何区别?

柔情痞子 提交于 2020-01-22 19:00:22
作者:不吃猫的鱼 链接:https://www.zhihu.com/question/20553431/answer/130698230 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 一、SLB产生背景: SLB(服务器负载均衡):在多个提供相同服务的服务器的情况下,负载均衡设备存在 虚拟服务IP地址 。当大量客户端从外部访问虚拟服务IP地址时,负载均衡设备将这些报文请求根据负载均衡算法,将流量均衡的分配给后台服务器以平衡各个服务器的负载压力,避免在还有服务器压力较小情况下其他服务达到性能临界点出现运行缓慢甚至宕机情况,从而提高服务效率和质量。因此对客户端而言,RS(real server 实际服务器)的IP地址即是负载均衡设备VIP(虚拟服务地址IP)地址,真正的RS服务器IP地址对于客户端是不可见的。 二、SLB的三种传输模式: 七层SLB和四层SLB的区别: 四层SLB:配置负载均衡设备上服务类型为tcp/udp,负载均衡设备将只解析到4层,负载均衡设备与client三次握手之后就会和RS建立连接; 七层SLB:配置负载均衡设备服务类型为http/ftp/https等,负载均衡设备将解析报文到7层,在负载均衡设备与client三次握手之后,只有收到对应七层报文,才会跟RS建立连接。 在负载均衡设备中,SLB主要工作在以下的三种传输模式中:

Spring Cloud之Feign负载均衡

瘦欲@ 提交于 2020-01-22 16:28:41
官网解释: http://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-feign Feign是一个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单, 它的使用方法是 定义一个接口 ,然后在上面 添加注解 , 同时也支持JAX-RS标准的注解。 Feign也支持可拔插式的编码器和解码器。Spring Cloud对Feign进行了封装,使其支持了Spring MVC标准注解和 HttpMessageConverters。 Feign可以与Eureka和Ribbon组合使用以支持负载均衡 。 Feign是一个声明式的Web服务客户端,使得编写Web服务客户端变得非常容易。 只需要创建一个接口,然后在上面添加注解即可。 参考官网:https://github.com/OpenFeign/feign Feign能干什么 Feign旨在使编写Java Http客户端变得更容易。 前面在使用Ribbon+RestTemplate时,利用RestTemplate对http请求的封装处理,形成了一套模版化的调用方法。但是在实际开发中,由于对服务依赖的调 用可能不止一处, 往往一个接口会被多处调用,所以通常都会针对每个微服务自行封装一些客户端类来包装这些依赖服务的调用 。所以

字节跳动二面

旧巷老猫 提交于 2020-01-22 15:21:46
1.项目问题 工作中的项目经历 rong360 1.权限 https://www.cnblogs.com/ldphoebe/p/6233443.html 2.表格 (left join) session 和 cookie的区别 nginx发生了什么? 多个 客户端 给服务器发送的请求, Nginx服务器接收到之后,按照一定的规则分发给了后端的 业务处理服务器进行处理了。 此时~请求的来源 (客户端)是明确的 ,但是 请求具体由哪台服务器处理的并不明确了 ,Nginx扮演的就是一个反向代理角色。 客户端 是无感知代理的存在的, 反向代理对外都是透明的,访问者并不知道自己访问的是一个代理 。 因为客户端不需要任何配置就可以访问。 反向代理," 它代理的是服务端 ",主要用于服务器集群分布式部署的情况下,反向代理隐藏了服务器的信息。 反向代理的作用: (1)保证内网的安全,通常将反向代理作为公网访问地址, Web服务器是内网(图最右边) (2 )负载均衡,通过反向代理服务器来优化网站的负载 负载均衡 我们已经明确了所谓代理服务器的概念,那么接下来,Nginx扮演了反向代理服务器的角色,它是以依据什么样的规则进行请求分发的呢?不用的项目应用场景,分发的规则是否可以控制呢? 这里提到的 客户端发送的、Nginx反向代理服务器接收到的请求数量 ,就是我们说 的负载量 。 请求数量