繁体   English   中英

微服务中如何对服务进行分类?

[英]How to classify services in microservices?

我是微服务的新手。 我来自当前环境中的整体背景,我有不同种类的服务用于不同的目的,如搜索、文件、email、通知。 我已经参加了很多课程,但是讲师将每个实体分开并使其成为自己的数据库也为此创建了 API(例如单独的购物车实体,产品实体),这没有任何意义,我不明白微服务在现实世界中的用途或者如何制作单独的组件来构建它自己的微服务。

谁能举出真实项目的例子?

提前致谢

阅读这个这个 也看这里这里 我认为没有人会给出真正工作项目的链接,所以你可以试试这个

我不了解微服务在现实世界中的用途

大多数情况下,正如您在所有这些教程中所听到的那样,微服务架构利用了以下优势:

  • 较小的服务易于维护和开发
  • 可以轻松扩展特定服务而不是整个项目(单体)。 例如,您将 service-1 扩展到 4 个实例,请求流量拆分为这 4 个实例,将 service-2 扩展到 2 个实例和 go(负载平衡)。 这些服务可能分布在不同的服务器和位置。
  • 如果一项服务无法工作,它不会终止整个系统,因为它们是独立的。
  • 服务可以重复用于其他场景或功能。
  • 小团队可以为每项服务工作,并且易于管理项目和开发流程。

而且它也有以下缺点

  • 服务简单而小,但作为一个整体系统很复杂,因此设计部分非常关键。
  • 性能不佳,需要做一些额外的工作来提高性能(不同级别的不同类型的缓存)。
  • 交易是复杂的,其发展是耗时的。 想象一下,如果需要,应该将简单更新投射到其他服务,并且您必须考虑故障和回滚策略(SAGA)。

如何制作单独的组件来构建它自己的微服务

这是微服务中最具挑战性的部分。 您需要深入研究领域驱动设计 DDD。

按子域分解
按业务能力分解

谁能举出真实项目的例子?

有许多项目开发具有不同模式的微服务。 我认为你必须自己动手,弄脏你的手。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM