Skip to content

endwith/project

Repository files navigation

project

初学spring cloud 框架,许多知识点在这里记录下

1>feign调用服务丢失session,feign无法将cookie返回个客户端,HttpServletRespose respose添加请求的内容不能通过feign返回给客户端

:丢失session参考博文https://blog.csdn.net/crystalqy/article/details/79083857 ,注意启动类中注入该配置文件,

:respose无法通过feign返回给客户端cookie,导致登录认证无法实现,这里可以直接将登录模块从业务逻辑模块抽出,直接nginx方向代理登录模块,不通过feign。这是我的nginx配置 https://github.com/endwith/project/blob/master/nginx%E9%85%8D%E7%BD%AE.txt

2>feign入参

:feign入参参数必须添加注解@RequestParam(value = "pageNum", defaultValue =false) 没有注解会自动添加@RequestBody();如果过多@RequestBody()或报错,建议都用@RequestParam。不要入参实体类。

3>feign上传文件:produces,consumes必须要,入参注解改为@RequestPart

/**
 *上传图片
 */
 
@RequestMapping(value ="/a/u/picture",method = RequestMethod.POST,produces = {MediaType.APPLICATION_JSON_UTF8_VALUE},
consumes = MediaType.MULTIPART_FORM_DATA_VALUE)

JSONObject loadPicture(@RequestPart(value = "picture",required = false)MultipartFile picture);
@Configuration
 class MultipartSupportConfig {

    @Bean
    @Primary
    @Scope("prototype")
    public SpringFormEncoder multipartFormEncoder() {
        return new SpringFormEncoder();
    }

    @Bean
    public feign.Logger.Level multipartLoggerLevel() {
        return feign.Logger.Level.FULL;
    }
}

}

4>zull上传文件:在application.yml文件添加如下

zuul:
 routes:
  admin:
   path: /admin/**
   serviceId: server-feign-admin

在实际负载的服务server的application.yml添加如下

spring.http.multipart.enabled= true

spring.http.multipart.max-file-size=10Mb

spring.http.multipart.max-request-size=10Mb

5>请求时间长,熔断器触发,实际服务器没有问题

在zuul和feign配置文件application.yml添加如下

ribbon:
 ReadTimeout: 120000
 ConnectTimeout: 30000

feign:
 hystrix:
  enabled: true

hystrix:
 command:
  default:

   execution:
    isolation:
      thread:
        timeoutInMilliseconds: 60000

6>服务server断开,eureka剔除该服务

eureka:

 server:

    enableSelfPreservation: false
    
    evictionIntervalTimerInMs: 10000

7>服务server向eureka发起心跳

#租期更新时间间隔(默认30秒)

eureka.instance.lease-renewal-interval-in-seconds = 10

#租期到期时间(默认90秒)

eureka.instance.lease-expiration-duration-in-seconds = 30

8>部署服务器ip地址不是真实ip地址,无法从git上面fetch配置文件

我的解决办法https://blog.csdn.net/IIIidan_Stormrage/article/details/81453421

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors