小编Rts*_*e42的帖子

Golang微服务项目结构

我正处于在Go中创建微服务应用程序的初始阶段,但由于导入路径和目录的处理方式,我不太确定构建项目文件的最佳方法.

通常,该项目在Java中看起来像这样:

|-- gateway_microservice
   |-- src
   |-- docker
|-- config_microservice
   |-- src
   |-- docker
|-- recommendation_microservice
   |-- src
   |-- docker
|-- users_microservice
   |-- src
   |-- docker
Run Code Online (Sandbox Code Playgroud)

现在如果我在Go中以相同的方式执行它,导入路径会变得有些麻烦:

import (
       "fmt" 
       "github.com/user/myproject/gateway_microservice/src/package1"
       "github.com/user/myproject/gateway_microservice/src/package2"
)
Run Code Online (Sandbox Code Playgroud)

另外,我听说惯用的方法是将所有main.go文件放在一个单独的cmd目录中,这增加了混乱.它看起来像这样:

|-- cmd
   |-- gateway_microservice
      |-- main.go
   |-- config_microservice
      |-- main.go
   |-- recommendation_microservice
      |-- main.go
   |-- users_microservice
      |-- main.go
|-- gateway_microservice
   |-- src
   |-- docker
|-- config_microservice
   |-- src
   |-- docker
|-- recommendation_microservice
   |-- src
   |-- docker
|-- users_microservice
   |-- src
   |-- docker …
Run Code Online (Sandbox Code Playgroud)

directory-structure go microservices

6
推荐指数
3
解决办法
6257
查看次数

标签 统计

directory-structure ×1

go ×1

microservices ×1