go-kit

Go语言开发的微服务框架

喜你入骨 提交于 2020-04-09 05:35:04
 Go语言开发的微服务框架有什么?   1、项目名称:Istio   项目简介:Istio是由Google、IBM和Lyft开源的微服务管理、保护和监控框架。使用istio可以很简单的创建具有负载均衡、服务间认证、监控等功能的服务网络,而不需要对服务的代码进行任何修改。   2、项目名称:Go-kit   项目简介:Go-kit 是一个 Go 语言的分布式开发包,用于开发微服务。   3、项目名称:Jaeger   项目简介:Jaeger是Uber的分布式跟踪系统 ,基于google dapper的原理构建, 以Cassandra作为存储层。   4、项目名称:Micro   项目简介:Micro是一个专注于简化分布式系统开发的微服务生态系统。可插拔的插件化设计,提供强大的可插拔的架构来保证基础组件可以被灵活替换。   5、项目名称:fabio 项目简介:fabio 是 ebay 团队用 golang 开发的一个快速、简单零配置能够让 consul 部署的应用快速支持 http(s) 的负载均衡路由器。   6、项目名称:Goa   项目简介:Goa 是一款用 Go 用于构建微服务的框架,采用独特的设计优先的方法。   7、项目名称:gizmo   项目简介:gizmo是纽约时报开源的go微服务工具,提供如下特性:标准化配置和日志;可配置策略的状态监测端点;用于管理 pprof

go-kit 微服务 服务熔断(hystrix-go 实现)

烈酒焚心 提交于 2020-04-09 01:04:40
go-kit 微服务 服务熔断(hystrix-go 实现) 对客户端请求login方法添加熔断 Hystrix 在微服务架构中,每个服务都是相互关联的,比如我们下单服务和扣钱服务是分开的,现在扣钱服务出现的bug不能正常服务 Hystrix可以让我们在在微服务架构中对服务间的调用进行控制,加入一些调用延迟或者服务降级的容错机制。 Hystrix的设计原则 对依赖服务调用时出现的调用延迟和调用失败进行控制和容错保护 在复杂的分布式系统中,阻止某一个依赖服务的故障在整个系统中蔓延 提供fail-fast(快速失败)和快速恢复的支持 提供fallback优雅降级的支持 支持近实时的监控、报警以及运维操作 编写Hystrix类 import ( "errors" "github.com/afex/hystrix-go/hystrix" "sync" ) var config = hystrix.CommandConfig{ Timeout: 5000, //执行command的超时时间(毫秒) MaxConcurrentRequests: 8, //command的最大并发量 SleepWindow: 1000, //过多长时间,熔断器再次检测是否开启。单位毫秒 ErrorPercentThreshold: 30, //错误率