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

9udxz4iz  于 2022-12-30  发布在  .NET
关注(0)|答案(2)|浏览(129)

我是微服务领域的新手。我来自当前环境中的单一背景,我有不同用途的不同类型的服务,如搜索、文件、电子邮件、通知。我上过很多课程,但讲师将每个实体分开,使其成为自己的数据库,并为此创建API(像单独的购物车实体,产品实体)这是没有意义的,我不知道什么是真实的世界的微服务的使用或如何使单独的组件来建立自己的微服务。
谁能给予一个真实的项目的例子?
先谢了

1szpjjfi

1szpjjfi1#

阅读thisthis。也看看herehere。我不认为任何人会给予一个链接到真实的的工作项目,所以你可以尝试this

kd3sttzy

kd3sttzy2#

我不明白微服务的真实用途是什么
正如您在所有这些教程中听到的,微服务体系结构主要利用以下优势:

  • 较小的服务易于维护和开发
  • 可以轻松地扩展特定的服务而不是整个项目(monolith).例如,您可以将服务-1扩展到4个示例,请求将流量拆分到这4个示例,并将服务-2扩展到2个示例,然后继续(负载平衡).这些服务可以分布到不同的服务器和位置.
  • 如果一个服务不能工作,它不会终止整个系统,因为它们是独立的。
  • 服务可以被重用于其他场景或特征。
  • 一个小团队可以为每一个服务工作,它很容易管理项目和开发流程。

并且它还具有以下缺点

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

如何制作独立组件来构建自己的微服务
这是微服务中最具挑战性的部分。你需要深入研究领域驱动设计DDD。
Decompose by subdomain
Decompose by Business Capabilities
谁能举一个真实项目的例子?
有很多项目开发不同模式的微服务,我认为你必须自己动手,把手弄脏。

相关问题