首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

来自akka persistence的AtLeastOnceDelivery保证的deliveryId owerflow

AtLeastOnceDelivery是Akka Persistence框架中的一种消息传递保证机制。它确保消息至少被传递一次,以避免消息丢失。

在分布式系统中,消息的传递可能会面临各种问题,例如网络故障、节点崩溃等。AtLeastOnceDelivery通过将消息的传递状态持久化到数据库中,以实现消息的可靠传递。

当使用AtLeastOnceDelivery时,每个消息都会被分配一个唯一的deliveryId。消息发送方会将消息和deliveryId一起发送给接收方。接收方在成功处理消息后,会向发送方发送一个确认消息,确认消息中包含deliveryId。发送方接收到确认消息后,会将该deliveryId对应的消息从传递状态中删除。

如果发送方在一定时间内没有收到确认消息,它会重新发送该消息,直到收到确认消息为止。这样可以确保消息的可靠传递,即使在网络故障或节点崩溃的情况下也能保证消息不会丢失。

AtLeastOnceDelivery适用于需要确保消息可靠传递的场景,例如订单处理、支付系统等。通过使用AtLeastOnceDelivery,可以避免因为消息丢失而导致的数据不一致或业务错误。

腾讯云提供了一系列与消息传递相关的产品和服务,例如消息队列 CMQ(Cloud Message Queue)和消息队列 CKafka(Cloud Kafka)。这些产品可以帮助开发者构建可靠的消息传递系统,确保消息的可靠传递和顺序性。

更多关于腾讯云消息队列 CMQ的信息,请访问:CMQ产品介绍

更多关于腾讯云消息队列 CKafka的信息,请访问:CKafka产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Akka 指南 之「集群分片」

    「集群分片」项目,以了解 Akka 集群分片实际使用情况。...这意味着实体状态不会被转移或迁移。如果实体状态很重要,那么它应该是持久,例如「Persistence」,以便可以在新位置恢复。...可靠端到端(end-to-end)消息传递,通过在「Persistence」中使用AtLeastOnceDelivery,可以实现“至少一次传递”语义。...使用两种模式时功能相同。如果你分片实体本身不使用 Akka 持久化(Persistence),那么使用分布式数据模式更方便,因为你不必为持久性设置和操作单独数据存储(如 Cassandra)。...持久化模式 此模式通过配置启用: akka.cluster.sharding.state-store-mode = persistence 因为它是在集群中运行,所以必须用分布式日志配置持久化。

    2.3K61

    Akka(14): 持久化模式:PersistentActor

    Akka程序特点之一就是高弹性或者强韧性(resilient),因为Actor具有自我修复能力。...指令验证目的是保证指令所产生事件在更新状态时不会造成异常(exception)。在事件持久化之前经过了验证可以保证造成系统异常事件不会被写入日志从而造成同样异常在恢复过程中不断重演。...persist主要方式是保证在事件成功持久化后再运算事后程序handler。上面是PersistentActor提供几种形式persist。...其中验证是为了保证该事件在更新内部状态时不会出现异常。这个验证必须在事件写入日志前,否则造成异常事件就会被写入日志,就会在恢复时事件重演中重复发生异常。...我们用个例子来示范如何来设计指令消息到事件转换: import akka.actor._ import akka.persistence._ object Calculator { sealed

    1.5K80

    实习培训考核内容--Akka+Netty编写聊天室系统

    框架资料较少,主要参考资料:akka官网文档:https://doc.akka.io/docs/akka/current/actors.html netty作为 JBOSS 提供一个 Java 开源框架...1、聊天室整体框架 聊天室demo较为简单,主要作为学习akka框架练手比较合适,可以帮助理清akka框架逻辑与一些使用规则。...2、主要内容 2.1客户端与服务端模拟 客户端与服务端都是使用netty框架,客户端模拟用户登录,服务端作为消息转发,发送到akka集群中分片区域节点。...state-store-mode = persistence } persistence { journal.plugin = "akka.persistence.journal.inmem..." # 使用内存中持久化插件,只适用于测试 snapshot-store.plugin = "akka.persistence.snapshot-store.local" # 使用本地文件系统快照存储

    10420

    SDP(0):Streaming-Data-Processor - Data Processing with Akka-Stream

    最近刚完成了对整个akka套装(suite)了解,感觉akka是一套理想分布式编程工具:一是actor模式提供了多种多线程编程方式,再就是akka-cluster能轻松地实现集群式分布式编程,而集群环境变化只需要调整配置文件...这部分我会在完成SDP项目后以akka-persistence为核心,通过akka-http,AMQP如RabitMQ等技术来实现。  ...SDP应该为用户程序提供多线程,并行式、分布式运算函数。首先,运算用户程序后应产生R类型结果而且,作为一种reactive软件,必须保证完全消耗上一阶段产生所有R类型元素。...初步想法是:无论返回结果与否,分派任务都是由persistence-actor来执行,这样能保证不会漏掉任何任务。...Sink主要作用实际上是保证完全消耗程序中产生所有元素,这是reactive类型程序必须要求。 好了,不知不觉还有几个钟头就进入2017倒计时了。

    43910

    Akka 指南 之「消息传递可靠性」

    实现中,而第二个规则则特定于 Akka。...A2可以看到A1消息与A3消息交织在一起。 由于没有保证传递,任何信息都可能被丢弃,即不能到达A2。 在此,需要注意是,Akka 保证适用于邮件进入收件人邮箱顺序。...可能非详尽指示清单是: 在接收到顶级 Actor 第一个回复之前,存在一个保护内部临时队列锁,而这个锁是不公平;这意味着,根据低级线程调度,来自不同发送方排队请求在 Actor 构造过程中到达...如果组件状态由于机器故障或被推出缓存而丢失,则可以通过重放事件流(通常使用快照来加快进程)来重建。Akka Persistence 支持「事件源」。...同样,你可能会看到akka.actor.Terminated来自子 Actor 消息,而如果父级 Actor 在父级终止时仍在监视子 Actor,则会阻止一系列以死信形式出现 Actor。

    1.8K10
    领券