Mongoosej.Blog.Software.Programming.Design.MicroServices.Overview
Microservice
微服务概念早就被提出,2014年3月25日,Martin Flower发表的文章Microservices深刻的介绍了微服务的概念,从而被广为人知。
- 微服务是一种架构模式
- 一个应用应该是一组小型服务的集合,每个小型服务代表一个功能模块,且是一个可独立替换和升级的单元
- 每个小型服务之间采用轻量级的通讯方式,比如HTTP
微服务调用失败的处理方式
- 超时—设置超时时间
- 重试—设置调用超时后的重试次数
- 双发—在给定的小于超时时间的时间内如果没有返回请求结果,那么服务消费者就立刻发起另一次服务调用,结果以先返回的为准
- 熔断—Hystrix 的断路器也包含三种状态:关闭、打开、半打开。Hystrix 会把每一次服务调用都用 HystrixCommand 封装起来,它会实时记录每一次服务调用的状态,包括成功、失败、超时还是被线程拒绝。当一段时间内服务调用的失败率高于设定的阈值后,Hystrix 的断路器就会进入进入打开状态,新的服务调用就会直接返回,不会向服务提供者发起调用。再等待设定的时间间隔后,Hystrix 的断路器又会进入半打开状态,新的服务调用又可以重新发给服务提供者了;如果一段时间内服务调用的失败率依然高于设定的阈值的话,断路器会重新进入打开状态,否则的话,断路器会被重置为关闭状态。
Reference:https://www.jianshu.com/p/4a6178cb78fa Reference:https://jishuin.proginn.com/p/763bfbd36773