开发者社区> 问答> 正文

EDAS如果header=red是微服务网关里调第三方才获取到set进去的,能实现一样的流量控制吗?

EDAS如果header=red是微服务网关里调第三方才获取到set进去的,能实现一样的流量控制吗?
9d121fbce5fab569d9b366202cf39a00.png

展开
收起
青城山下庄文杰 2023-07-24 09:34:14 62 0
5 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在 EDAS 中,如果使用微服务网关来调用第三方服务,并需要进行流量控制,可以考虑使用微服务网关的路由规则和限流功能来实现。

    2023-07-27 17:36:17
    赞同 展开评论 打赏
  • 云端行者觅知音, 技术前沿我独行。 前言探索无边界, 阿里风光引我情。

    可以,EDAS(Enterprise Distributed Application Service)是阿里云提供的一种微服务框架,可以实现流量控制和服务治理等功能。如果你在微服务网关中设置了header为red,并且只有在调用第三方服务时才能获取到该header并设置进去,那么你可以通过以下步骤实现流量控制:

    1. 在微服务网关中,配置一个拦截器或过滤器,用于获取请求中的header信息。
    2. 当请求到达微服务网关时,拦截器会检查header是否为red。
    3. 如果header为red,则继续执行后续流程;如果header不为red,则可以根据你的需求进行流量控制,例如拒绝请求、返回错误信息等。
    4. 在调用第三方服务时,将header设置为red,并将请求转发给第三方服务。

    通过这种方式,只有在调用第三方服务时才能获取到header为red的请求,从而实现了流量控制。你可以根据具体的需求和微服务框架的特性进行相应的配置和实现。

    2023-07-24 18:49:21
    赞同 展开评论 打赏
  • 在 EDAS(Enterprise Distributed Application Service)中,如果您希望通过微服务网关设置请求头信息并传递给第三方服务进行流量控制,可以考虑以下方法:

    1. 使用自定义网关过滤器: 在微服务网关中,您可以编写自定义的网关过滤器来实现对请求头信息的修改和流量控制。通过自定义过滤器,您可以拦截请求,在请求头中设置特定的标识或参数,然后将请求转发给下游的第三方服务。

    2. 结合服务治理组件: EDAS 提供了服务注册与发现、路由配置等服务治理组件,您可以通过这些组件动态配置服务之间的调用关系。在配置中,您可以指定某些请求需要经过特定的流量控制策略,具体控制规则可以根据业务需求进行定制。

    3. 利用分布式限流框架: 如果您需要更精细化的流量控制,可以考虑采用分布式限流框架,例如 Sentinel、Resilience4j 等。这些框架提供了丰富的限流、熔断、降级等功能,可以在微服务网关中集成并配置相关规则,以保护后端服务免受高并发请求的影响。

    2023-07-24 11:55:04
    赞同 展开评论 打赏
  • 取决于你的网关是什么网关,然后你设置Header的优先级插件 (如: spring cloud gateway 的filter) 是不是在流量转出去的前面,如果在前面,理论上OK的
    我们使用了spring cloud 2021版本做了filter注入header验证,确定是能正常使用的,此回答整理自钉群“EDAS SpringCloud & Dubbo交流二群”

    2023-07-24 11:17:50
    赞同 展开评论 打赏
  • CSDN全栈领域优质创作者,万粉博主;InfoQ签约博主;华为云享专家;华为Iot专家;亚马逊人工智能自动驾驶(大众组)吉尼斯世界纪录获得者

    如果您在微服务网关中调用第三方服务,并且想要实现流量控制,您可以通过以下方式来实现:

    • 使用EDAS的流量控制功能:可以通过EDAS控制台或API来设置每个服务实例组的容量。通过调整实例组的容量,您可以控制对该服务的请求流量。

    • 使用微服务网关的流量控制功能:微服务网关也提供了流量控制功能。您可以在网关的路由规则中设置针对特定服务的限流器,以控制对该服务的请求流量。

    2023-07-24 10:13:52
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
EDAS—云上的微服务开发与治理利器 立即下载
基于阿里企业级分布式应用服务的敏捷服务开发与架构实践 立即下载
EDAS—轻松搞定分布式应用服务 立即下载