负载均衡

Nginx的相关介绍

坚强是说给别人听的谎言 提交于 2019-11-26 18:12:46
前言 说到服务器,一定会想到apache的httpd和Nginx这两大服务器 Apache的发展时期很长,而且是毫无争议的世界第一大服务器。它有着很多优点:稳定、开源、跨平台等等。它出现的时间太长了,它兴起的年代,互联网产业远远比不上现在。所以它被设计为一个重量级的。它不支持高并发的服务器。在Apache上运行数以万计的并发访问,会导致服务器消耗大量内存。操作系统对其进行进程或线程间的切换也消耗了大量的CPU资源,导致HTTP请求的平均响应速度降低。 这些都决定了Apache不可能成为高性能WEB服务器,轻量级高并发服务器Nginx就应运而生了。 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。 由于: Nginx使用基于事件驱动架构,使得其可以支持数以百万级别的TCP连接 高度的模块化和自由软件许可证使得第三方模块层出不穷(这是个开源的时代啊~) Nginx是一个跨平台服务器,可以运行在Linux,Windows,FreeBSD,Solaris,AIX,Mac OS等操作系统上 这些优秀的设计带来的是极大的稳定性 所以,Nginx火了!

Docker学习(21)——Docker 三剑客之 Docker Swarm集群(手动搭建、拉伸、缩减、集群监控、global模式、滚动更新服务)

倾然丶 夕夏残阳落幕 提交于 2019-11-26 17:50:34
1.基本概念 Docker Swarm 和 Docker Compose 一样,都是 Docker 官方容器编排项目 但不同的是,Docker Compose 是一个在单个服务器或主机上创建多个容器的工具 而 Docker Swarm 则可以在多个服务器或主机上创建容器集群服务,对于微服务的部署,显然 Docker Swarm 会更加适合 从 Docker 1.12.0 版本开始,Docker Swarm 已经包含在 Docker 引擎中(docker swarm),并且已经内置了服务发现工具 我们就不需要像之前一样,再配置 Etcd 或者 Consul 来进行服务发现配置了 使用docker-compose部署集群实现负载均衡的时候,我们使在一台主机上面做的,不可以动态的拉神web服务的数量 因为使用docker-compose不满足实际生产环境的要求,因此不需要使用docker-compose了 实际当中我们的web(rs)服务器是要随着业务的增加而增加的 因此使用daoker内置的swarm集群来实现 swarm要求docker-compose必须v3版本以上 swarm自带docker stack会替代docker-compose 其实docker-machine+docker-swarm,就可以实现自动部署docker和自动实现各种功能 2.Docker swarm的好处

描述下什么是springcloud,springcloud中的组件有哪些?分别描述下它的原理?

浪尽此生 提交于 2019-11-26 16:50:22
1.什么是springcloud,springcloud中的组件有哪些? Spring cloud是一个基于Spring Boot实现的服务治理工具包,在微服务架构中用于管理和协调服务的 微服务:就是把一个单体项目,拆分为多个微服务,每个微服务可以独立技术选型,独立开发,独立部署,独立运维.并且多个服务相互协调,相互配合,最终完成用户的价值. Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署 服务发现——Netflix Eureka 客服端负载均衡——Netflix Ribbon 断路器——Netflix Hystrix 服务网关——Netflix Zuul 分布式配置——Spring Cloud Config 2.分别描述下它的原理? Eureka(注册发现) 作用:实现服务治理(服务注册与发现) 简介:Spring Cloud Eureka是Spring Cloud Netflix项目下的服务治理模块。 由两个组件组成:Eureka服务端和Eureka客户端。 Eureka服务端用作服务注册中心。支持集群部署。 Eureka客户端是一个java客户端,用来处理服务注册与发现。

微服务—Spring Cloud原理、实战

