MassTransit là gì?
MassTransit là thư viện mã nguồn mở về message bus để xây dựng các ứng dụng hướng microservices
Các thư viện có chức năng tương tự MassTransit có thể kể đến như
CAP
NServiceBus
MassTransit sẽ được dùng kết hợp với các Message Broker (Transports) như RabbitMQ, ActiveMQ, Azure Service Bus, ... Ngoài ra, MassTransit hỗ trợ cả InMemory để ta có thể dễ dàng kiểm tra và không phải cài gì thêm
Để tìm hiểu thêm về MassTransit các bạn tham khảo thêm các trang dưới đây
Cài đặt MassTransit cho ứng dụng ASP .NET Core
Yêu cầu
Visual Studio or Visual Studio Code
Các bước thực hiện
Khởi tạo một project ASP .NET Core
dotnet new webapi MassTransitTest
Cài đặt các packages cần thiết
Cài đặt package transport hoặc database mà bạn sử dụng. Ở đây tôi chọn RabbitMQ.
Để cài đặt RabbitMQ tôi khuyên khích các bạn sử dụng Docker. Tham khảo bài viết về cài đặt các công cụ sử dụng Docker ở đây.
docker run -d -p 15672:15672 -p 5672:5672 rabbitmq:management
MassTransit hỗ trợ rất nhiều loại transport và database
https://www.nuget.org/packages/MassTransit.AzureServiceBus
https://www.nuget.org/packages/MassTransit.ActiveMQ
https://www.nuget.org/packages/MassTransit.AmazonSQS
https://www.nuget.org/packages/MassTransit.Http
cd MassTransitTest
dotnet add package MassTransit
dotnet add package MassTransit.AspNetCore
dotnet add package MassTransit.RabbitMQ
Tạo các classes cần thiết
Class BusService.cs để start stop bus control theo ứng dụng ASP .NET Core
Class Order.cs mô tả dữ liệu mà bạn muốn truyền đi
Class MassTransitController.cs demo cách truyền dữ liệu đi
Class SendOrderConsumer.cs để xử lý việc nhận mesage
Cấu hình MassTransit trong Startup.cs
Khởi chạy và kiểm tra
dotnet run
Đi đến đường dẫn sau để tiến hành gửi dữ liệu
http://localhost:5000/masstransit
Kết quả thu được như sau
Tham khảo thêm
https://masstransit-project.com/MassTransit/usage/configuration.html#masstransit-and-aspnet-core
Tiếp tục cập nhật ...