当前位置: 首页 > 知识库问答 >
问题:

微服务体系结构中的耦合

蒋向笛
2023-03-14

总而言之,我们有:

产品类别:
产品ID、产品名称

订单类别:
订单ID、产品ID、用户ID、订单日期

这些方法中的任何一种可以被认为是最佳实践吗?还是有不同的解决方案

共有1个答案

姜献
2023-03-14

在eShopOnContainers示例(https://github.com/dotnet-architecture/eShopOnContainers)中,它们在创建订单项时添加以下字段:

        public void AddOrderItem(int productId, string productName, decimal unitPrice, decimal discount, string pictureUrl, int units = 1)

这复制了目录信息,但这是记录的时间点快照。这比链接到原始数据要安全得多。

在用户旅程的这一点上,您处于一个订单的域中,如果用户正在查看一个订单,您可以提供一个目录链接。但是,订单服务应该能够独立运行。链接回目录以获取产品信息会防止订单服务拥有自己的数据。

 类似资料:
  • 我最近开始使用Node.js,我必须构建一个应该使用多个Express.js服务的体系结构。其中一些服务必须位于一台服务器上,另一台则位于其他服务器上。我想构建一个基础服务(像API网关),但是我不知道在这个网关和微服务之间,或者在两个微服务之间进行通信的合适方式是什么。 目前我正在研究一个基于此的解决方案:

  • 我有一个微服务体系结构,它的日志必须发送到远程Kafka主题。在它旁边,本主题的使用者将把日志发送到麋鹿堆栈(另一个团队) 我想要一个专用的微服务(fwk proxy elasticsearch),其职责是收集其他人的日志,并将其发送到远程Kafka主题。 将从我的微服务聚合的所有日志分派到fwk-代理-弹性搜索微服务的最佳协议是什么? 我希望这个模式不会重复远程Kafka主题的安全配置。我想把它

  • 我经常听说,在微服务架构中,对于每一个微服务,我们都必须创建单独的数据库。 但是,如果我必须在不同的数据库中维护外键约束,这是不可能的。就像我在身份验证微服务中有一个用户表,我想在我的目录服务中使用它(用户表中的用户 ID 列) 那么如何解决呢。 感谢提前

  • null null myApp应用程序不能直接访问用户数据库,所有通信都只能通过用户认证微服务处理。 在过去的一周里,我广泛阅读了关于REST API中的授权/身份验证的内容,但仍然不知道如何为User->myApp和MyApp->User-Authentication微服务构建一个可靠的授权/身份验证系统。 这是我现在想出来的。 null Now, user signs in sending u

  • 我很乐意听到其他的想法。如果一个特定的PaaS(比如Heroku)有一个专有的解决方案,那么这个解决方案也是可以接受的。