nginx负载均衡原理 服务器负载均衡是什么意思


nginx负载均衡原理 服务器负载均衡是什么意思

文章插图
1.什么是负载均衡首先我们来看看维基百科对负载均衡的说明:
负载平衡(Load balancing)是一种计算机技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最优化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的 。使用带有负载平衡的多个服务器组件,取代单一的组件,可以通过冗余提高可靠性 。负载平衡服务通常是由专用软件和硬件来完成 。主要作用是将大量作业合理地分摊到多个操作单元上进行执行,用于解决互联网架构中的高并发和高可用的问题 。
举个例子来解释下负载均衡下图中,一群人在银行排队办理业务,假设只有一个服务窗口,那么一个服务窗口来处理所有人员业务办理,人少的时候,肯定是能够办理完的,如果人特别多的时候恩?一个服务窗口肯定是没有办法处理完这么多业务办理的 。于是就出现如下图这样,一大堆人排队 。
这时候银行就会多开几个窗口来办理业务,将原本堆积在一个窗口上处理的业务,分配到几个窗口上,这样业务办理就会加快了,但是仅仅是多开几个窗口是不够的 。
为什么?因为没办法保证让某个人在某个窗口办理业务 。大家可能还是会乱套(举个极端例子:假设A窗口的小姐姐特别的漂亮,会不会她那里会有很多的男客户排队办理业务恩?),因此银行除了多开几个窗口以外,还会设置一个排号,你拿到排号在哪个窗口,你就在哪个窗口进行办理业务 。
在我们负载均衡中 ,客户端(PC/移动/第三方)发起请求,就好比办理业务的人员 。负载均衡器(load balancer)就好比取号机,当他接收到一个请求的时候,负载均衡器就会给这个请求,分配一个服务来处理请求 。就像取号机一样,负载均衡器按照一定规则分配一个窗口来办理业务 。
因此,在Spring cloud中,如果我们只提供一个服务,那么很可能会出现我们上面所说的一个窗口处理业务,处理不完的情况,导致大量人员排队等候 。
2.注册多个服务在微服务Spring Cloud快速入门中,如果我们的商品服务一个不够用的话,根据负载均衡的理论,那我们就可以多注册几个服务 。防止一个服务无法承载高并发时的情况 。
启动注册中心、商品服务,订单服务,登录注册中心,查看我们当前的服务
此时,我们的商品服务和订单服务都只是一个服务,那么如何注册多个商品服务呢?
2.1向注册中心注册多个服务以同样的项目代码,设定端口为8091,其余配置均和之前的商品服务保持一致,然后启动商品服务 。
server:port: 8091 #服务端口spring:application:name: hutao-microservice-item #指定服务名eureka:client:registerWithEureka: true #是否将自己注册到Eureka服务中,默认为truefetchRegistry: true #是否从Eureka中获取注册信息,默认为trueserviceUrl: #Eureka客户端与Eureka服务端进行交互的地址defaultZone: http://127.0.0.1:9090/eureka/instance:prefer-ip-address: true #将自己的ip地址注册到Eureka服务中点击如下所示,可以看到我们启动了1个注册中心,1个订单服务,2个商品服务
这时我们可以访问一下注册中心,我们可以发现,注册中心里面,商品服务有两个,一个是8081端口,一个是8091端口,并且他们的服务ID都是:HUTAO-MICROSERVICE-ITEM,这个服务ID和我们在配置文件中,配置的服务ID(spring.application.name)是保持一致的 。
也就是说,我们通过服务ID:hutao-microservice-item在注册中心里面,能够找到两个服务


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: