Questions tagged [saga]

A pattern that enables a service bus to deal with long-running processes, fault tolerance and scalability.

Long-running business processes exist in many systems. Whether the steps are automated, manual, or a combination, effective handling of these processes is critical.

NServiceBus employs event-driven architectural principles to bake fault-tolerance and scalability into these processes.

The Saga is a pattern that addresses these challenges uncovered by the relational database community years ago, packaged in NServiceBus for ease of use by developers.

MassTransit supports sagas, and Automatonymous is a saga implementation built on top of MassTransit.

497 questions
3
votes
1 answer

Singleton NServiceBus Saga

What would be the correct way to have all the messages processed by a single saga? I don't think I can not specify some message-to-saga correlation. Can I? I believe it would result in a "saga not found" error. A naive way would be to have some…
izildur
  • 33
  • 3
3
votes
1 answer

Field not found: 'NHibernate.NHibernateUtil.String'

I am trying to Configure NHibernate package id="NHibernate" version="4.0.0.4000" targetFramework="net451" with fluent package id="FluentNHibernate" version="2.0.1.0" targetFramework="net451". The following code : var sessionFactory =…
3
votes
1 answer

Are NServiceBus saga to saga communications an anti-pattern?

We have two long running sagas that are both run for an infinite amount of time and respond to a timeout. The first subscribes to a timeout every 15 minutes, and the second every 24 hours. Each saga keeps track of its own execution time and…
JD Courtoy
  • 2,855
  • 25
  • 27
2
votes
1 answer

Querying MassTransit State Machine information

Is it OK to use the DbContext used by MassTransit to store the StateMachines as a regular DbContext? In my application we want to implement the following scenario (removed validation and err handling): A queue request comes in through an asp.net…
Boris Callens
  • 90,659
  • 85
  • 207
  • 305
2
votes
1 answer

Minimizing failure without impacting recovery when building processes on top of Kafka

I am working with a microservice that consumes messages from Kafka. It does some processing on the message and then inserts the result in a database. Only then am I acknowledging the message with Kafka. It is required that I keep data loss to an…
Zeruno
  • 1,391
  • 2
  • 20
  • 39
2
votes
2 answers

In NServiceBus, how can I handle when a message comes in without a matching saga?

If I have a saga that consists of two message types, say started by message1 and completed by message2, can I return a callback if a message2 comes in without a message1 already existing? I know it will dump it in the error queue, but I want to be…
Glenn Slaven
  • 33,720
  • 26
  • 113
  • 165
2
votes
1 answer

How can I response status code with asynchronous Request/Response?

Hello I'm trying to make a toy project and made SignUp API with Saga Orchestrator and kafka. And I need to respond JWT Token when success to client. When I create user in PENDING state, I need to respond to request and send kafka message to other…
HongJeongHyeon
  • 151
  • 2
  • 9
2
votes
1 answer

Pattern to Orchestrate sequence of API calls C#

I have 3 microservices exposing APIs for interaction. The order microservice receives order from UI and makes an API call to Inventory microservice to update the inventory details to reduce the itemCount. Once the above operation succeeds, the order…
Rockstart
  • 2,337
  • 5
  • 30
  • 59
2
votes
1 answer

Kafka on Masstransit

I am studying the possibility to use Kafka with Masstransit on our Information System. Masstransit documentation says Kafka may be used but as a Rider; As the usage of a transport is mandatory we must use another tool (as ActiveMQ, RabbitMQ) in…
2
votes
1 answer

Concurrency Exception with Rebus Saga

While following Crm system Saga Example in Rebus documentation I am getting a ConcurrencyException with the following Details when handling the event LegalInfoAcquiredInFirstSystem and LegalInfoAcquiredInSecondSystem. Error Details are as…
Amour Rashid
  • 290
  • 3
  • 11
2
votes
1 answer

What technologies use to solve distributed transactions in real operating env(such as Netflix Inc.)?

I'm converting the Monolith spring project to MSA environment. But, I faced the issue of distributed transaction. I know there are two ways to solve distributed transaction: 2pc commit and saga. I tried to solve it with Saga pattern of Axon…
henry-jo
  • 283
  • 1
  • 3
  • 14
2
votes
0 answers

Does calling redux select after put in a saga wait for store to update?

I have a scenario where we are adding an item to a list using by dispatching an action that calls a reducer to update the state, and then trying to grab that updated list immediately after. Here's a simple example: yield put(addItem(newItem)); const…
stickboi
  • 21
  • 1
2
votes
1 answer

CQRS projections, joining data from different aggregates via probe commands

In CQRS when we need to create a custom-tailored projections for our read-models, we usually prefer a "denormalized" projections (assume we are talking about projecting onto a DB). It is not uncommon to have the information need by the…
George
  • 67
  • 6
2
votes
2 answers

Fetch API using Saga didn't give any response

all.. Iam new in react, I use react, redux and redux saga in my project. I just make simple api fetch using saga. but I don't know why the yield put command look did'nt work. my code in bellow is my code: types export const GET_USERS_REQUESTED =…
naticap
  • 379
  • 1
  • 5
  • 19
2
votes
1 answer

"You can't put (a.k.a. dispatch from saga) frozen actions" - Redux Saga

This is my first stackoverflow questions please excuse if there is any mistake. I am a beginner to react, redux and saga. I am trying to dispatch an action which will be handled by saga and then dispatch another action from within saga. While I do…
Parthiban
  • 31
  • 6