如何隔离golang中的模块?

我想知道是否可以用 golang 创建独立的模块,应用程序总是在一个文件中启动,我可以分离几个 REST 模块并根据条件上传它们吗?

例如。我有一个带有 Rest 和数据库的产品模块,还有一个带有 Rest 和数据库的用户模块。我可以创建一种方法来选择是只动态运行一个还是同时运行两个?无需将所有内容导入 main.go 文件?


蛊毒传说
浏览 93回答 1
1回答

哆啦的时光机

Go 是编译语言,import发生在构建时,而不是运行时。每个模块源都被导入并编译成最终的二进制文件,然后运行。要实现您的要求,您可能需要将程序拆分为多个二进制文件,每个二进制文件仅包含与其职责相关的代码部分。然后您还需要在它们之间提供一些通信(例如,具有拦截传入请求并在内部向用户服务或产品服务等发出相关请求的网关)。这通常称为微服务架构。对于较小的项目,我建议先把所有东西放在一起;随着它的增长(并导致问题,如果有的话)最终重构为微服务。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go