高度可扩展的代码库架构
大家好!
当时,我正在准备一个实时代码演示,演示如何在现有的 REST API 中添加一层 GraphQL层。演示进行得很顺利,之后,我发现我编写代码和组织文件的方式确实帮助我非常顺利地添加了 GraphQL 层,代码库架构真的让我感觉就像热刀切黄油一样简单。
你可以在这里找到代码库(请加星标!:P)rest-and-graphql
让我们探索代码库。
源文件位于/src
文件夹中。让我们定义文件夹的作用/src
config
:包含.env
文件controllers
:包含使用内部方法的路由处理程序routes
db
:包含数据库连接逻辑graphql
:包含解析器和定义routes
:包含使用路线的定义services
services
:包含从数据库获取数据的逻辑utils
:包含全局使用的实用函数
如你所见,代码库是按实体组织的。真正帮助我扩展的是services
文件夹,它是真正的瑰宝。
我只为REST API编写了一次服务,并且由于我遵循的模式, GraphQL层的构建非常容易。我只需要在解析器内部调用服务,而不必为不同的层一次又一次地编写它。
这种代码库的另一个好处是,你可以轻松地将其拆分为独立的微服务,只需从路由、服务、控制器文件夹中取出实体即可
欢迎随意探索 Github 上的 repo:rest-and-graphql,也可以浏览我的其他项目。随着时间的推移,我会尝试详细扩展这篇文章。
请让我知道你的想法!
鏂囩珷鏉ユ簮锛�https://dev.to/ashokdey_/highly-scalable-codebase-architecture-4b