美文网首页
Go-kit调研文档

Go-kit调研文档

作者: KevinL水杉 | 来源:发表于2019-06-09 16:53 被阅读0次

目录


Go-kit 包介绍

  1. 本身不是一个框架,而是一套微服务工具集,是框架的底层,用它的话来说,如果你希望构建一个框架,而Go-kit 就希望成为你的框架的一部分
  2. 可以用Go-kit 做适应自己平台的框架
  3. 它自身称为toolkit,并不是framework
  4. 它主要是为了满足5大原则,单一职责原则,开放原则,封闭原则,依赖倒置原则,接口隔离原则

包内工具

代码生成工具truss https://github.com/metaverse/truss

三层模型

Go-kit最核心是提供了三层模型来解耦业务,这是我们用它的主要目的,模型由上到下分别是
transport -> endpoint -> service

1. Transport

可以理解为是个拦截器,负责请求协议的实现和路由转发,请求和响应的序列化和反序列化

2. Endpoint

负责功能逻辑转发,这一层会调用Service具体方法

3. Service

服务功能具体实现,这样便于测试,只要 mock 传入的依赖参数即可

兼容功能

  1. Rate Limiter 限流器
  2. Logging 日志
  3. Request tracing 请求追踪
  4. Service Discovery 服务发现

相关组件

其实也就是能解决微服务中常见的问题

1. circuit breaker断路器

hystrix-go gobreaker handy breaker

2. Metrics 指标

prometheus, dogstatsd, influx,graphite 等多个平台

3. 服务发现

consul, dnssrv, etcd, eureka, lb, zookeeper

4. Request Tracing

Opentracing, LightStep, AppDash, Zipkin

缺点

1. 框架太繁琐

每个接口的代码太多,太啰嗦

2. 难理解

主要体现在 Go-kit 的三层模型

3. 冗余代码

在 Endpoint 层,每个 endpoint 都需要重复类似的转换代码,需要写很多decode和encode函数,当然这一点可以利用truss工具生成公共代码,也可以考虑把公共代码抽出来

相关链接

演示demo

https://github.com/Kevin005/gokit-simple-restful-golang

相关文章

  • Go-kit调研文档

    目录 Go-kit 包介绍 本身不是一个框架,而是一套微服务工具集,是框架的底层,用它的话来说,如果你希望构建一个...

  • chrome中菜单文档调研

    chrome中菜单文档调研chrome中菜单文档调研

  • Go-kit 微服务入门指南

    适宜读者人群 Golang 开发者 文章目录 Go-kit 简述 Go-kit 组件 Go-kit 更便捷的使用方...

  • go-kit 微服务 服务链路追踪(jaeger 实现)(2)

    go-kit 微服务 服务链路追踪(jaeger 实现)(2) 《go-kit 微服务 服务链路追踪(jaeger...

  • 渔夫

    渔夫APP 原型文档 市场需求文档 MRD 市场调研 调研方法:文献法、观察法以《我国四城市成年居民饮水现状的研究...

  • 产品经理入门

    需求调研、竞品分析、产品架构、需求文档、项目周期 一 需求调研 需求收集 定性行业调研分析报告\业内专家用户访谈竞...

  • 接口文档工具调研

    postman能不能自动生成文档 可以的。针对某个collection进行publish doc 新工具-swag...

  • 微博调研文档

    体验版本:微博8.9.1 试用手机:iPhone 7 一、产品概况 微博这种形式最早源于美国twitter,...

  • 自动文档框架调研

    原文见 :https://chen-yijie.blogspot.com/2018/10/django-restf...

  • 透视宝调研文档

    概述 透视宝在时间指标方面一共有10个指标。商智方面有4个指标。 透视宝时间指标说明 首屏时间:浏览器显示第一屏页...

网友评论

      本文标题:Go-kit调研文档

      本文链接:https://www.haomeiwen.com/subject/snenxctx.html