- 博客(3)
- 收藏
- 关注
原创 限流设计
限流设计 限流在日常的服务可以防止突发的流量将系统完全打垮,在日常的业务中,有些服务需要保持一定的稳定性,这种稳定性可以降低提供服务的响应速度,或者在系统资源在比较紧张的时候,为了避免宕机限制一定的访问速度,这就是常见的限流的场景。 简单的限流实现 常见的限流的实现方式,有如下两种; 漏桶方式,即每一个请求都对应一滴水,在开始的时候都是满的,然后桶每隔一段时间就往外楼一滴水,当获得这滴水的时候,才可以处理请求,如果没有获得则等待或放弃处理。 令牌桶方式,令牌桶即指以匀速向桶里面添加令牌,服务的时候需要从桶
2020-10-27 11:26:03 301 2
原创 环形熔断器设计与gobreaker源码分析
环形熔断器 本文主要是阅读微软在早些年前发表的环形熔断器的设计的文章,Circuit Breaker Pattern。该文比较详细的介绍了环形熔断器设计的背景,及解决的问题。 环形熔断器设计背景 在诸如云之类的分布式环境中,应用程序执行访问远程资源和服务的操作,这些操作可能由于诸如网络连接缓慢,超时,资源过量使用或暂时不可用之类的瞬时故障而失败。这些故障通常会在短时间后自行纠正,因此应准备使用功能强大的云应用程序来处理这些故障,例如使用重试模式所描述的策略。 但是,也可能存在由于意外事件而导致故障的情况,这
2020-10-22 10:44:44 888
原创 go-kit微服务学习-官方示例stringsvc学习
kit库 该库详细的文档可以参考官方文档,本文只是针对kit官网给出的stringsvc相关例子示例的学习。 示例代码stringsvc1 package main import ( "context" "encoding/json" "errors" "log" "net/http" "strings" "github.com/go-kit/kit/endpoint" httptransport "github.com/go-kit/kit/transport/http" ) //
2020-10-21 16:35:02 596
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人