Mẹo nhỏ: Để tìm kiếm chính xác các bài viết của Vuihecungchocopie.vn, hãy search trên Google với cú pháp: "Từ khóa" + "vuihecungchocopie". (Ví dụ: công thức giải rubik 3x3 vuihecungchocopie). Tìm kiếm ngay
15 lượt xem

Message broker là gì? Sơ lược về RabbitMQ và ứng dụng demo

Bạn đang xem: Message broker là gì? Sơ lược về RabbitMQ và ứng dụng demo Tại Vuihecungchocopie                        

Bạn đang quan tâm đến Message broker là gì? Sơ lược về RabbitMQ và ứng dụng demo phải không? Nào hãy cùng Vuihecungchocopie đón xem bài viết này ngay sau đây nhé, vì nó vô cùng thú vị và hay đấy!

Trong kiến ​​trúc đám mây (hoặc microservices), các ứng dụng được chia nhỏ thành các phần độc lập nhỏ hơn để có thể dễ dàng phát triển, triển khai và bảo trì. Giả sử bạn có kiến ​​trúc đám mây với nhiều dịch vụ và nhiều yêu cầu mỗi giây, bạn phải đảm bảo rằng không có yêu cầu nào bị mất và các dịch vụ web của bạn luôn sẵn sàng chấp nhận các yêu cầu mới thay vì bị khóa bằng cách xử lý các yêu cầu trước đó và bạn phải đảm bảo rằng các dịch vụ giao tiếp thông suốt, hiệu quả.

Bạn làm nghề gì? Câu trả lời là Nhà môi giới tin nhắn !

Bạn đang xem: Message broker là gì

Nhà môi giới tin nhắn

là gì?

Nhà môi giới thông báo (còn được gọi là Nhà môi giới tích hợp hoặc Công cụ giao diện ) là một mô-đun trung gian truyền thông báo từ người gửi đến người nhận. Nó là một mô hình kiến ​​trúc để kiểm tra, chuyển tiếp và điều hướng các thông điệp; làm trung gian giữa các ứng dụng, đơn giản hóa giao tiếp giữa chúng và tối đa hóa hiệu quả của việc chia thành các phần nhỏ hơn. Nhiệm vụ chính của Nhà môi giới tin nhắn là nhận tin nhắn từ ứng dụng và thực hiện một số hành động. Hãy cùng xem sơ đồ thời gian dưới đây:

Message broker là gì? Sơ lược về RabbitMQ và ứng dụng demo

Như chúng ta có thể thấy, trong quá trình khởi tạo, service1 và service2 được khởi tạo, sau đó agent được tải và đăng ký với agent. Từ đó, nhà môi giới chuyển tiếp các tin nhắn đến các nhà môi giới đã đăng ký trước. Chế độ này sẽ có những lợi ích sau:

  • service1 và service2 không cần biết nhau. Nó chỉ gửi thông điệp đến nhà môi giới, từ đó nhà môi giới sẽ chuyển thông điệp đến nhà môi giới. Sau đó nhà môi giới sẽ chuyển tin nhắn đến service1 và service2 đã đăng ký trước đó để nhận tin nhắn.
  • Service1 và service2 giao tiếp thông qua nhà môi giới, vì vậy, ngay cả khi ngôn ngữ khác nhau, giao tiếp vẫn có thể thành công. công cộng.
  • Với mẫu thiết kế này, chúng tôi có thể thiết lập cơ chế không đồng bộ. Đối với service1, nó không quan tâm khi nào tin nhắn đến service2 hoặc khi service2 xử lý xong, nó chỉ cần gửi tin nhắn đến nhà môi giới tin nhắn . service2 sẽ nhận được tin nhắn bất cứ lúc nào. Tính năng này có thể được sử dụng để xây dựng hệ thống lưu trữ và xử lý nhật ký.
XEM THÊM:  Ví điện tử là gì? Giới thiệu một số ví điện tử phổ biến hiện nay

Hiện tại, có thể đề cập đến nhiều phần mềm môi giới tin nhắn, chẳng hạn như: dịch vụ hàng đợi đơn giản của dịch vụ web amazon (aws) , apache kafka , apache activemq . Nhưng phổ biến nhất trong số những cái tên được đề cập ở trên là Rabbitmq !

Rabbitmq là gì?

Rabbitmq là một nhà môi giới tin nhắn mã nguồn mở, ban đầu dành cho Giao thức xếp hàng tin nhắn nâng cao (amqp) và sau đó được phát triển để hỗ trợ > Truyền trực tuyến Giao thức nhắn tin hướng văn bản (stomp) , Truyền tải từ xa xếp hàng đợi tin nhắn (mqtt) , v.v. Tuy nhiên, trong bài viết này, tôi sẽ không đi sâu vào các giao thức nói trên. Rabbitmq được viết bằng erlang , một ngôn ngữ không phổ biến rất phù hợp cho nhà môi giới tin nhắn .

