聊聊MassTransit——实现Saga模式概览(译)-天天快讯

博客园

2023-05-29 13:45:13


【资料图】

原文地址:Saga Overview

系列地址

Introduce

编排一系列事件的能力是一个强大的功能,而MassTransit使这成为可能。saga是由协调器管理的长期事务。saga是由事件发起的,saga编排事件,saga维护整个事务的状态。saga旨在管理分布式事务的复杂性,而不需要锁定和一致性。它们管理状态并跟踪发生部分故障时所需的任何补偿。

State Machine Sagas

MassTransit包括Automatonymous,它提供了一个强大的状态机(State Machine)语法来创建saga。在使用MassTransit时,强烈建议使用这种方法。

Consumer Sagas

MassTransit支持Comsumer Sagas,它实现一个或多个接口来消费相关的saga events。包含此支持,以便将应用程序从其他saga实现轻松移动到MassTransit。

Definitions

Saga 定义用于指定消费者的行为,以便可以自动配置它们。定义可以由AddSaga显式添加,也可以使用任何AddSaga方法自动发现。下面显示了一个示例传奇定义。完整的配置参考,请参见配置部分。

public class OrderStateDefinition :    SagaDefinition{    public OrderStateDefinition()    {        // specify the message limit at the endpoint level, which influences        // the endpoint prefetch count, if supported        Endpoint(e => e.ConcurrentMessageLimit = 16);    }    protected override void ConfigureSaga(IReceiveEndpointConfigurator endpointConfigurator, ISagaConfigurator sagaConfigurator)    {        var partition = endpointConfigurator.CreatePartitioner(16);        sagaConfigurator.Message(x => x.UsePartitioner(partition, m => m.Message.CorrelationId));        sagaConfigurator.Message(x => x.UsePartitioner(partition, m => m.Message.CorrelationId));        sagaConfigurator.Message(x => x.UsePartitioner(partition, m => m.Message.CorrelationId));    }}

最新资讯

猜你喜欢

知识 二极管的型号有哪些

2022-12

“疫”不容辞 火焰蓝的特殊“11·9”

2021-11

驴肉店里的培训班号称“考研包过”?济南警方侦破作弊案

2021-11

多地喊话!这类人拒不回国将注销户口!

2021-11

内蒙古民警暴雪中徒步8小时 寻回走失牛群

2021-11

浙江天台500多名视障者“重见天日”:好日子在光明中开启

2021-11

四川多所高校学子用“青春力量”助力疫情防控

2021-11

成都理工:三次全员核酸均为阴性 “三万人吃喝没人管”

2021-11