zuul 初学习(9.20)

2017-09-21  本文已影响46人  星期六1111

问题描述

今天开始学习项目中的一个新的知识点zuul,网上找了些教程看了下就开始自己学习写demo。

矛盾点

按照网上的博客和demo一步一步的写,但最后博客中的描述是访问localhost:8080/book/checkout 可以出结果的,但我的却不行,访问URL的结果是访问不到网页。

问题解决

Q1:服务已经启动,为什么会访问不到?
A1:百思不得其解,忽然发现网页的Tab上的图案有些熟悉,原来是在印度的项目,记得当时是通过localhost:8080访问的,会是这个原因吗?我将zuul 的demo端口换成了5000,访问localhost:5000/book/checkout,好了,可以访问到服务了,但是页面的结果却不是我期望的。


Q2:如果我杀掉8080端口的服务,那应该就关闭我在印度的项目服务了吧?
A2:杀掉localhost:8080后,浏览器输入localhost:8080,发现服务竟然还在,因为页面是有响应的,尽管状态是404。。。。这是什么情况,为毛?


Q3:杀掉进程,但localhost访问的时候确实有响应的,为什么?
A3:初步怀疑是可浏览器缓存的原因,清除浏览器缓存,ok


Q4:zuul把端口由8000换成5000后,访问local:5000/book/checkout,并没有进行路由替换,这是为什么?
A4:仔细检查发现,后端可以访问的路由是http://localhost:8090/availablehttp://localhost:8090/checked-out,使用zuul后,我访问的路由是http://localhost:5000/books/checkout,页面提示的错误是Whitelabel Error Page.

server.port=5000
zuul.routes.book.path=/books/**
zuul.routes.book.url=http://localhost:8090/

访问路由http://localhost:5000/books/checked-outhttp://localhost:5000/books/available后可以成功访问,ok.

server.port=5000
zuul.routes.book.path=/books/**
zuul.routes.book.url=http://localhost:8090/checked-out

访问路由就会报错


Q5: Q4的问题原因是什么?
A5: 在Q4中成功的情况下,当使用zuul的时候,访问localhost:5000/books/checkout,zuul的路由替换会在浏览器中变成localhost:8090/checkout,自然是访问不到的,同理其他。

反思

今天在这个问题上花费了几个小时的时间,中途问了一些小伙伴,但还是没有解决问题,就一直卡在这个问题上,服务启动,但浏览器接受不到响应的问题,没有及时的发现网页上的小图标有问题,所以耽搁了很多时间。还有,博客上的就一定是对的吗?它的demo是不是本身就存在问题?

action

  1. 一个问题被卡住超过一个小时,暂时放弃,找到可以帮助自己的人再来解决这个问题。
  2. 找不同的demo对比来看,去官网看文档。
上一篇下一篇

猜你喜欢

热点阅读