Rabbitmq và sử dụng các điều khoản này trong thông điệp chung:

  • production chỉ có nghĩa là gửi. Ứng dụng gửi tin nhắn được gọi là nhà sản xuất .
  • queue là một hộp thư trong Rabbitmq . Tin nhắn di chuyển qua Rabbitmq và ứng dụng của bạn, nhưng chúng chỉ có thể được lưu trong hàng đợi . hàng đợi được giới hạn trong bộ nhớ và đĩa của máy chủ. Về cơ bản, nó là một bộ đệm tin nhắn cho dữ liệu lớn. Nhiều nhà sản xuất có thể gửi tin nhắn đến một hàng đợi và nhiều người tiêu dùng có thể nhận dữ liệu từ một hàng đợi :
  • Tiêu thụ có nghĩa giống như nhận. người tiêu dùng là một ứng dụng chủ yếu chờ nhận tin nhắn:
XEM THÊM:  Picking - chọn hàng chính xác và nhanh chóng

Xem thêm: Quy định về nhà thầu phụ trong xây dựng bao gồm những gì?

Xin lưu ý rằng nhà sản xuất , người tiêu dùng nhà môi giới không phải phụ thuộc vào cùng một máy chủ lưu trữ. Trên thực tế, những ứng dụng như vậy rất hiếm. Ứng dụng cũng có thể đồng thời là nhà sản xuất người tiêu dùng .

Xin chào thế giới!

Trong bài viết này, chúng tôi sẽ sử dụng ứng dụng khách ruby ​​thỏ làm thông báo mẫu để nhà sản xuất gửi tin nhắn và người tiêu dùng nhận tin nhắn và in ra màn hình. Trong hình ảnh bên dưới, p nhà sản xuất , c người tiêu dùng và hộp ở giữa là > hàng đợi :

Đầu tiên, chúng tôi cài đặt Rabbit:

Gửi

Message broker là gì? Sơ lược về RabbitMQ và ứng dụng demo

Chúng tôi sẽ viết trình tạo tin nhắn trong sender.rb và người tiêu dùng tin nhắn trong receiver.rb. producer sẽ kết nối với Rabbitmq , gửi tin nhắn và thoát.

kết nối sẽ sử dụng kết nối socket, xử lý phiên bản giao thức, xác thực và những thứ khác. Trong ví dụ này, chúng tôi sẽ kết nối với cục bộ, nếu bạn muốn kết nối với một máy chủ khác, chỉ cần sử dụng tùy chọn: hostname và chỉ định tên miền hoặc địa chỉ ip của nó. Tiếp theo, chúng ta tạo một kênh, một hàng đợi để gửi tin nhắn:

hàng đợi sẽ chỉ được tạo nếu nó không tồn tại, thông báo là một mảng byte, vì vậy bạn có thể chuyển bất kỳ thứ gì bạn muốn. Cuối cùng, chúng tôi đóng kết nối:

XEM THÊM:  Hiện tượng mạng xã hội Tiến bịp là ai? Tiểu sử Tiến Bịp đầy đủ nhất | Phụ Nữ & Gia Đình

Nhận

Giờ đây, người tiêu dùng sẽ nghe tin nhắn từ Rabbitmq . Không giống như nhà sản xuất , người tiêu dùng sẽ đến và nghe tin nhắn và in chúng ra màn hình.

Xem thêm: Tâm hồn là gì? Những cách để nuôi dưỡng tâm hồn

Message broker là gì? Sơ lược về RabbitMQ và ứng dụng demo

Tương tự như producer , chúng tôi mở kết nối và kênh, khai báo hàng đợi, lưu ý rằng tên của hàng đợi phải giống với hàng đợi trên sender.rb:

Tại đây, chúng tôi cũng khai báo hàng đợi để đảm bảo rằng hàng đợi đã tồn tại trước thông báo người tiêu dùng .

bunny :: queue # subscribe sẽ đăng tin nhắn từ hàng đợi và cũng là lệnh gọi lại được thực thi khi Rabbitmq đẩy tin nhắn không đồng bộ đến người tiêu dùng : p>

Tại đây, để tránh việc receiver.rb bị chấm dứt ngay lập tức, bunny :: queue # subscribe sử dụng một khối chờ chuỗi thực thi.

Bây giờ, hãy chạy người tiêu dùng :

Sau đó, chạy người gửi :

người tiêu dùng sẽ in các tin nhắn mà họ nhận được từ nhà sản xuất qua Rabbitmq . Người tiêu dùng sẽ tiếp tục chạy khi chờ tin nhắn.

Hãy thử chạy producer trong một thiết bị đầu cuối khác để hiểu rõ hơn!

Xem thêm: Nằm mơ thấy rắn vàng đánh con gì, điềm báo gì? Rắn vàng rượt đuổi, vào

Tham khảo

  • Lợi ích của hàng đợi tin nhắn
  • Tìm hiểu về Rabbitmq
  • Người môi giới tin nhắn
  • Rabbitmq
  • Tìm hiểu về Rabbitmq
  • >

  • hướng dẫn Rabbitmq

Công khai: VUIHECUNGCHOCOPIE.VN là trang web Tổng hợp Ẩm Thực - Game hay và Thủ Thuật hàng đầu VN, thuộc Chocopie Vietnam. Mời thính giả đón xem.

Chúng tôi trân trọng cảm ơn quý độc giả luôn ủng hộ và tin tưởng!

Trả lời

Email của bạn sẽ không được hiển thị công khai.