首页 文章
  • 1 votes
     answers
     views

    CQRS微服务:如何处理关系/验证?

    Scenario: 我有2个微服务(内部都使用CQRS事件采购) 微服务1管理联系人(=聚合根) 微服务2管理发票(=聚合根) 发票的收件人必须是有效的联系人 . CreateInvoiceCommand: { "content": "my invoice content", "recipient": "...
  • 6 votes
     answers
     views

    微服务:Akka的服务发现和服务注册

    我将为我的应用程序应用微服务架构 . 微服务之间的内部通信将通过使用Akka来实现 . 但我不知道如何使所有的微服务意识到并相互注册 . 我有一些设计Service Registry和Discovery的选项: 1)使用Zookeeper作为中心化服务来保存所有微服务(节点)的所有元数据,并让他们访问这些元数据进行通信 . 每个节点的元数据包含Akka路径(地址)信息,以便其他节点进行通信 . 2...
  • 0 votes
     answers
     views

    spring boot - 假装客户端发送基本授权头|将jwt令牌从一个微服务传递到另一个微服务

    我正在使用spring boot创建一个基于微服务的项目 . 我已经使用eureka服务器进行服务发现和注册,也使用JWT进行授权和身份验证的身份验证 . 每个微服务都有jwt验证,全局方法安全性在控制器上实现我使用假装客户端进行微服务间调用 . 服务 - 1)主要服务2)审批服务; 批准者服务正在调用主服务,用于调用只能由ADMIN访问的方法,但是当在主请求服务端处理jwt验证时,我只能看到 ...
  • 0 votes
     answers
     views

    如何在微服务架构中设置Keycloak Spring Boot Oauth2

    我已成功设置Keycloak和公共/前端spring启动应用程序 . 一切都按预期工作 . 前端Spring Boot App在Keycloak中配置为域中的客户端(app-ui),用户可以通过keycloak登录,令牌传递成功一切都很棒 . Spring Security正在保护终端,并且正在为 endpoints 尊重角色 . 现在,我正在尝试在混合中添加下游Spring Boot App(...
  • 0 votes
     answers
     views

    travis显示微服务应用程序中的错误

    我在一个单片应用程序中使用了Travis并且它工作正常 .现在,我正在分裂成微服务,Travis显示以下错误: 应用程序未能启动 描述: 无法配置DataSource:未指定'url'属性,也无法配置嵌入数据源 . 原因:无法确定合适的驱动程序类 行动: 考虑以下: If you want an embedded database (H2, HSQL or Derby), please put...
  • 1 votes
     answers
     views

    CuratorFramework spring 靴

    因此,如果我有2个服务,A和B.每个服务实现CuratorFramework,但访问相同的Zookeeper集群 . 现在这些是 Spring 季启动应用程序 . 一旦我运行这些 Spring 季启动应用程序,在它上面发出一些请求,在一段时间内我的服务开始抛出OutOfMemory:无法创建新的本机线程 . 所以我做了一个线程转储,我注意到以下内容: Curator-ConnectionState...
  • 6 votes
     answers
     views

    实践中的微服务

    我现在已经研究了微服务的概念,并了解它们是什么以及为什么它们是必要的 . Quick refresher 简而言之,monolith应用程序被分解为独立的可部署单元,每个单元通常公开它自己的Web API并拥有自己的数据库 . 每项服务都履行单一责任并且做得很好 . 这些服务通过REST或SOAP等同步Web服务进行通信,或者使用JMS等异步消息传递来协同处理某些请求 . 我们的整体应用程序已成为...
  • 0 votes
     answers
     views

    使用Public MicroService验证Api Gateway(Kong)

    我们有一个可以通过互联网公开访问的网络应用程序 . 此应用程序在Web服务器上运行,该服务器包含应用程序可以调用的一整套API(包括用户身份验证) . 我们希望为用户公开“API”(例如,收集数据),以便从他们自己的代码中查询有关其帐户的有限数据集 . 这将允许他们使用我们为他们收集的数据编写自定义仪表板 . 有了这个新API,API调用现在可以来自我们的web-ap以外的其他地方 . 因此,我们...
  • 53 votes
     answers
     views

    如何将gRPC定义的API引入Web浏览器

    我们想为我们的gRPC微服务构建一个Javascript / HTML gui . 由于浏览器端不支持gRPC,我们考虑使用web-socket连接到node.js服务器,该服务器通过grpc调用目标服务 . 我们很难找到一个优雅的解决方案来做到这一点 . 特别是,因为我们使用gRPC流来推动我们的微服务之间的事件 . 看来我们需要第二个RPC系统,只是为了在前端和node.js服务器之间进行通信...
  • 2 votes
     answers
     views

    API网关和微服务身份验证

    API网关和微服务的工作原理 . 任何人都可以用Gateway来解释微服务架构的基本流程 . 我找不到合适的答案 . 假设我们在不同的实例上运行auth服务器和客户微服务,并且在我们拥有API网关的所有服务之前运行 . 我的问题是 . 当用户尝试使用用户名和密码登录时,API网关调用 auth server 并将 access token 返回给用户 . 然后用户尝试访问在单独实例上运行的特定UR...
  • 3 votes
     answers
     views

    如何使用微服务架构处理共享数据源

    我的微服务架构中有几个服务 . 两个服务(服务A,服务B)有不同的api,并提供不同的域逻辑 . 但是他们确实共享一些应该返回的逻辑 - 来自Redis的用户状态 . 当用户状态改变时,Iam从第三个服务发布到我的所有微服务 解决方案: 我可以创建另一个负责“用户状态”的服务,并将在Redis上保存所有用户数据 . 缺点:我的客户将对每个api请求进行额外调用(以获取用户状态) . 为...
  • 1 votes
     answers
     views

    微服务架构师和层

    我们来讨论一下微服务环境的架构 . 我们正在公司内部进行讨论,我想要一些反馈意见 . 我正在认真考虑的是编排层(代码重复,更多动态部分更改api) . 选项一 - 带编排层: webapp - > orchestration - > service - > persistance api - > api gw - > orchestration - &gt...
  • 97 votes
     answers
     views

    GraphQL和微服务架构

    我试图了解GraphQL最适合在微服务架构中使用的位置 . 关于只有一个GraphQL架构作为API网关代理对目标微服务的请求并强制其响应存在争议 . 微服务仍然会使用REST / Thrift协议进行通信思考 . 另一种方法是每个微服务具有多个GraphQL模式 . 拥有一个较小的API网关服务器,将请求路由到目标微服务,并且请求的所有信息都是GraphQL查询 . 1st Approach 将...
  • 4 votes
     answers
     views

    如何使用微服务架构设计sails.js项目?

    我从here学到了微服务 现在,我想在我的下一个sails.js项目中使用微服务架构 . One way I could think of is: 将我的sails.js应用程序分解为多个小sails.js子项目/存储库 . 在一个子项目中有一个控制器模型 . 例如,如果我们考虑简单的电子商务应用程序,实体说用户,产品,订单等,那么每个应用sails.js模型控制器的每个都将有单独的sai...
  • 2 votes
     answers
     views

    在微服务架构中处理UI的数据?

    我们计划在下一个应用程序中使用微服务架构 . 我想知道对于每个相关的微服务是否具有相同的域实体是一种常见的做法 . 例如,有一个客户 . 客户由多个用户和一个公司组成 . 它们存在于客户服务中 . 然后是仓库服务 . 仓库可以拥有不同角色的不同客户 . 因此,warehosue实体为客户提供密钥 . 在这两个微服务的前面有一个API网关 . 现在,当显示带有仓库的屏幕时,我们还需要来自客户服务的客...
  • 0 votes
     answers
     views

    具有服务冗余的微服务架构

    我已经阅读了一些文章并观看了youtube视频以了解微服务架构,但我并没有很好地掌握如何将这些组件拼凑在一起:负载均衡器,API网关和服务注册/发现 . 因为我打算使用微服务模式启动个人项目,所以我设计了一个具有服务冗余的初步架构(见下文) . 我不确定这种架构是否正确,我想知道我在哪里做错了以及如何改进 . 将服务注册和发现置于API网关的下游是否有意义? A quick explanatio...
  • 2 votes
     answers
     views

    如何在微服务和API网关架构中对不同的配置文件进行身份验证和授权

    我想构建一个微服务架构 . 它应该有13个微服务和3个客户端(2个网络和1个移动) . 在我们的场景中,我们有: 员工:访问特定和共享服务及其凭据存储在Active Directory中; 管理员:他们是具有完全访问权限的员工 . 他们具有特定和共享服务,其凭据存储在Active Directory中; 客户:访问特定和共享服务及其凭据存储在Identity微服务中 . 我们将有一...
  • 2 votes
     answers
     views

    微服务数据检索

    美好的一天,我读了一些关于微服务架构的书,但我还有疑问......其中一个是关于你需要检索一些实体的数据的情况,这些实体与其他实体有关...例如:我们有订单和用户微服务,例如,每个订单都有一些关于用户和客户想要检索用户订单的信息,所以我看到三种方法来实现这一点: 客户端应用程序向订单微服务发出请求,然后向用户微服务请求检索用户信息的订单 客户端应用程序向订购mircoservice发出请求...
  • 1 votes
     answers
     views

    微服务,有界上下文和共享数据

    我正在研究微服务架构,我担心服务之间的共享数据是系统的主数据 . 例如,在我的系统中,我有2个业务上下文“Import Booking”和“Import Invoice” . 导入预订使用公司信息来验证和创建新公司(如果不存在) . 导入发票使用公司信息进行验证 . 因此,系统将有3个服务“导入预订”,“导入发票”,“公司服务”和“公司服务”将向CRUD公开另一个服务的API或系统只有...
  • 3 votes
     answers
     views

    Microfrontends基于React / Component的分裂

    Background: 我面临着使工具现代化并将其转换为具有反应前端的微服务的任务 . 我的想法是让一般的顶级组件包含例如Nav和包含该功能的每个微服务的组件 . Approaches: 在本地捆绑组件,使其成为一个单一的前端,而forntend代码只在repo中分离 . 我认为这样可以放弃不必为每次更改重新部署整个应用程序的优势 通过在配置文件中定义它们,从微服务中加载每个组件的缩小捆绑包...
  • 4 votes
     answers
     views

    在微服务的发布/订阅模型中,如何每种服务类型只接收/使用一次消息

    我们正在设计一个微服务架构模型,其中服务A发布消息和服务B,而C希望接收/消费该消息 . 但是,对于高可用性,服务B和C的多个实例同时运行 . 现在的问题是我们如何设计使得只有一个B的服务实例和一个C的服务实例接收消息而不是所有其他服务实例 . 据我所知,RabbitMQ实现这种行为并不容易 . 我想知道Kafka或任何其他消息传递框架是否内置了对此场景的支持,我认为这在微服务架构中应该非常普遍 ...
  • 0 votes
     answers
     views

    Spring批处理有条件地执行stor proc

    在我的Spring Batch Application中,我正在阅读,处理然后尝试使用 stored procedure 将ItemWriter写入数据库: 下面是我的CSV文件的样子,让我们说出我想要阅读,处理和写入的内容: Cob Date;Customer Code;Identifer1;Identifier2;Price 20180123;ABC LTD;BFSTACK;1231.CZ;1...
  • 150 votes
     answers
     views

    编排微服务

    编排微服务的标准模式是什么? 如果微服务只知道它自己的域,但是有一个数据流要求多个服务以某种方式交互,那么它的方法是什么? 假设我们有这样的事情: 开具发票 装运 为了论证,让我们说一旦订单发货,就应该创建发票 . 在某个地方,有人按下GUI中的按钮,“我已经完成了,让我们这样做!”在一个经典的整体服务架构中,我会说有一个ESB处理这个,或者Shipment服务知道发票服务并且只是调用...
  • 2 votes
     answers
     views

    如何在Akka微服务之间共享通信模型?

    我们使用Akka作为我们的微服务平台 . 我们暂时不支持非JVM平台,因此我们使用Akka actor之间的直接消息传递作为通信平台 . 这样,我们的通信单元就是 case classes . 我们是否必须重复自己并为每个微服务定义案例类,或者我们可以将所有消息类放入单个项目中并在微服务项目之间共享? 我知道不建议在微服务之间共享模型,但是当我们使用Akka通信协议时,我不确定在多个项目中创建相...
  • 4 votes
     answers
     views

    事件采购/ CQRS阅读模型 - 预测

    我在AWS Lambda上运行了一个基于微服务的应用程序 . 其中两个微服务,最关键的微服务,使用事件源/ cqrs . Background: (this is also for me to organize my thoughts) 我正在使用this library并在DynamoDB中存储事件并在AWS S3中进行投影 . 写入部分就像一个魅力:每个命令调用从DynamoDB加载聚合的当前...
  • 0 votes
     answers
     views

    在spring boot微服务应用程序中使用rabbitmq时出错

    我正在开发一个spring boot微服务应用程序,其中我使用rabbitmq来记录队列中的消息 . 但是当我在邮递员中点击服务URL时,我在控制台中收到以下错误,即使我能够在邮递员中获得成功的回复 . 请指导 . java.net.ConnectException:java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImp...
  • 1 votes
     answers
     views

    将Monolith ASP.NET Webform应用程序移动到微服务和会话管理

    我们正在努力将我们的整体ASP.NET Webform应用程序移动到微服务,首先,我们使用Nginx作为代理路由器,Node express作为API网关 . 从浏览器,任何.aspx请求将从Nginx路由到现有的ASP.NET Webform应用程序,新的调用将路由到API Gateway Till路由它的所有工作正常但问题是会话管理,ASP.NET Webform应用程序正在使用Redis a...
  • 42 votes
     answers
     views

    在微服务之间共享代码和架构

    如果您在组织中寻找 microservices architecture ,他们可以通过zookeeper或其等价物共享配置 . 但是,各种服务应该如何共享公共数据库模式?常见的常数?和普通公用事业? 一种方法是将所有微服务放在同一个代码库中,但这与微服务带来的解耦相矛盾...... 另一种方法是让每个微服务完全独立,但这会导致每个微服务必须保持的单独数据库中的代码重复和数据重复 . 另一种方法是...
  • 96 votes
     answers
     views

    微服务认证策略

    我很难为微服务架构选择合适/安全的身份验证策略 . 我在这个主题上发现的唯一SO帖子就是这个:Single Sign-On in Microservice Architecture 我的想法是在每个服务(例如,身份验证,消息传递,通知,配置文件等)中为每个用户提供一个唯一的引用(在逻辑上与他的 user_id 相当),并且如果登录则可以获得当前用户的 id . 从我的研究中,我看到有两种可能的策...
  • 137 votes
     answers
     views

    跨REST微服务的事务?

    假设我们有一个用户,钱包REST微服务和一个将各种东西粘合在一起的API网关 . 当Bob在我们的网站上注册时,我们的API网关需要通过用户微服务和钱包通过钱包微服务创建用户 . 现在有几种情况可能会出错: 用户Bob创建失败:没关系,我们只是向Bob返回错误消息 . 我们正在使用SQL事务,因此没有人在系统中看到过Bob . 一切都很好:) 用户Bob已创建,但在创建我们的电子钱包之前,...

热门问题