Тёмный
No video :(

Moving work Out-of-Process using Brighter and RabbitMQ 

CodeOpinion
Подписаться 86 тыс.
Просмотров 6 тыс.
50% 1

Опубликовано:

 

5 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 32   
@andersjuul8310
@andersjuul8310 3 года назад
Nice one! Agree with all the others :) Good subjects, clear focus, simple explanations/presentations, good sound! Seeing this after the video on the Outbox Pattern it would make sense to me to use Brighter for both instead of Brighter in combination with Hangfire/CAP. Could I hear your thoughts on which technologies you would combine if you were to create a solution from scratch?
@CodeOpinion
@CodeOpinion 3 года назад
It honestly depends on the needs/requirements and extensibility of the library you choose. It also depends on which transport and storage you're using and which libraries support what. For example, you might want to use NServiceBus but you also want to use Kafka. Well that won't work as it's not supported. So you either decide to use a different transport, maybe RabbitMQ with NServiceBus. Or you choose Kafka and use something like Brighter or CAP. It really depends on the feature set you need, which transport and storage your using.
@andersjuul8310
@andersjuul8310 3 года назад
@@CodeOpinion Ah, was not aware of those limitations. The pieces will have to fit :) Thanks!
@sampsonorson
@sampsonorson 4 года назад
Thanks once again. Beautiful tutorial.
@CodeOpinion
@CodeOpinion 4 года назад
Thank you! Cheers!
@mrjamiebowman1337
@mrjamiebowman1337 3 года назад
oh wow.. this is a really cool technology! thanks for sharing!
@CodeOpinion
@CodeOpinion 3 года назад
Thanks for watching!
@invalidred
@invalidred Год назад
Would you use rabbitMq in prod in 2023? Are there better alternatives. Not trying to build a very high throughput system to start.
@CodeOpinion
@CodeOpinion Год назад
Something managed in the cloud. Amazon MQ, Azure service bus, etc.
@invalidred
@invalidred Год назад
@@CodeOpinion thank you
@opokuemmanuel1124
@opokuemmanuel1124 3 года назад
That was great video - can you please share more Brighter library!
@CodeOpinion
@CodeOpinion 3 года назад
More videos on using Brighter?
@MrBlackWolfX
@MrBlackWolfX 2 года назад
Derek, do you have the code from your example on a repository? I would love to check the code.
@rey6253
@rey6253 4 года назад
HI, this is great content, although there is a concern I have with this approach. For example what would be the best approach/solution to update client side data as soon as the entity is updated from out-of-process runner/executer ? Also what is the best approach to not allow a user to actually edit more than once same entity until the first editing process is finished from the executer ? Shall you query the store(in this case would be RabbitMQ, redis or sth similar) whenever u are editing an entity or there are better approaches ?
@CodeOpinion
@CodeOpinion 4 года назад
For updating the client once the out-of-process message has run, one solution is notifying the client via an event. In my example, the PlaceOrder command once completed would publish a OrderPlaced event to the message broker. This event would get picked up and then notify the client say via SignalR. This type feedback loop is pretty common.
@FilipBekic01
@FilipBekic01 3 года назад
Very usefull video, thank you!
@CodeOpinion
@CodeOpinion 3 года назад
Glad you think so!
@JonKnopp
@JonKnopp 3 года назад
Do you know if it's possible to use Brighter to handle both in-process commands (as a replacement to mediatr) in some areas of a project, and make out-of-process commands elsewhere? Is this just differentiated by using .Send() vs .Post()?
@CodeOpinion
@CodeOpinion 3 года назад
Yup, that's all it! Just call Post() instead and that will send it to the message broker rather than doing it in-process.
@fromano280272
@fromano280272 4 года назад
I agree with the rest of the other comments, great content! What do you think about using the Actor Model as a different approach to tackle this scenario?
@CodeOpinion
@CodeOpinion 4 года назад
Similar in some ways but different in others. You'd have a large # of consumers/actors (and producers) but they are processing work synchronously per actor, which you may or may not want. I guess it depends how you partition.
@ivcbusinesssystems6613
@ivcbusinesssystems6613 4 года назад
We use Orleans for enterprise level scaling that virtual actors provide, but it's overkill for our small to midsize companies. This approach appears to be a good alternative to a full actor environment, but as always, you need to pick the right tool for the job. We're also looking at MS's Dapr to fill this role.
@fromano280272
@fromano280272 4 года назад
@@ivcbusinesssystems6613 I've used Akka.Net for a project and I like it a lot. As you said, it is a bit overkill for smaller applications, but you can pick the features you want to use. I heard about dapr, but it's not production ready yet. Another tool I'm interested in using is MassTransit
@ivcbusinesssystems6613
@ivcbusinesssystems6613 4 года назад
@@fromano280272 Yes, we used Akka.net first, it's a more pure actor framework than Orleans, but the virtual actor design was the game changer for us. Yes, dapr isn't production ready, and doesn't look like it will be for awhile, so it's in our planning stage right now. I'm just glad to see so many great high level tools/systems coming available, we used to have to build all of this from scratch!
@aymanmetwally5560
@aymanmetwally5560 3 года назад
Briiliant
@CodeOpinion
@CodeOpinion 3 года назад
Thanks 👍
@ivcbusinesssystems6613
@ivcbusinesssystems6613 4 года назад
Not a single link to brighter.
@CodeOpinion
@CodeOpinion 4 года назад
github.com/BrighterCommand/Brighter
@ivcbusinesssystems6613
@ivcbusinesssystems6613 4 года назад
@@CodeOpinion I found it, but thanks, it'll help others.
Далее
Hangfire + MediatR = Message Dispatcher
10:56
Просмотров 21 тыс.
Multi-Tenant: Database Per Tenant or Shared?
8:55
Просмотров 6 тыс.
Asynchronous Messaging in a Loosely Coupled Monolith
11:20
Using MediatR in .NET? Maybe replace it with this
11:49
Event Based Architecture: What do you mean by EVENT?
9:35
AVOID Entity Services by Focusing on Capabilities
7:31
My TOP Patterns for Event Driven Architecture
10:45
Просмотров 30 тыс.
CQRS Myths | 3 Most Common Misconceptions
6:51
Просмотров 20 тыс.
Q&A: Messaging, CQRS & Event Sourcing!
14:37
Просмотров 10 тыс.
Kafka for .NET Developers - Ian Cooper - NDC Sydney 2024
1:02:25