Go-Kit 微服务:使用内置http发布服务

本文档介绍了如何使用Go-Kit构建微服务,重点在于使用内置的HTTP服务进行搭建和发布。Go-Kit是一个工具包,旨在为开发者提供构建微服务体系的灵活性。内容包括微服务的基本需求,如REST、RPC、日志、限流等,并详细阐述了Go-Kit的三层架构——Transport、Endpoint和Service。示例中展示了如何实现一个根据用户ID获取用户名的微服务。
摘要由CSDN通过智能技术生成

Go-Kit微服务

文档 :https://github.com/go-kit/kit/

安装

go get gitHub.com/go-kit/kit

其他的框架:go-micro、kite

Go-Kit工具包集合,帮助开发者灵活自由的创建微服务体系。

文档

https://godoc.org/github.com/go-kit/kit

微服务体系的基本需求

  1. HTTP REST、RPC

    1. 日志功能
    2. 限流
    3. API监控
    4. 服务注册与发现
    5. API网管
    6. 服务链路追踪
    7. 服务熔断

Go-Kit得三层架构

  1. Transport

    主要负责与HTTP、gRPC、thrift等相关的逻辑进行实现

  2. Endpoint

    定义Request和Response格式,并可以使用装饰器保障函数,以此来实现各种中间件嵌套。

    1. Service

    业务类、接口等

例子

​ 譬如有个需求: 传入用户ID,来获取用户的用户名。

UserEndpoint.go

import (
   "context"
   "github.com/go-kit/kit/endpoint"
)

type UserRequest struct {
   
   Uid int `json:"uid"`
}

type UserResponse struct {
   
   Result string `json:"result"`
}

//endpoint
func GenUserEndpoint(userService IUserService) endpoint.Endpoint {
   

   return func(ctx context.Context, request interface{
   }) (response interface{
   }, err error) 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值