微服务健壮性思考

Design Microservices Architecture for Failures
这是在hacknoon看到一篇微服务的文章,里面应对异常的方案非常好,所以提取要点,总结如下。。
1、Grace Service Degredation(优雅的服务退化):
1)部分上线,观察指标;
2)prod和pre,在pre上线确认无误,上prod
注意:有问题,立即回滚是一件好事.
2、Health-check and Load Balancing
3、self-healing
注意一些资源不可用,会导致restarting失败。
4、Failover caching
可以专门设定一个故障时访问的缓存,减少不可访问时间(the outdated data better than nothing.)
5、Retry Logic
访问设定重试机制,但要注意次数,避免雪崩情况
6、Rate Limiter and Load Shedders(负载和限流)
7、Bulkheads(分隔)
比如池,可以适当划分成sections,这样能避免公用连接池,导致资源不够用时,公用所有服务都失败
8、Circuit Breakers(开关)
9、Teating for Failures(验错)
chaos monkey

这个更偏向自身实现微服务要考虑的一些要点。如果要从更系统的角度思考,需要考虑权限认证,业务流跟踪(openzipkin),错误集中收集(ELK)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。