当前位置: 首页 > 知识库问答 >
问题:

使用Zuul过滤基于Eureka元数据的服务

苏品
2023-03-14

我们在我们的环境中使用Spring Cloud Netflix Zuul和Eureka。

我知道Ribbon从Eureka获取指定serviceId的服务器列表。在我们的例子中,我们有4个服务容器,其中一个容器是执行资源密集型任务的主容器。我想从服务器列表中过滤掉主容器,这样Ribbon就不会向容器转发任何请求。

如何过滤?

任何帮助都很感激。

共有1个答案

仰欣悦
2023-03-14

我可以通过创建一个新的自定义病毒进行过滤

 homeautomation.ribbon.NFLoadBalancerRuleClassName=com.example.CustomZoneAvoidanceRule

并扩展默认的ZoneAvoidance规则

public class CustomZoneAvoidanceRule extends ZoneAvoidanceRule {

@Override
public Server choose(final Object key) {
    final Server server = super.choose(key);
    // code to skip specific instance based on eureka metadata.
    return server;
}

}

 类似资料:
  • 我正在创建一个由3个(服务a、服务B和服务C)微服务组成的示例。所有3项服务以及网关服务(zuul)都在eureka注册。我的用例是: 1) 所有请求都将通过网关服务进入系统——正常工作 2) 对于每个针对服务C的请求,网关服务应该首先调用服务A来执行某些操作。当服务A做出肯定响应时,请求应该被转发到服务B。一旦服务A和服务B都做出肯定响应,请求最终应该被转发到服务C。 我想使用zuul路由过滤器

  • 我有一个相当简单的Spring CloudNetflix设置。我们使用Zuul作为反向代理,Eureka用于服务发现和注册。我们有我们正在慢慢窒息的遗留服务。我们有许多简单的服务,其endpoint配置如下: 因此,现在当每个服务都在eureka注册并随后向Zuul添加路由时,zuul终结点如下所示: 我想阻止Zuul将前缀从eureka服务的路由URI中剥离,以便我的Zuulendpoint如下

  • 我有三个spring boot微服务,它们使用spring Eureka server和zuul作为网关。我有auth微服务,这是zuul网关,验证用户。我有另外两个服务在不同的端口运行。如果我通过zuul网关调用,我可以在jwt的帮助下保护这两个服务,但由于我知道两个微服务端口和url,我可以直接调用并获得响应,而不需要通过网关url。所以我如何保护这两个微服务。请帮助我分享两个微服务之间的安全

  • 使用Spark SQL,我有两个数据帧,它们是从一个数据帧创建的,例如: 我想过滤df1,如果它的“路径”的一部分是df2中的任何路径。所以如果df1有路径为“a/b/c/d/e”的行,我会找出df2中是否有路径为“a/b/c”的行。SQL应该是这样 其中udf是用户定义的函数,用于缩短df1的原始路径。简单的解决方案是使用JOIN,然后过滤结果,但这很慢,因为df1和df2都有超过10mil的行

  • 我想选择仅在顶级国家/地区之后或仅在其他国家/地区之后的span元素 我已经尝试了 如果我分别尝试这两种XPATH,它们都可以工作,但如果结合使用,它们就不起作用。 我只想选择排名靠前的国家,并将其列入一个列表:,然后过滤掉其他国家。 如果我使用[text()=“Top Countries”]//以下同胞::span所有国家都被选中。例如,<代码>[“澳大利亚”、“几内亚比绍”、“西班牙”、“瑞士

  • 我只有很少的spring boot微服务,它们是通过云环境部署到JBoss的。这些引导服务是在Eureka服务器中注册自己的Eureka客户端。下面是一个例子: 它用user-regn-service-app Eureka主页的名称向Eureka注册应用程序 wildfly服务器在8080处运行,而user-regn-service-app部署在上下文路径/user-regn-service-ap