作为已广泛使用的渐进微服务框架,它在多个大型项目的完整开发过程中也被促成。自然,我们还完全考虑了单一服务开发的场景。
图中所示的单个体系结构还可以支持大量的业务量表,这是单个服务的倍数。
我将与您分享如何使用具有多个模块的多个模块的单个服务。
我们使用单个服务上传下载来解释单个服务开发的最佳实践。为什么要使用这样的例子?
以此为例,无需探讨是否应实现上传和下载。:
使用他们的学生知道我们提供了一个格式文件来描述,然后我们可以通过一键单击生成相应的代码。我们只需要在文件中填写相应的业务逻辑。LET查看如何定义服务。
示例要求如下:
我们创建一个在目录中命名的文件,内容如下:
语法具有更大的自我解释,其含义如下:
示例要求如下:
我们创建一个在目录中命名的文件,内容如下:
解释如下:
我们都通过服务定义。我们如何在服务中向用户提供服务?
我不知道您是否小心,您是否注意到一些细节:
实际上,目的是在接下来的两个服务中自动在同一单元中生成相应的代码。LET查看如何与?合并
出于简单的考虑,此处不讨论一个文件作为参数,并且同时接收多个文件的问题。如果有一个简单有效的解决方案,则可以在以下内容中支持。
我们在目录中创建一个新文件,内容如下:
通过这种方式,我们已经像服务一样介绍了它们。但是,其中有一些值得关注:
最外面的文件也可以包含相同的定义,但是我们建议保持对称性,除非这些定义确实属于父级,例如同一逻辑的相同逻辑级别,则不应在其中定义它。
在这一点上,我们的文件结构如下:
由于已经有一个接口定义,因此下一件事非常简单(当然,定义也很简单,不是吗?),让我们使用生成的单个服务代码。
让我们看一下生成的文件结构:
让我们按照目录解释项目代码的组成:
让我们什么都不改变。让我们首先看一下效果。
接下来,我们需要实现相关的业务逻辑,但是这里的逻辑实际上只是演示目的。无需过多关注实施细节。我们只需要了解我们应该在层上编写业务逻辑。
在这里,我们总共做了几件事:
完整代码:https://github.com/zeromicro/zero-yxamples/main/monolithic
我们可以通过启动单个服务来启动单个服务:
您可以验证服务:
示例仓库包含,浏览器可以尝试使用该服务打开此文件。
我总结了开发单体服务的完整过程,如下所示:
此外,您可以根据一个单击生成和编码,这可以帮助每个人更快地开发单个服务。
https://github.com/zeromicro/go-zero
欢迎使用和明星支持我们!
请注意“微服务实践”公共帐户,然后单击交换组以获取社区组的QR码。