半城伤御伤魂 提交于 2019-11-26 16:49:58
SpringCloud 关键名词 服务发现(service discovery) 服务ID SpringCloud经常用的5个组建: 服务发现——Netflix Eureka 传统DNS+负载均衡在微服务中不足 服务发现架构 基于云的微服务环境的服务发现其特征 部署高可用eureka server集群 实例1配置 实例2配置 client端配置 客服端负载均衡——Netflix Ribbon/Feign Ribbon + restTemplate 一般都是用 Feign client,比较方便。 断路器——Netflix Hystrix Feign中使用断路器 服务网关——Netflix Zuul 分布式配置——Spring Cloud Config 关键名词 服务发现(service discovery) 在许多分布式系统架构中,都需要去获取机器的物理地址(微服务实例部署的服务器地址及端口)。这一认知在分布式系统架构开始的时候就已经存在,而等到分布式计算出现的时候,被正式称为服务发现(service discovery)。 SpringCloud是微服务架构的集大成者,将一系列优秀的组件进行了整合。基于springboot构建。 SpringCloud的组件相当繁杂,拥有诸多子项目。重点关注Netflix。 服务ID 服务ID只是被服务发现代理用来给不同服务分组而已

springCloud

◇◆丶佛笑我妖孽 提交于 2019-11-26 16:41:51
SpringCloud的五大组件: 服务发现——Netflix Eureka 客服端负载均衡——Netflix Ribbon 断路器——Netflix Hystrix 服务网关——Netflix Zuul 分布式配置——Spring Cloud Config 服务发现Eureka: Ribbon 作用:Ribbon,主要提供客户侧的软件负载均衡算法。 简介:Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。 注意看上图,关键点就是将外界的rest调用,根据负载均衡策略转换为微服务调用。Ribbon有比较多的负载均衡策略,以后专门讲解。 Hystrix 作用:断路器,保护系统,控制故障范围。 简介:为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的“雪崩”效应。 Zuul 作用:api网关,路由,负载均衡等多种作用 简介

12306抢票,极限并发带来的思考?

浪子不回头ぞ 提交于 2019-11-26 13:55:06
12306抢票,极限并发带来的思考? 每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票!虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。“12306服务”承受着这个世界上任何秒杀系统都无法超越的QPS,上百万的并发再正常不过了!笔者专门研究了一下“12306”的服务端架构,学习到了其系统设计上很多亮点,在这里和大家分享一下并模拟一个例子:如何在100万人同时抢1万张火车票时,系统提供正常、稳定的服务。 1. 大型高并发系统架构 高并发的系统架构都会采用分布式集群部署,服务上层有着层层负载均衡,并提供各种容灾手段(双火机房、节点容错、服务器灾备等)保证系统的高可用,流量也会根据不同的负载能力和配置策略均衡到不同的服务器上。下边是一个简单的示意图: 1.1 负载均衡简介 上图中描述了用户请求到服务器经历了三层的负载均衡,下边分别简单介绍一下这三种负载均衡: OSPF(开放式最短链路优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP)。OSPF通过路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径树,OSPF会自动计算路由接口上的Cost值

负载均衡与CDN简介

房东的猫 提交于 2019-11-26 13:21:41
负载均衡 负载均衡是高可用网络基础架构的的一个关键组成部分,有了负载均衡,我们通常可以将我们的应用服务器部署多台,然后通过负载均衡将用户的请求分发到不同的服务器用来提高网站、应用、数据库或其他服务的性能以及可靠性。 为什么要引入负载均衡 先看一个没有负载均衡机制的web架构: 上图中的架构有什么缺陷了?首先,用户是通过网络直接和web服务器相连,想象一下,如果这个服务器挂了(这种情况随时都可能发生的),那么用户的请求就会得不到响应,将无法访问该网站,这就是著名的单点故障问题,这肯定是不行的,一般而言,商业上的网站其可靠性需要达到至少4个9,也就是99.99&以上。 其次,即使服务器是正常工作的情况,但是如果很多用户在同一时间内访问服务器,超过了服务器的处理能力,那么会出现响应速度慢甚至无法连接的情况,这也是用户无法接受的。 负载均衡的出现可以很好的解决上面两个问题,通过引入一个负载均衡器和至少两个web 服务器,可以有效的解决上面两个问题。注:通常情况下,所有的后端服务器会保证提供相同的内容,以便用户无论哪个服务器响应,都能收到一致的内容。 如上图架构,现在,即使App 01即使挂了,负载均衡会将用户的请求转发到正常工作的App 02上,这解决了上面的第一个问题;其次,根据业务需要,负载均衡后端的App可以很方便的扩展,这样就能解决第上面的第二个问题。但是

