Jusene's Blog

Go微服务开发 Go-kit

字数统计: 312阅读时长: 1 min
2020/09/02 Share

Go-kit

Go-kit是一套强大的微服务开发工具集,解决分布式开发过程中所遇到的问题,使用transport、endpoint和service三层结构组织项目:

  • transport层,指定项目提供服务的方式,比如http或者grpc等
  • endpoint层,负责接受请求并返回响应,对于每一个服务接口,endpoint层都使用一个抽象的endpoint来表示
  • service层,提供具体的业务实现接口,endpoint层中的endpoint通过调用service层的接口方法处理请求

对象概念:

  • VO(View Object): 视图对象,用于展示层
  • DTO(Data Transfer Object): 数据传输对象,泛指用于展示层与服务层之间的数据传输对象
  • DO(Domain Object): 领域对象,就是从现实世界抽象出来的业务实体
  • PO(Persistent Object): 持久化对象,它跟持久化的数据结构形成一一对应的映射关系

简单项目示例:

1
├── README.md
2
├── go.mod
3
├── main.go 应用主入口
4
└── user
5
    ├── dao 提供数据持久化能力
6
    ├── endpoint 负责接受请求,并调用service业务接口处理请求
7
    ├── redis 提供redis数据层能力
8
    ├── service 提供主要业务实现接口
9
    └── transport 对外暴露项目的服务接口
CATALOG
  1. 1. Go-kit