首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有码头组合的微服务体系结构:.NET 6

带有码头组合的微服务体系结构:.NET 6
EN

Stack Overflow用户
提问于 2022-09-05 04:49:22
回答 2查看 250关注 0票数 0

一位前员工计划推出微服务体系结构,目前正在实施。我对设计没有什么疑问,我非常感谢你的反馈。

解释

Dematerialized UI有一个匹配的dematerialized API

Dematerailized API验证用户并通过SSO Library生成令牌。

Flight API进行I/O验证&通过validate request microservice验证请求

Flight API调用Booking API以获得一些基于UserId的预订

Flight API调用Print Booking API以使用Generate Message Microservice生成消息

Print Booking API必须调用Data Access API来获取数据,然后调用Generate PDF microservices

Data Access API调用数据库获取数据。

我的项目结构

代码语言:javascript
运行
复制
    FlightBookingsMicroserice.V1 //solution
    ApiGatways //folder
        DMZ.API/DMZ.API.csproj //Folder/project
    BuildingBlocks
        EventBus/EventBus.csproj
        EventBus/EventBusRabbitMQ
    Services 
        SSO
            SSO.API/SSO.csproj
            SSO.UnitTests
        Flight
            Flight.API/Flight.API.csproj
            Flight.UnitTets

        //Similar for all
        ValidationRequest
        Booking
        PrintBooking
            PrintBooking.API.csproj
        DataAccess
            DataAccess.API.csproj
        GeneratePDF
        GenerateMessage
    
    UI
        UI
    Docker-compose

问题

我应该在Print Booking API.

  • Is、Flight APIMicroservice way of development

  • Should项目结构中使用ocelot --我继续使用ASP.NET Core Web API with .NET 6进行Dematerialized API in orangeFunction API in blueMicroservice in purple projects.

  • For验证,因为SSO是从Dematerialized UI传递的,如果E 144令牌过期e 245而CRUD操作已经执行了一些阶段的回滚更改,那么怎么办?如果每个API访问一个标识服务器并验证用户传递并为其服务生成自己的标记(紫.

)

提前谢谢你。

EN

回答 2

Stack Overflow用户

发布于 2022-09-05 06:24:32

核心问题是,您是否真的需要所有这些服务,以及您是否使事情变得过于复杂。我认为最重要的是要认真考虑并确定你为什么要走这条路。

如果在服务之间执行同步API调用,则会创建耦合,并在长期内运行分布式monolith。

对于问题#4,用户通常使用一个访问令牌来访问公共服务,然后在具有完全不同生命期的服务之间使用不同的内部令牌集(机器对机器也称为OpenID连接厅中的客户端凭据)。

票数 0
EN

Stack Overflow用户

发布于 2022-09-05 11:30:28

q1: ocelot是一个API网关,它是请求的入口点。因此,它应该是用户请求在服务前面满足的第一层/服务,并根据其配置将请求转发给服务。所以,你所有的服务都在最前面。一些arch出于不同的原因提供了另一个api网关,例如用于移动请求的特定api网关。

q2:是寻找独立的服务(我不能理解函数api,但我假设它们也是服务)是的,但是微服务开发不仅仅是关于分离事物,它是关于设计和识别服务与业务上下文(领域驱动的设计).its,很难识别服务及其大小以及它们之间的通信方式(异步通信和同步通信)。

q3:微服务并不是关于语言的,而微服务体系结构的frameworks.one并不依赖于语言或框架。这可能是微服务中使用的多种语言。选择语言取决于组织策略或您自己的原因。如果您是.net开发人员,那么就选择.net。

q4:所有服务都在身份服务器上注册,并通过它验证给定的令牌。标识服务器生成带有作用域的令牌(可能有多个令牌)。来自标识用户的请求始终在标头中包含令牌,服务通过引用标识服务器验证传入令牌。此令牌具有生存期,并且标识服务器在当前令牌到期时生成刷新令牌。请看Oauth博士和rfc。同样,这个https://www.youtube.com/watch?v=Fhfvbl_KbWo&list=PLOeFnOV9YBa7dnrjpOG6lMpcyd7Wn7E8V可能会有所帮助。您可以跳过基本的主题。我从这个系列中学到了很多。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73604622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档