前提:微服务开发部署
在开发一个系统之前,我们需要对模块进行拆分,每个拆分出来的模块还可以继续拆分,比如说读服务,写服务,消费者等。比如开发一个博客系统,可以拆分为用户相关的模块,文章相关的模块,评论相关的模块等,评论相关的模块又可以分为评论读服务和评论写服务,评论写QPS比较高的时候还可以引入消费者。
在业务开发的过程中,我们注重的是业务系统的设计,所以服务的结构就需要简单清晰,对我们理解起来也有很大的帮助。日常开发中,我们只关注业务的开发,服务的注册和发现等东西应该都是统一的或者框架帮我们做好的。我们需要只是业务代码,rpc调用以及配置文件,其他的我们都不需要关心,因此我将项目分为
api(pb协议以及相关的生成代码)
app(全部的业务代码)
comm(公共部分,比如配置协议,consul,rpc调用等)
剩余就是Makefile、go.mod等文件了
其中app里面每一个文件夹就对应一个大模块,每个大模块下面就分为多个不同的服务,每个服务都应该有main文件,配置文件以及接口实现的文件、以及其他业务代码相关的文件
在文章读服务中,有配置文件,对外接口以及main文件,还可以将Makefile和go.mod加到这里
网友评论