微服务之间频繁调用导致系统接口超时

原因及解决

一、业务逻辑太复杂,调用链路太长

  1. 优化代码or优化sql,或者用空间换时间
  2. 使用缓存或者消息队列,异步处理
  3. 并行调用几个没有依赖关系的服务

二、网络问题

  1. 调整传输协议
  2. 增加宽带,可以考虑走专线

三、访问量过大

  1. 调整负载策略,考虑设置权重,将服务器资源利用最大化
  2. 熔断降级或者补偿机制

案例

一、实践1

  1. 查询请求可以做缓存,失效时间短一点,减少调用频率;对于总是变化的数据,可以在服务提供方做本地缓存+redis缓存
  2. 写请求,可以考虑把耗时操作异步化,通过MQ

你可能感兴趣的:(微服务,java,redis)