Tôi đang phát triển ứng dụng phân tán với sự giúp đỡ của MassTransit và rabbitmqkiến trúc phân tán với MassTransit, RabbitMQ và SignalR
tôi phải cung cấp khả năng tạo báo cáo trên một trang web mà không cần nạp lại trang bằng cách nhấp chuột vào một nút, còn tôi nên gọi một dịch vụ windows để chuẩn bị dữ liệu (Dịch vụ xử lý mỗi yêu cầu trong 30sek - 1min).
thử của tôi đầu tiên dựa trên mẫu này: https://github.com/MassTransit/Sample-RequestResponse
[HttpPost]
public async Task<HttpStatusCodeResult> GenerateReport(string someJsonData)
{
var serviceAddress = new Uri(ConfigurationManager.AppSettings["BaseLineRecordService"]);
var client = this.Bus.CreateRequestClient<ICreateReportRequest, ICreateReportResponse>(serviceAddress, TimeSpan.FromHours(1));
ICreateReportResponse response = await client.Request(new CreateReportRequest());
reportHub.ShowRepordData(response); // Update data by SingleR
return new HttpStatusCodeResult(200);
}
Nhưng như tôi hiểu nó không phải là một phương pháp tốt hơn, bởi vì tôi đang giữ kết nối trong tất cả chuẩn bị dữ liệu.
Tôi đã đọc nhiều bài viết và tôi đã tìm thấy ba cách. Cách nào được ưu tiên hơn?
1) Giống như trên bài viết này http://www.maldworth.com/2015/07/19/signalrchat-with-masstransit-v3/
2) Như đầu tiên nhưng với Rest API gọi thay vì người tiêu dùng từ IIS bên
3) Ý tưởng từ bài viết này http://weblog.west-wind.com/posts/2013/Sep/04/SelfHosting-SignalR-in-a-Windows-Service
Xin chào Chris, tôi rất mong nhận được phản hồi của bạn, cảm ơn rất nhiều! –