Spring Cloud GateWay网关集群搭建「建议收藏」

Spring Cloud GateWay网关集群搭建「建议收藏」SpringCloudGateWay网关集群搭建1.环境nginx:1.19.0nacos:1.3.1openjdk:1.8.0_181nacos集群:192.168.8.81192.168.8.82192.168.8.832.实现网关注册nacos中心1)配置依赖pom.xml因为是搭建网关集群,每一个网关应用使用的依赖都是一致的2)修改配置文件配置网关服务gatewaya的nacos集群注册中心地

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

Spring Cloud GateWay网关集群搭建

1.环境
nginx: 1.19.0

nacos: 1.3.1

openjdk: 1.8.0_181

nacos集群:
192.168.8.81
192.168.8.82
192.168.8.83

2.实现网关注册nacos中心
1)配置依赖pom.xml

  • 因为是搭建网关集群,每一个网关应用使用的依赖都是一致的

在这里插入图片描述

2)修改配置文件

配置网关服务gatewaya的nacos集群注册中心地址、端口号

在这里插入图片描述
在这里插入图片描述

配置网关服务gatewayb的nacos集群注册中心地址、端口号
在这里插入图片描述

在这里插入图片描述

3.实现网关转发至服务
1)配置路由

配置网关服务gatewaya支持跨域访问及连接超时时间

在这里插入图片描述

配置网关服务gatewaya的路由转发到在注册中心已注册服务nacos-provider
在这里插入图片描述

配置网关服务gatewayb支持跨域访问及连接超时时间

在这里插入图片描述

配置网关服务gatewaya的路由转发到在注册中心已注册服务nacos-consumer

在这里插入图片描述

4.nacos-discovery实现数据访问
1)nacos-provider添加访问路径

在这里插入图片描述

2)nacos-consumer添加访问路径
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.nginx实现负载均衡
1)安装nginx

yum install nginx

在这里插入图片描述

2)修改配置文件

修改nginx.conf文件 ,配置网关集群的负载均衡

cd /usr/local/nginx/conf

vim nginx.conf
在这里插入图片描述

#gzip on;
upstream gateways {

server 192.168.6.29:9527 weight=1;
server 192.168.6.29:9528 weight=1;
}

server {

listen 80;
server_name 192.168.6.29;
charset utf8;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {

#root html;
#index index.html index.htm;
proxy_pass http://gateways;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

6.测试网关集群
启动nacos-provider、nacos-consumer、gatewaya、gatewayb应用,并进入nacos注册中心查询服务列表

在这里插入图片描述

测试gatewaya设置的路由test_a、test_c和gatewayb设置的路由test_a,浏览器访问http://192.168.8.81/hello ,转发到gatewaya时页面返回Hello Gateway A!字符串,转发到gatewayb时页面返回字符串Hello Gateway B!;

在这里插入图片描述

测试gatewayb设置的路由test_b,浏览器访问http://192.168.8.81/hello-rest/ayay,转发到gatewaya时返回404页面,转发到gatewayb时页面返回字符串ayay;

测试gatewayb设置的路由test_c,浏览器访问http://192.168.8.81/hello-feign/heihei 转发到gatewaya时返回404页面,转发到gatewayb时页面返回字符串heihei;
在这里插入图片描述

  • 此处的原理是nginx监听端口80,监听到访问后将请求转发给gatewaya和gatewayb,权重weight分别设置为1,即两次访问,gatewaya和gatewayb分别会有50%的等概率会被转发到,接着gatewaya和gatewayb根据访问路径匹配相应的路由,gatewaya和gatewayb分别配置了三个路由,都会分别获取到注册的服务nacos-provider和nacos-consumer,通过路径转到注册服务相应的访问路径获取数据
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/183413.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(2)


相关推荐

  • 网络流媒体协议之——RTSP协议

    网络流媒体协议之——RTSP协议RTSP(Real-TimeStreamProtocol)协议是一个基于文本的多媒体播放控制协议,属于应用层。RTSP以客户端方式工作,对流媒体提供播放、暂停、后退、前进等操作。该标准由IETF指定,对应的协议是RFC2326。RTSP作为一个应用层协议,提供了一个可供扩展的框架,使得流媒体的受控和点播变得可能,它主要用来控制具有实时特性的数据的发送,但其本身并不用于传送流媒体数据,而

  • 【已解决】MySQL Connector Net 卸载不了问题?

    【已解决】MySQL Connector Net 卸载不了问题?今天mysql出现了一些问题,想要全部卸载重新安装,控制面板中右键卸载,发现MySQLConnectorNet无法卸载。百度上搜索发现回答都是复制粘贴,千篇一律,都是检查C盘文件是否删除干净,还有就是注册表是否删除干净;使用这些方法均不能完成卸载,重装mysql。不断搜索发现一方法可行进行分享:1.微软的支持里面有一个Fixproblemsthatblockprogramsfrombeinginstalledorremoved,链接https://support.micros

  • python | 史上最全的正则表达式「建议收藏」

    python | 史上最全的正则表达式「建议收藏」importrere.match#从开始位置开始匹配,如果开头没有则无re.search#搜索整个字符串re.findall#搜索整个字符串,返回一个list举例:r(raw)用在pattern之前,表示单引号中的字符串为原生字符,不会进行任何转义re.match(r’l’,’liuyan1′).group()#返回lre.match(r’y’,’liuyan1′)#…

  • hadloop大数据平台论文_基于Hadoop的大数据解决方案的设计及应用

    hadloop大数据平台论文_基于Hadoop的大数据解决方案的设计及应用第37卷第2期2017年4月河池学院学报JOURNALOFHECHIUNIVERSITYVol.37No.2Apr.2017基于Hadoop的大数据解决方案的设计及应用苏树鹏(广西机电职业技术学院,广西南宁530007)[摘要]随着信息化技术和终端智能的迅猛发展,系统需要处理的数据呈现海量化,使得海量数据的存储、挖掘成为当前亟待解决的问题。使用云计算技术构建集群系统,可有效地解决海量数据的存储、共…

  • c语言中(int)什么意思_c语言中怎么用int转化char

    c语言中(int)什么意思_c语言中怎么用int转化char1、int;int是C++关键字,表示整型,其大小是32位有符号整型,表示的范围是-2,147,483,648 到2,147,483,647;在声明和定义变量时使用,它表示的意思是所声明或所定义的变量为整型变量。如果其用于函数参数时,其传递方向为值传递,即只能将实参的值传递给形参,而不能将形参的值传递给实参。例如:通过这种方式去进行交换两个数是无法达到目的的。例子1:#include&…

  • Linux查看端口使用状态、关闭端口方法

    Linux查看端口使用状态、关闭端口方法前提:首先你必须知道,端口不是独立存在的,它是依附于进程的。某个进程开启,那么它对应的端口就开启了,进程关闭,则该端口也就关闭了。下次若某个进程再次开启,则相应的端口也再次开启。而不要纯粹的理解为关闭掉某个端口,不过可以禁用某个端口。1.可以通过”netstat-anp”来查看哪些端口被打开。(注:加参数’-n’会将应用程序转为端口显示,即数字格式的地址,如:nfs->2049,

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号