- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我们有 3 个不同的服务产生事件,每个服务都发布到自己的事件存储。
这些服务中的每一个都使用其他生产者服务事件。
这是因为每个服务都必须处理另一个服务的事件并创建自己的投影。每个服务都在多个实例上运行。
最直接的方法(对我来说)是在每个 ES 前面放置“某物”,这些 ES 正在挑选事件并将它们发布(发布/订阅)到每个其他服务的队列中。
这是完美的,因为每个服务都可以订阅它喜欢的每个主题,而事件发布者正在做这项工作,如果服务不可用,事件仍然会被传递。在我看来,这可以保证高可扩展性和可用性。
我的问题是队列。我无法获得一个易于扩展的队列来保证消息的排序。它实际上保证了至少一次交付的“轻微故障”:明确地说,它是 AWS SQS。
所以,排序问题是:
eventSequenceNumber > previousAppliedEventSequenceNumber + 1
我将它重新排队(或使其在一段时间内不可见)。
lastSequenceNumber
. UserService
和一个
CartService
.
CartService
有一个投影,每个用户可以跟踪购物车中的产品。每个购物车的投影还必须具有来自
UserCreated
的用户名和其他信息。事件发布自
UserService
.如
UserCreated
紧随其后
ProductAddedToCart
正常流程需要抛出异常,因为用户还不存在。
最佳答案
What I'm missing?
If UserCreated comes after ProductAddedToCart the normal flow requires to throw an exception because the user doesn't exist yet.
关于microservices - CQRS - 乱序消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53270770/
我们计划开发一些基于 play 框架的微服务。他们将提供 rest api,其中很多将在幕后使用 akka cluster/cluster-sharding。 我们想要一个 api 网关来公开我们内部
我想知道是否可以使用NestJs ClientProxy从NestJs微服务向其他非NestJs微服务(例如:Spring Boot微服务)发出请求。我已经在谷歌上搜索了一段时间,但我还没有看到任何关
我很难找到答案。当我有两个Spring Boot微服务应用程序,微服务A和微服务B,并且它们都相互通信时,我遇到了一个问题。当微服务A在身份验证后生成JWT令牌并向微服务B发送响应时,微服务B如何验证
我很难找到答案。当我有两个Spring Boot微服务应用程序,微服务A和微服务B,并且它们都相互通信时,我遇到了一个问题。当微服务A在身份验证后生成JWT令牌并向微服务B发送响应时,微服务B如何验证
我们正在评估使用事件作为来源来构建报告,并增加了许多不同的选项。 我们目前正在服务结构集群中运行我们的系统(打算在未来某个时候迁移到 kubernetes),这意味着各种事件流的订阅者默认情况下将存在
是否可以通过微服务构建使用不同语言的项目?比如,我想搭建一个酒店管理系统,是否可以针对不同的模块同时使用asp.net core和nodejs。认为我想使用 nodejs 获取数据并使用 .net c
我将用 Twitter 说明我的问题。例如,Twitter 具有基于微服务的架构,这意味着不同的进程位于不同的服务器中并具有不同的数据库。 出现一条新推文,服务器 A 在其自己的数据库中存储了一些数据
我是微服务的新手,我遇到了异常。我只收到过几次,无法继续。 eureka_1 | 2019-02-25 15:08:22.666 ERROR 1 --- [target_eureka-7] c.n.e
微服务应该是可重用的吗?对于可重用,我并不是说共享特定领域的模型。 我的意思是,为一个应用程序创建的微服务是否应该在另一个应用程序中重用?如果它们可以在应用程序中重复使用就足够了吗? 解耦微服务的最佳
我将为我的数据仓库应用程序应用微服务。应用中有 4 个主要的微服务: 1)数据服务:将外部数据源导入/导出到DWH并从DWH查询数据。 2) 分析服务:用于 UI 上的图表可视化 3)机器学习:用于推
我有 2 个微服务 S1和 S2 . S1调用 S2更新数据然后 S1插入另一条数据,但让我们考虑 S1失败,那么我们需要回滚S2更新的数据否则我们将处于不一致的状态。 我也经历过 Saga 模式。它
我一直在阅读微服务架构但我仍然无法理解微服务间的通信机制。 在许多文章中,他们说微服务通常通过 RESTful API 公开。但是当您搜索互联网时,您总是会看到基于消息和事件的后端通信实现。 所以我很
让我们考虑一种情况,其中多个服务中继可以随时更改的数据,并且应该在每个微服务中大致同时更新 - 例如,有一个受支持的语言列表或一些可能有一天会更改并影响许多的公共(public)策略一次服务。 我能想
我听说过通用术语“上游服务”和“下游服务”这两个术语,但是我遇到了一些关于微服务架构的文章,他们在其中使用了这些术语,但是我无法获得上游和下游服务的含义在基于微服务的架构中会是什么?有人有一个简短的解
例如amazon.com;他们依赖于微服务架构,订单和付款可能是单独的微服务,但是当您在 amazon.com 上结帐订单时,您最终可以看到订单 ID 和详细信息。如果不是最终一致性方法,那是什么?也
让我们假设以下基于CQRS体系结构的简单UC: 电影说,我们有一个后端来管理业务对象。 此后端由2个微服务组成:CommandManager(创建/更新/删除影片)和QueryManager(查询影片
似乎在传统的微服务架构中,每个服务都有自己的数据库,对数据的理解不同(描述 here)。有时,数据库复制数据被认为是允许的。例如,“用户”服务可能基本上了解用户的所有信息,而“帖子”服务可能只存储主键
鉴于我有两个微服务:服务 A 和服务 B。 服务 A 拥有完整的客户数据,而服务 B 需要这些数据的一小部分(它通过一些批量加载从服务 A 获取)。 这两种服务都将客户存储在自己的数据库中。 如果然后
我正在开发一个带有微服务的应用程序,但我不知道如何分发微服务以允许身份验证。 我读过每个微服务都应该有自己的数据库以避免耦合。 问题是身份验证(通过 JWT)和用户微服务必须有权访问相同的数据库和表(
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 去年关闭。 Improve this questio
我是一名优秀的程序员,十分优秀!