负载均衡的基本知识以及使用nginx进行负载均衡的

nginx一般可以用于七层的负载均衡,这篇文章将介绍一些负载均衡的基本知识以及使用nginx进行负载均衡的简单的例子。

四层负载均衡 vs 七层负载均衡

经常会说七层负载均衡还是四层负载均衡,其实根据ISO的OSI网络模型的所在层的叫法而决定的,nginx因为在使用http协议在应用层进行负载均衡的操作,所以被称为七层负载均衡。而诸如LVS在TCP层进行负载均衡操作的则被称为四层负载均衡。一般来说,有如下层的负载均衡分类:

负载均衡的基本知识以及使用nginx进行负载均衡的简单例子

常见软件的支持

负载均衡的基本知识以及使用nginx进行负载均衡的简单例子

常见的负载均衡算法

负载均衡常见有如下几种算法:

负载均衡的基本知识以及使用nginx进行负载均衡的简单例子

负载均衡演示实例:普通轮询

接下来使用nginx来演示一下如何进行普通轮询:

负载均衡的基本知识以及使用nginx进行负载均衡的简单例子

事前准备

事前在7001/7002两个端口分别启动两个服务,用于显示不同信息,为了演示方便,使用tornado做了一个镜像,通过docker容器启动时传递的参数不同用于显示服务的不同。

?

启动nginx

?

nginx代码段

准备如下nginx代码段将其添加到nginx的/etc/nginx/conf.d/default.conf中

?

修改default.conf的方法

可以通过在容器中安装vim达到效果,也可以在本地修改然后通过docker cp传入,或者直接sed修改都可。如果在容器中安装vim,使用如下方式即可

?

修改前

?

修改后

?

重启nginx容器

?

确认结果

可以清晰地看到按照顺序,进行轮询:

[root@kong ~]# curl http://localhost:9080
Hello, Service :User Service 1: 7001
[root@kong ~]# curl http://localhost:9080
Hello, Service :User Service 1: 7002
[root@kong ~]# curl http://localhost:9080
Hello, Service :User Service 1: 7001
[root@kong ~]# curl http://localhost:9080
Hello, Service :User Service 1: 7002
[root@kong ~]#

负载均衡演示实例:权重轮询

而在此基础上,进行权重轮询只需要加上weight即可

负载均衡的基本知识以及使用nginx进行负载均衡的简单例子

修改default.conf

按照如下修改default.conf

?

重启nginx容器

?

确认结果

可以看到轮询结果按照1/3和2/3的比重在进行了:

[root@kong ~]# curl http://localhost:9080
Hello, Service :User Service 1: 7001
[root@kong ~]# curl http://localhost:9080
Hello, Service :User Service 1: 7002
[root@kong ~]# curl http://localhost:9080
Hello, Service :User Service 1: 7002
[root@kong ~]#

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接

原文链接:https://blog.csdn.net/liumiaocn/article/details/80532583



相关文章
推荐文章
热门文章

微信公众号推荐

相关推荐