Nginx 的关键组件的介绍

删除回忆录丶 提交于 2019-11-26 12:45:09
本文章主要介绍 Nginx 本身功能,不依赖第三方的任何模块。介绍常用的组件功能: 反向代理、负载均衡、Http服务器、正向代理 反向代理(Reverse Proxy): 什么是反向代理呢?本人最直接的理解是 将外部的请求,通过 Nginx 软件转向内部请求当中,并响应相关请求。Nginx接收外部的连接请求,然后将请求转发给内部服务器,并将结果反馈请求客户端,此时代理服务器的表现为一个反向代理服务器。目的就是为了真实的内部服务器不能直接外部网络访问。代理服务器的前提条件是该服务器能被外部网络访问的同时又跟真实服务器在同一个网络环境。 反向代理简单配置方式: server {   listen  80;   server_name  localhost;   client_max_body_size 1024M;   location / {     proxy_pass  http://localhost:8080;     proxy_set_header Host $host:$server:$server_port;   } } 保存配置文件后重启Nginx服务,就生效了。 负载均衡: nginx负载均衡主要是对七层网络通信模型中的第七层应用层上的http、https进行支持。简单而言,2台或以上的应用服务器时,根据相应规则将请求分发到某台服务器上处理

nginx 入门、安装与简单使用

时光总嘲笑我的痴心妄想 提交于 2019-11-26 10:58:36
本文内容: 1. nginx 简介 2. nginx 安装 3. nginx 简单使用 一、Nginx 的三大功能 1.HTTP服务器 Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML、图片)通过HTTP协议展现给客户端。 2.反向代理服务器 Nginx也是反向代理服务器。 说反向代理之前先说一下正向代理,正向代理相信很多大陆同胞都在这片神奇的土地上用过了。就是访问国外网被墙了,然后找个代理服务,通过该服务器访问国外网站,这个是正向代理。 反向代理是 客户端访问代理服务器,但是代理服务器没有用户需要的资源,然后代理服务器偷偷访问应用服务器,获取资源返回给用户,用户不知道代理服务器是访问了应用服务器,代理服务器也隐藏了应用服务器的url。(反向代理的典型用途是将 防火墙后面的服务器提供给Internet用户访问) 3.负载均衡 Nginx可以通过反向代理来实现负载均衡。 二、Nginx 安装 2.1 CentOS 7 安装 Nginx 2.1.1.添加Nginx到YUM源 添加CentOS 7 Nginx yum资源库,打开终端,使用以下命令: sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 2.2.2

负载均衡设计

别等时光非礼了梦想. 提交于 2019-11-26 03:55:47
最近要搭建一个高并发的网站。所以,得设计负载均衡这一块。从大的方向上讲,负载均衡分为硬负载均衡,和软负载均衡。下面依次简要说明一下: 硬负载均衡 : 硬负载均衡,也就是使用专用的负载均衡设备。主流的硬负载均衡器有如下几种: F5 :最主流的硬负载均衡器。便宜的20万以上,贵的100多万。 深信服 :乞丐版低配12万元起价。 A10 :基本都在100万元以上。 Array :16-100万。 看这价格就知道,硬负载均衡,一般的中小公司,都会被价格折磨、然后犹豫、最后放弃。 软负载均衡 : 软软负载均衡,也就是,不使用专用的负载均衡设备,而是通过软件来实现负载均衡。常用的有如下几种: DNS :最原始的负载均衡方式,名字就已经说明了一切,不用细说了。 LVS :最常用的软件负载均衡。我见过的国内百万级用户的架构,基本都是靠它顶的。 Nginx :也是现在流行的、常用的负载均衡方案之一。 转载于:https://www.cnblogs.com/welcomer/p/power.html 来源: https://blog.csdn.net/weixin_30767921/article/details/98753602