首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于请求的Sticky会话配置与Spring

基于请求的Sticky会话配置与Spring
EN

Stack Overflow用户
提问于 2021-06-17 20:36:01
回答 1查看 1.7K关注 0票数 0

对于使用Spring的基于请求的粘性会话,我有以下配置

代码语言:javascript
复制
spring:
  cloud:
    discovery.client.simple.instances:
      say-hello:
        - instanceId: say-hello1
          uri: http://localhost:8080
        - instanceId: say-hello2
          uri: http://localhost:8081

    loadbalancer:
      configurations: request-based-sticky-session
      sticky-session:
        add-service-instance-cookie: true

server.port:9090

以下呼吁:

代码语言:javascript
复制
$ http :9090/hi 'Cookie:sc-lb-instance-id=say-hello1'

应该只访问基于say-hello1基于请求的LoadBalancer粘性会话实例,而是使用循环负载平衡。

我在这里错过了什么?

下面是试用它的源代码:https://github.com/altfatterz/client-side-loadbalancing

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-18 15:33:51

这里有两件事需要考虑:

  1. 在示例中,cookie必须传递给实际的负载平衡请求,例如: @ return (“/hi”)公共字符串hi(@RequestParam(value = "name",defaultValue = "Mary")字符串名称){logger.info(“访问/hi终结点”);HttpHeaders headers =新HttpHeaders();headers.set("Cookie",“sc-lb-实例-id=say-hello1”);HttpEntity entity =新HttpEntity(headers);ResponseEntity之母= restTemplate.exchange("http://say-hello/greeting",HttpMethod.GET,entity,String.class,new HashMap<>()“);返回+”+名称“;}
  2. 此特性仅支持WebClient支持的负载平衡。它没有被适当地记录下来。我已经记录下来了,这里。我还为添加非反应性实现创建了GitHub问题,但是实现它的决定将取决于更大的社区利益。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68026243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档