我只有很少的spring boot微服务,它们是通过云环境部署到JBoss的。这些引导服务是在Eureka服务器中注册自己的Eureka客户端。下面是一个例子:
eureka:
client:
healthcheck:
enabled: true
serviceUrl:
defaultZone: ${DISCOVERY_URL:http://localhost:8761}/eureka/
instance:
ip-address: 127.0.0.1
appname: user-regn-service-app
home-page-url-path: /user-regn-service-app
它用user-regn-service-app Eureka主页的名称向Eureka注册应用程序
wildfly服务器在8080处运行,而user-regn-service-app部署在上下文路径/user-regn-service-app处。所以rest api如下所示
localhost:8080/user-regn-service-app/regnUser
当我使用zuul作为api网关时,配置如下
zuul:
prefix: /api
routes:
test:
path: /test/**
service-id: USER-REGN-SERVICE-APP
strip-prefix: true
ribbon:
eureka:
enabled: true
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
registerWithEureka: false
http://localhost:8765/api/user-regn-service-app/user-regn-service-app/regnuser
->重定向到用户注册。
预期行为:http://localhost:8765/api/test/regnuser
应重定向到用户注册。
我几乎尝试了所有的组合,我从Zuul和Eureka之间的博客得到的,以获得以下的完成,但没有运气。如果我错过了什么,请给我忠告。
@Component
public class ZuulApiFilter extends ZuulFilter{
@Override
public Object run() {
RequestContext ctx = RequestContext.getCurrentContext();
System.out.println("original"+ ctx.get("requestURI"));
HttpServletRequest request = ctx.getRequest();
String requestURI = request.getRequestURI();
String contextAwareURI=requestURI.concat("user-regn-service-app/");
ctx.set("requestURI", contextAwareURI);
return null;
}
@Override
public boolean shouldFilter() {
return true;
}
@Override
public int filterOrder() {
return 1;
}
@Override
public String filterType() {
return "pre";
}
}
请删除zuulapifilter
并尝试设置:
带前缀:false
并尝试将请求发送到:
...
eureka:
client:
registerWithEureka: false
fetchRegistry: true
serviceUrl:
defaultZone: http://localhost:8000/eureka/
# ribbon.eureka.enabled: false
zuul:
ignoredServices: "*"
routes:
zuulDemo1:
path: /zuul1/**
# serviceId as registed with Eureka. Enabled and used when ribbon.eureka.enabled is true.
serviceId: demo-zuul-api1
# zuul.routes.<the route>.url used when ribbon.eureka.enabled is false, serviceId is disabled.
# url: http://localhost:8600/
# stripPrefix set to true if context path is set to /
stripPrefix: true
...
实际上,我的Zuul服务器回购是公开的,可以在https://bitbucket.org/asimio/zuulserver上获得,最近的一篇博客文章可以在http://tech.asimio.net/2017/10/10/routing-requests-and-dynamic-refreshing-routes-using-spring-cloud-zuul-server.html上获得
另外,Zuul服务是否也使用了/以外的应用程序上下文?如果是,您是否可以尝试通过Zuul发送请求,地址是:http://
?
我有一个本地网站。该网站由docker compose创建,正在本地主机端口3000上侦听。 当我尝试时: 我能看到回应。 我所做的: 从我的域提供商处,我编辑了DNS以指向我的服务器,然后我更改了nginx入口: 我创建了服务: 但无论是否有服务,我都会收到错误信息,即503服务暂时不可用。 如何使用nginx入口指向本地TCP服务?
问题内容: 是否可以将JAX-RS Web服务重定向到另一个网页? 就像您使用Servlet一样。 JAX-RS Web服务本身应该重定向。如果相关,我正在使用RESTEasy。 问题答案: 是的,如果您的返回类型是(或) https://eclipse- ee4j.github.io/jersey.github.io/apidocs/1.19.1 ,则可以在Jersey或任何JAX- RS实现(
我在一个WordPress网站上使用一个服务人员,它把网站的重定向弄得一团糟https://example.com/page到https://example.com/page/. 第一次加载后,转到没有尾随斜杠的网址,眨眼浏览器会说“无法访问此网站”,火狐会说“损坏的内容错误”。 根据我对https://medium.com/@boopathi/service-workers-gotchas-44
我遵循angular的官方指南,成功安装了初始服务人员。接下来,我想尝试一下更新行为,得到了一个 无法读取未定义的属性id 其中as id指ngsw-worker.js方法中的client.id 我做的步骤是 注册SW,离线并重新加载(工作),关闭标签,但保持窗口打开 app.cmp.html更新代码 重建项目(ng build--prod) 打开新的Tab和应用程序(可以观察SW更新) 重新加载
网络通讯天然是不稳定的,因此在分布式系统中,需要有良好的容错设计。无差别重试是非常危险的。当通讯出现问题时,每个请求都重试一次,相当于系统 IO 负载增加了 100%,容易诱发雪崩事故。重试还要考虑错误的原因,如果是无法通过重试解决的问题,那么重试只是浪费资源而已。除此之外,如果重试的接口不具备幂等性,还可能造成数据不一致等问题。 本组件提供了丰富的重试机制,可以满足多种场景的重试需求。 安装 c
我尝试使用RestTemplate进行新调用:例如: 这是可以的,但我需要重写控制器中的每个方法来使用RESTTemplate。此外,这会导致代理计算机上的冗余序列化/反序列化。 我尝试使用restemplate编写一个泛型函数,但没有成功: