拿登录举例⼦吧,我的登录流程是前端输⼊⽤户名密码,通过⽹关将请求转发到mall-user微服务上,mall-user通过Feign远程调⽤
oauth2微服务进⾏登录验证然后返回消息,oauth2是部署在两台虚拟机上的,这就涉及到分布式部署负载均衡了。看起来并不难,但绝知此事要躬⾏,如果只是在⾃⼰电脑上改个端⼝然后像我上⾯类似流程请求成功的话并⽆难度,因为你的所有微服务都是在⼀个局域⽹下的⼀台主机上,你可能什么困难也碰不到就轻松运⾏成功了。
404页面网站源码在eureka的status列是根据项⽬中的yml配置⽂件显⽰的,我刚开始⼩看它了,以为它只是展⽰作⽤,然⽽它却并不简单,尤其在涉及分布式部署的时候,由于ip的不同就⼀定会出问题。
这样的配置在单机情况下没有问题,运⾏之后看看是什么样⼦的
本地运⾏的在eureka上的ip是在当前局域⽹下分配的ip,所以虽然注册到了eureka上,但是显然其他服务包括⽹关是⽆法请求到本地的微服务的(我⼀直没有解决这个问题),如果就将这样的配置的微服务打包部署到服务器上⼜会什么样⼦的呢?这⾥就不尝试了,直接说出我的亲测结论,如果部署在服务器运⾏上⾯的信息是 linux内⽹ip+端⼝,注意是内⽹,别的微服务还是⽆法请求到该服务的(404),之前上⾯eureka注册信息ip都是服务器公⽹ip,也就是任何⼈都可以请求到。租的服务器都有⼀个公⽹⼀个内⽹ip的。
这样的话部署到服务器上就会是你指定的服务器公⽹ip地址了,根据部署在不同服务器来修改不同的ip地址并分开部署。这是我的解决⽅式,写死我总感觉不太好,但⽬前没有到更好的⽅式了。
三、测试
⽤最开始说的登录测试吧,打开postman 输⼊⽹址测试。负载均衡到两台服务器上的oauth2服务。先负载到A
轮询机制下次请求会到B服务器上的Oauth2服务请求流程如下图
源码⽅⾯:
包>package org.springframework.cloudflix.eureka;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论