Microservices 微型服务应该有多小?
在哪些条件下,系统应划分为微服务?微服务应“小”到什么程度?我们在多个项目中实施微服务体系结构,以及 我将尝试与他们分享我的经验,以及我们在哪里做这件事 首先让我来解释一下我们是如何将我们的领域划分为微型服务的。在此期间 微服务应该有多小或多大的标准也将被解释。为了 了解我们需要了解整个方法: 我们在微服务中拆分系统的条件: 我们将基于两组环境拆分微服务:Microservices 微型服务应该有多小?,microservices,Microservices,在哪些条件下,系统应划分为微服务?微服务应“小”到什么程度?我们在多个项目中实施微服务体系结构,以及 我将尝试与他们分享我的经验,以及我们在哪里做这件事 首先让我来解释一下我们是如何将我们的领域划分为微型服务的。在此期间 微服务应该有多小或多大的标准也将被解释。为了 了解我们需要了解整个方法: 我们在微服务中拆分系统的条件: 我们将基于两组环境拆分微服务: 基于生产/暂存设置。 这通常是系统在要使用的生产环境中运行的方式 由我们的客户提供 基于开发(开发者开发机器)设置。 这是每个开发人员必须在
仅考虑生产/分段设置:
- 示例1是一个非常小的微服务,负责生成 html模板中pdf格式的特定报告
- 示例2是一个微服务,它只是向某些特定用户发送简单的文本消息 基于他们的权限
考虑开发设置: 除了用于本地开发/运行的生产/暂存设置之外,我们还需要 特殊的微服务,它将做一些工作,以使本地设置工作。 本地设置是使用docker(docker compose)完成的。 小型微型服务的例子有:
微服务应该有多小?
- 在我们的一个案例中,最小的微服务 View/Read only mircro服务,其中只有一个非规范化视图(1个表或1个JSON集合),该视图来自代码 里面有几个C#/Java类。所以当涉及到代码时,我不认为它会比这个小很多 这是一个合理的选择。这也是主观的观点。 根据一些关于微服务的建议,这种规模可能被认为“太小” 你可以在线阅读。我们这样做是因为它帮助我们解决了性能问题。 对这些数据的需求如此之大,以至于我们将其隔离开来,以便能够独立扩展。 这使我们能够根据其需求独立地扩展此微服务/视图 来自该领域的其他部分
- 小型微型服务的第二个例子是html-to-pdf服务,它只是基于html创建pdf文档 在特定的格式化html模板上。你可以想象这个功能子集有多小