Tìm hiểu về Apache ActiveMQ
Apache
14
White

Cường Nguyễn viết ngày 22/01/2020

ActiveMQ là gì? Tại sao ta lại cần đến nó?

Trước khi bàn đến ActiveMQ tôi xin đề cập đến Producer–Consumer pattern để trả lời câu hỏi thứ 2.

Để dễ hiểu ta có thể hình dung một tình huống như sau:

Việc xếp hàng để thực hiện một hành vi nào đấy là rất phổ biến, ví dụ như xếp hàng mua vé tàu, người mua vé phải xếp hàng dài đợi chờ rất lâu để có thể mua vé tàu, vì việc này phải xử lý tuần tự, người này mua xong mới tới người khác. Trong kỹ thuật người ta gọi đây là xử lý Synchronized tức là xử lý đồng bộ.

alt text

Với một vài trường hợp như các tác vụ là độc lập không cần chờ nhau, thì việc này sẽ gây ra việc tắc nghẽn hệ thống vì task vụ trước phải sử lý xong với đến tác vụ sau.

Để giải quyết tình huống này ta có thể xây dựng một hệ thống tiếp nhận yêu cầu liên tục mà không cần xử lý ngay, rồi dữ liệu sẽ được rút ra rồi xử lý dần dần như cái cabinet trong hình sau.

alt text

Trong kỹ thuật người ta gọi đây là xử lý bất đồng bộ as-Synchronized

Việc này sẽ giúp cho việc hệ thống có thể nhận yêu cầu liên tục từ “Customer” mà không cần chờ đợi, tác vụ sẽ được “Worker” xử lý dần cho đến khi các tác vụ được xử lý hết.

Nhưng sẽ có tình huống quá nhiều yêu cầu mà Worker không xử lý kịp, dẫn đến cabinet bị đầy và việc tiếp nhận sẽ bị chậm đi, để giải quyết việc này ta có thể bổ xung thêm nhiều Worker hoặc chia ra thành nhiều cabinet mỗi cabinet có một Worker.

alt text

Vần đề nêu trên trong lập trình người ta gọi là Producer–Consumer Problem. Producer ở đây là khách hàng, người gửi yêu cầu, còn Consumer ở đây được hiểu là Worker người xử lý yêu cầu của khách hàng, còn cái cabinet chưa yêu cầu được gọi là Queue.

alt text

Bây giờ về lại với chủ đề chính là ActiveMQ. ActiveMQ là một Message-oriented middleware (MOM) giúp cho việc chuyển nhận message theo cơ chế queue as-Synchronized dùng để giải quyết Producer-Consumer Problem. Điểm mạnh của ActiveMQ ta có thể dùng để gửi nhận message với nhiều hệ thông với các nền tảng khác nhau, đúng như tên gọi “Hệ thống trung gian chuyển tải gói tin”.

alt text

Các thành phần chính trong ActiveMQ

Producer/Publisher: Thành phần tạo và gửi tin (ActiveMQ-Client).
Broker trung gian hay Message Oriented Middleware (MOM) (ActiveMQ-Broker).
Consumer/Subcriber: Thành phần nhận tin từ Producer thông qua MOM (ActiveMQ-Client).

Cơ bản là như vậy , bài sau mình sẽ có demo cho các bạn nhé .

Tham khảo : https://techzones.me/linux/apache-activemq/

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Cường Nguyễn

21 bài viết.
63 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
8 4
Đây là chủ đề mình thích nhất, mỗi tuần mình dành ra 12h rãnh để viết 1 Dockerfile mình thích, sẵn để sau này có mà dùng không phải viết lại hiện ...
Cường Nguyễn viết 5 tháng trước
8 4
White
6 2
Nginx một web services khá mạnh cho hiện tượng C10k . Có rất nhiều cấu hình của nó mà mình đã xem qua . Đa phần sysadmin không tìm hiểu kỹ về nó , ...
Cường Nguyễn viết 10 tháng trước
6 2
White
4 2
Vấn đề bảo mật thông tin không chỉ đơn thuần là việc chống lại các cuộc tấn công từ hacker, ngăn chặn malware để đảm bảo thông tin không bị phá hủy...
Cường Nguyễn viết gần 2 năm trước
4 2
Bài viết liên quan
Male avatar
0 0
Nếu bạn gặp phải trường hợp không sử dụng được các thư viện phpmysql, hash, mcrypt mặc dù bạn đã open extention này ở trong php.ini thì hãy tham k...
skul169 viết gần 4 năm trước
0 0
Male avatar
7 2
Apache Bench ➜ ab t 5 c 20 https://www.google.com/ This is ApacheBench, Version 2.3 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www....
tuhoanggggg viết gần 5 năm trước
7 2
White
1 0
Cho mình xin quảng cáo một tí xíu trước khi bắt đầu nha :smile: (Link) Đối với các anh chị em Web Developer thì không còn xa lạ với Apache, Web S...
Hùng Phạm viết hơn 1 năm trước
1 0
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
21 bài viết.
63 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!