微服务健壮性思考

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)。

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

推荐阅读更多精彩内容

  • 摘要:本文中,我们将进一步理解微服务架构的核心要点和实现原理,为读者的实践提供微服务的设计模式,以期让微服务在读者...
    Java架构师Carl阅读 11,118评论 0 20
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,347评论 19 139
  • 我们这次主要讲4件事: 1. 什么是微服务? 什么是 springcloud? 引用维基百科: 微服务是一种架构风...
    莫那一鲁道阅读 7,650评论 0 3
  • 1. 微服务架构介绍 1.1 什么是微服务架构? 形像一点来说,微服务架构就像搭积木,每个微服务都是一个零件,并使...
    静修佛缘阅读 11,659评论 0 39
  • 作者:Mark Fussell 更新:2016/9/22翻译:朱涛峰 2016/10/9 Service Fab...
    forztf阅读 10,364评论 0 6