• About us
  • Account
  • Digital Transformation
  • Thỏa Thuận Người Dùng
  • Login
  • Register
Industrial IoT & Smart Factory VN
Không có kết quả
Xem tất cả kết quả
  • Digital Transformation
  • Smart Factory
    • Tất cả
    • Asset Management
    • Automation & Robotics
    • ERP - PLM
    • Lean Manufacturing
    • Manufacturing Apps (MES/MOM)
    • Process & Operation
    • SCADA - IIoT

    Mô hình Nhà máy của tương lai ?

    Làm sao để kết nối thiết bị serial vào đám mây ?

    Đối đầu với đại dịch: Số hóa giúp duy trì các nhu cầu cơ bản của chúng ta trong cuộc sống

    Bạn cần hệ thống MES mở hay đóng ?

    Giải pháp IIoT tiêu chuẩn mở hay độc quyền phù hợp với bạn ?

    Hướng dẫn thay thế hệ thống MES thành công

  • Technology
    • Tất cả
    • AI
    • AR-VR
    • Blockchain
    • Cybersecurity
    • Data Analytics
    • Digital Twin
    • Edge Computing
    • Internet Of Things (IoT)
    • Machine Vision

    Lựa chọn Edge Computer phù hợp cho giải pháp AIoT công nghiệp

    AIoT là gì ? Vì sao bạn cần quan tâm đến AIoT ?

    IoT, AI và Blockchain đang thay đổi bối cảnh của ngành năng lượng tái tạo

    Làm sao để kết nối thiết bị serial vào đám mây ?

    Bạn cần hệ thống MES mở hay đóng ?

    Giải pháp IIoT tiêu chuẩn mở hay độc quyền phù hợp với bạn ?

  • IoT

    AIoT là gì ? Vì sao bạn cần quan tâm đến AIoT ?

    IoT, AI và Blockchain đang thay đổi bối cảnh của ngành năng lượng tái tạo

    Làm sao để kết nối thiết bị serial vào đám mây ?

    Bạn cần hệ thống MES mở hay đóng ?

    Giải pháp IIoT tiêu chuẩn mở hay độc quyền phù hợp với bạn ?

    Hướng dẫn thay thế hệ thống MES thành công

  • AI
  • Case Studies
    công ty công nghệ nước grundfos ra mắt ứng dụng dịch vụ mới tại Việt Nam

    Grundfos ra mắt ứng dụng dịch vụ mới tại Việt Nam

    Denso liên kết 130 nhà máy với giải pháp Cloud Native IoT

    Cách Rolls-Royce bảo trì động cơ phản lực với công nghệ IoT

    Một số vị dụ thực tiễn về số hóa và chuyển đổi số trong doanh nghiệp

    YARA OPERATIONS cải thiện OEE khi thực hiện số hóa sản xuất

    NTT cải tiến nền tảng công nghệ IoT và AR cho Tour de France 2020

    Công ty Kawasaki chuyển đổi số hoạt động kinh doanh của mình

    Nhà máy tự động của Audi tiến gần hơn đến công nghiệp 4.0 với Nền tảng Intelligent Edge của Intel

    Porsche Ứng dụng IoT và AI phân tích âm thanh hướng đến bảo trì dự đoán

  • Company & Solution
  • Account
    • Submit a Company Profile
  • About us
  • Digital Transformation
  • Smart Factory
    • Tất cả
    • Asset Management
    • Automation & Robotics
    • ERP - PLM
    • Lean Manufacturing
    • Manufacturing Apps (MES/MOM)
    • Process & Operation
    • SCADA - IIoT

    Mô hình Nhà máy của tương lai ?

    Làm sao để kết nối thiết bị serial vào đám mây ?

    Đối đầu với đại dịch: Số hóa giúp duy trì các nhu cầu cơ bản của chúng ta trong cuộc sống

    Bạn cần hệ thống MES mở hay đóng ?

    Giải pháp IIoT tiêu chuẩn mở hay độc quyền phù hợp với bạn ?

    Hướng dẫn thay thế hệ thống MES thành công

  • Technology
    • Tất cả
    • AI
    • AR-VR
    • Blockchain
    • Cybersecurity
    • Data Analytics
    • Digital Twin
    • Edge Computing
    • Internet Of Things (IoT)
    • Machine Vision

    Lựa chọn Edge Computer phù hợp cho giải pháp AIoT công nghiệp

    AIoT là gì ? Vì sao bạn cần quan tâm đến AIoT ?

    IoT, AI và Blockchain đang thay đổi bối cảnh của ngành năng lượng tái tạo

    Làm sao để kết nối thiết bị serial vào đám mây ?

    Bạn cần hệ thống MES mở hay đóng ?

    Giải pháp IIoT tiêu chuẩn mở hay độc quyền phù hợp với bạn ?

  • IoT

    AIoT là gì ? Vì sao bạn cần quan tâm đến AIoT ?

    IoT, AI và Blockchain đang thay đổi bối cảnh của ngành năng lượng tái tạo

    Làm sao để kết nối thiết bị serial vào đám mây ?

    Bạn cần hệ thống MES mở hay đóng ?

    Giải pháp IIoT tiêu chuẩn mở hay độc quyền phù hợp với bạn ?

    Hướng dẫn thay thế hệ thống MES thành công

  • AI
  • Case Studies
    công ty công nghệ nước grundfos ra mắt ứng dụng dịch vụ mới tại Việt Nam

    Grundfos ra mắt ứng dụng dịch vụ mới tại Việt Nam

    Denso liên kết 130 nhà máy với giải pháp Cloud Native IoT

    Cách Rolls-Royce bảo trì động cơ phản lực với công nghệ IoT

    Một số vị dụ thực tiễn về số hóa và chuyển đổi số trong doanh nghiệp

    YARA OPERATIONS cải thiện OEE khi thực hiện số hóa sản xuất

    NTT cải tiến nền tảng công nghệ IoT và AR cho Tour de France 2020

    Công ty Kawasaki chuyển đổi số hoạt động kinh doanh của mình

    Nhà máy tự động của Audi tiến gần hơn đến công nghiệp 4.0 với Nền tảng Intelligent Edge của Intel

    Porsche Ứng dụng IoT và AI phân tích âm thanh hướng đến bảo trì dự đoán

  • Company & Solution
  • Account
    • Submit a Company Profile
  • About us
Không có kết quả
Xem tất cả kết quả
Industrial IoT & Smart Factory VN
Không có kết quả
Xem tất cả kết quả
Trang chủ Technology Internet Of Things (IoT)

RabbitMQ là gì ?

13/10/2019
Trong Internet Of Things (IoT), Technical Article
0
RabbitMQ

RabbitMQ

45
Chia sẻ
445
Lượt xem

RabbitMQ là một message broker ( message-oriented middleware) sử dụng giao thức AMQP – Advanced Message Queue Protocol (Đây là giao thức phổ biến, thực tế rabbitmq hỗ trợ nhiều giao thức). Trong IoT đây là thuật ngữ bạn sẽ thường xuyên gặp trong một số platform thông dụng.

Platform Advantech sử dụng RabbitMQ để gửi và n nhận thông tin với các thiết bị IoT

RabbitMQ được lập trình bằng ngôn ngữ Erlang. RabbitMQ cung cấp cho lập trình viên một phương tiện trung gian để giao tiếp giữa nhiều thành phần trong một hệ thống lớn. RabbitMQ sẽ nhận message đến từ các thành phần khác nhau trong hệ thống, lưu trữ chúng an toàn trước khi đẩy đến đích.

Messaging là gì ?

Làm thế nào bạn có thể tích hợp nhiều ứng dụng để chúng làm việc cùng nhau và có thể trao đổi thông tin lẫn nhau

what is messaging

Đặc điểm của Messaging là gì ?

  • Asynchronous – Bất đồng bộ
  • Reliable – Đúng đắn
  • Durable – Bền vững
  • Routing – Định tuyến
  • Many message formats – Nhiều định dạng
  • Recipient pulls message from queue – Nhận thông báo từ hàng đợi

Lịch sử của Messaging

  • 1986 The Information Bus (TIB) developed
  • 1993 IBM MQSeries released
  • 1997 Microsoft MSMQ released
  • 2001 Java Messaging Service released

Tại sao Messaging lại không hoạt động

  • Nhắn tin đã có hàng thế kỷ
  • Giải pháp tin nhắn là chìa khóa cho rất nhiều hệ thống giải quyết các vấn đề về liên kết với nhau
  • Nhưng khó khăn của nó là:
    • Việc xây dựng hệ thống đó rất khó khăn
    • Việc mua và sử dụng chúng tốn rất nhiều tiền
    • Khó kết nối tới nhiều ứng dụng
    • Các nhà cung cấp đã cố gắng để xây dựng các sản phẩm quá phức tạp

AMQP là gì ?

  • Advanced Message Queue Protocol – Giao thức Message Queue nâng cao
  • Developed by JP Morgan Chase and iMatix
  • Open standard protocol for messaging – Mở giao thức chuẩn cho Messaging
  • Wire level protocol like HTTP
  • Vendor agnostic protocol for messaging systems

amqp logo

Lịch sử của AMQP

  • 2003 AMQP starts development at JP Morgan
  • 2005 AMQP working group formed
  • 2006 June AMQP 0-8 released December AMQP 0-9 released
  • 2006 Rabbit technologies formed RabbitMQ first release
  • 2011 AMQP 1.0 released by AMQP working group
  • October 2012 AMQP 1.0 approved as an OASIS standard

Chìa khóa chính của AMQP là gì

  • Message Broker
  • Exchanges
    • Direct
    • Fan-out
    • Topic
    • Headers
  • Queues
  • Bindings

Sơ đồ hoạt động của AMQP

Sơ đồ hoạt động của AMQP

Bài viết liên quan

Thách thức của giải pháp tích hợp dữ liệu ETL trong công nghiệp

Các hệ thống giao tiếp CÓ DÂY trong IoT

So sánh OPC-UA và MQTT : lựa chọn giao thức nào cho công nghiệp số ?

Apache Kafka là gì? Tìm hiểu và ứng dụng Apache Kafka cho hệ thống IoT

MQTT Sparkplug là gì ?

Trở thành đối tác cung cấp giải pháp IoT - Smart Factory Trở thành đối tác cung cấp giải pháp IoT - Smart Factory

AMQP Message Brokers

  • RabbitMQ
  • Windows Azure Service Bus
  • Apache Qpid
  • Apache ActiveMQ
  • SwiftMQ
  • StormMQ
  • WSO2 message broker
  • OpenAMQ

RabbitMQ là gì ?

RabbitMQ là một message broker ( message-oriented middleware) sử dụng giao thức AMQP – Advanced Message Queue Protocol (Đây là giao thức phổ biến, thực tế rabbitmq hỗ trợ nhiều giao thức). RabbitMQ được lập trình bằng ngôn ngữ Erlang. RabbitMQ cung cấp cho lập trình viên một phương tiện trung gian để giao tiếp giữa nhiều thành phần trong một hệ thống lớn. RabbitMQ sẽ nhận message đến từ các thành phần khác nhau trong hệ thống, lưu trữ chúng an toàn trước khi đẩy đến đích.

RabbitMQ chạy trên nhiều hệ điều hành, đám mây và cung cấp một loạt các công cụ dành cho nhà phát triển cho hầu hết các ngôn ngữ phổ biến.

Các Thuật ngữ liên quan đến RabbitMAQ

  • AMQP – Advanced Message Queueing Protocol
  • EAI – Enterprise Application Integration
  • BPM – Business Process Management
  • ESB – Enterprise Service Bus
  • SOA – Service Orientated Architecture
  • MOM – Message Orientated Middleware
  • WCF – Windows Communication Foundation

Tại sao lại sử dụng RabbitMQ

Chúng ta thử xem các message broker như rabbitmq đem lại lợi ích gì trong việc thiết kế ứng dụng. Trong một hệ thống phân tán (distributed system), có rất nhiều thành phần. Nếu muốn các thành phần này giao tiếp được với nhau thì chúng phải biết nhau. Nhưng điều này gây rắc rối cho việc viết code. Một thành phần phải biết quá nhiều đâm ra rất khó maintain, debug. Giải pháp ở đây là thay vì các liên kết trực tiếp, khiến các thành phần phải biết nhau thì sử dụng một liên kết trung gian qua một message broker. Với sự tham gia của message broker thì producer sẽ không hề biết consumer. Nó chỉ việc gửi message đến các queue trong message broker. Consumer chỉ việc đăng ký nhận message từ các queue này.

Tất nhiên, có thể có một giải pháp là sử dụng database để lưu các message trong các temporary table. Tuy nhiên xét về hiệu năng thì không thể bằng message broker vì một số lý do: Tần xuất trao đổi message cao sẽ làm tăng load của database, giảm performance đáng kể. Trong môi trường multithread, database cần có cơ chế lock. Lock cũng làm giảm performance. Sử dụng message broker sẽ không có vấn đề này.

Vì producer nói chuyện với consumer trung gian qua message broker nên dù producer và consumer có khác biệt nhau về ngôn ngữ thì giao tiếp vẫn thành công. Dù viết bằng java, python, php hay ruby… thì chỉ cần thỏa mãn giao thức với message broker thì thông suốt hết. HIện nay, rabbitmq cũng đã cung cấp client library cho khá nhiều các ngôn ngữ rồi. Tính năng này cho phép tích hợp hệ thống linh hoạt.

Một đặc tính của rabbitmq là asynchronous. Producer không thể biết khi nào message đến được consumer hay khi nào message được consumer xử lý xong. Đối với producer, đẩy message đến message broker là xong việc. Consumer sẽ lấy message về khi nó muốn. Đặc tính này có thể được tận dụng để xây dựng các hệ thống lưu trữ và xử lý log. ELK stack – Elasticsearch Logstash Kibana là một ví dụ. Đây là hệ thống được sử dụng trong môi trường DevOps khá hiệu quả. Giải quyết bài toán chia sẻ log của ứng dụng cho dev. Log được đẩy vào message broker rồi qua logstash lưu trữ vào elastic để đánh index. Sau đó index được kibana (một web interface) sử dụng để thực hiện truy vấn và hiển thị kết quả

alt text

Bản thân redis cũng có thể đảm nhận vai trò của message broker ( Dù cho mục đích ban đầu của nó không phải vậy. Đây là tính năng mở rộng sau này của redis ) Mô hình trên bạn có thể hoàn toàn thay redis queue bằng rabbitmq.

Bên cạnh các lợi ích kể trên, rabbitmq còn có nhiều tính năng thú vị khác như:

  • cluster: các bạn có thể gom nhiều rabbitmq instance vào một cluster. Một queue được đinh nghĩa trên một instance khi đó đều có thể truy xuất từ các instance còn lại. Có thể tận dụng để làm load balancing (tuy rằng có hạn chế, tôi sẽ nói sau)
  • high availibilty: cho phép failover khi sử dụng mirror queue.
  • reliability: có cơ chế ack để đảm bảo message được nhận bởi consumer đã được xử lý.

Mô hình hoạt động của RabbitMQ

alt text

Có thể hiểu message broker gần như bưu điện. Site A theo cách gọi của rabbitmq là producer (người gửi thông điệp). Site B và Site C theo cách gọi của rabbitmq là consumer (người nhận thông điệp). Producer connect đến message broker để đẩy message. Message sẽ đi qua message broker để đến được consumer. Cấu trúc của message broker chỉ gồm hai phần exchange và queue.

Exchange có nhiều loại. Trong hình vẽ trên exchange type là fanout. Lựa chọn các exchange type khác nhau sẽ dẫn đến khác đối xử khác nhau của message broker với thông điệp nhận được từ producer. Exchange được bind (liên kêt) đến một số queue nhất định. Với exchange type là fanout, message sẽ được broadcast đến các queue được bind với exchange. Consumer sẽ connect đến message broker để lấy message từ các queue.

Sơ đồ hoạt động của RabbitMQ

  • Producer: thực hiện quá trình gửi bản tin lên RabbitMQ server
  • Exchange: thực hiện nhiệm vụ phân phối bản tin, có 3 kiểu phân phối bản tin direct, topic, fanout
  • Queues: có nhiệm vụ lưu trữ bản tin được gửi lên
  • Consumber: thực hiện việc lấy các bản tin từ queue về

exchanges topic fanout directClient Libraries & Community Libraries

  • net/WCF
  • Java
  • Python
  • Ruby
  • Spring

Protocol Gateways

  • XMPP
  • Stomp
  • Smtp
  • Http

Ứng dụng thực tế của RabbitMQ

nghiệp vụ atm ngân hàng rabbitmq

 

Nguồn : https://www.mastercode.vn/blog/web-development/rabbitmq-la-gi-chia-khoa-giup-cac-he-thong-khac-nhau-ket-noi-va-mo-rong.99

 


Bài viết trên được biên soạn và chỉnh sửa bởi SmartFactoryVN.com . Các bạn sao chép xin ghi rõ nguồn bài viết.

Đăng ký để nhận Ebook

"Hướng dẫn cơ bản về IoT và Smart Factory"

Theo dõi để nhận những tin mới nhất về IoT và Smart Factory.

BẠN ĐÃ ĐĂNG KÝ THÀNH CÔNG !

Tags: Giao thuc MQTTMQTTRabbitMQ là gi
Share18Share3SendSendShare
Bài trước

Những điều cần biết khi triển khai hệ thống MES

Bài tiếp theo

Schneider Electric ra mắt nhà máy thông minh – smart factory tại Mỹ

Smart Industry VN

Smart Industry VN

I'm a Digital Business Journalist and IoT Consultant with Experience across many domains : - Automation & Robotics - Software Development - Industrial IoT & Digitalization

Bài viết Liên quan

AI

AIoT là gì ? Vì sao bạn cần quan tâm đến AIoT ?

23/01/2021
355
Blockchain

IoT, AI và Blockchain đang thay đổi bối cảnh của ngành năng lượng tái tạo

23/01/2021
393
Internet Of Things (IoT)

Làm sao để kết nối thiết bị serial vào đám mây ?

18/01/2021
350
Edge Computing

Bạn cần hệ thống MES mở hay đóng ?

23/01/2021
349
Bài tiếp theo

Schneider Electric ra mắt nhà máy thông minh - smart factory tại Mỹ

IBM cùng Lenovo áp dụng công nghệ Blockchain trong việc quản lý dịch vụ khách hàng

Please login to join discussion

Bài đọc nhiều nhất

Chuyển đổi số là gì ? Sự khác biệt giữa Số hoá và chuyển đổi số ?

16/01/2021
5.5k

Platform là gì ? Có những mô hình kinh doanh platform nào ?

16/01/2021
5.8k

Giao thức MQTT trong IoT là gì ? Những ứng dụng của MQTT như thế nào

23/01/2021
4.7k

Lora là gì ? Ứng dụng của mạng Lora là gì ?

23/01/2021
3.3k

IoT là gì ? Lịch sử và tiềm năng của công nghệ Internet vạn vật.

14/09/2020
1.7k

Smart Buildings Community

Become our solutions partners


 

Company & Solutions

Vina Aspire

15/10/2020
300

MIND IoT & Cloud

12/10/2020
300

FST Press

05/12/2020
300
3S Software

3S Soft

12/10/2020
300

THINK NEXT

16/01/2021
300

Đăng ký để được tư vấn giải pháp Smart Factory

Bài mới nhất

Workers meeting among boxes on conveyor belts in distribution warehouse --- Image by © David Leahy/Juice Images/Corbis

3 cách giúp các nhà sản xuất SMB có thể tồn tại trong những thời điểm không mong muốn

24/01/2021
306

Mô hình Nhà máy của tương lai ?

23/01/2021
335

Lựa chọn Edge Computer phù hợp cho giải pháp AIoT công nghiệp

21/01/2021
325

AIoT là gì ? Vì sao bạn cần quan tâm đến AIoT ?

23/01/2021
355

Năm 2020 Định hình lại Nơi làm việc, Năm 2021 Sẽ Định hình lại Lực lượng Lao động

20/01/2021
308

Thẻ

AGV AI BIG DATA Blockchain chuyen doi so cong nghiep 4.0 COVID-19 cybersecurity data analytics data lake digital factory digital transformation digital twin Drone EAM edge AI edge computing ERP he thong MES iiot Iot LORA Machine learning machine vision MES MQTT nha may thong minh OEE PLM Predictive Maintenance RFID robot robotics RPA RTLS scada smart building smart factory so hoa so hoa san xuat Tri tue nhan tao Ung Dung Drone ung dung iot Ung Dung RTLS Ứng dụng IoT trong sản xuất

SmartFactoryVN là trang Tin công nghệ chia sẻ thông tin để thúc đẩy quá trình chuyển đổi kỹ thuật số đang diễn ra trong lĩnh vực sản xuất và các ngành liên quan, thể hiện bằng sự hội tụ của thông tin và công nghệ vận hành cũng như các xu hướng công nghệ mới như Internet Công nghiệp (IIoT ), phân tích dữ liệu lớn và AI.

 

Navigation

  • Số hóa và chuyển đổi số
  • Smart Factory
  • AI
  • Data Analytics
  • Automation & Robotics
  • Internet Of Things (IoT)
  • SCADA – IIoT
  • Edge Computing
  • Cybersecurity
  • Company & Solution
  • Company profile Submit
  • About us

Số hóa và Chuyển đổi số

Tiêu chuẩn OPC UA – Giao thức nền tảng cho Smart Factory và Industry 4.0

16/01/2021
511

5 bước để số hoá trong sản xuất

16/01/2021
383

Đối đầu với đại dịch: Số hóa giúp duy trì các nhu cầu cơ bản của chúng ta trong cuộc sống

17/01/2021
326

  • About us
  • Account
  • Digital Transformation
  • Thỏa Thuận Người Dùng

© 2020 SmartFactory VN.

Không có kết quả
Xem tất cả kết quả
  • Digital Transformation
  • Smart Factory
  • Technology
  • IoT
  • AI
  • Case Studies
  • Company & Solution
  • Account
    • Submit a Company Profile
  • About us

© 2020 SmartFactory VN.

Welcome Back!

Sign In with Facebook
OR

Login to your account below

Forgotten Password? Sign Up

Create New Account!

Sign Up with Facebook
OR

Fill the forms bellow to register

All fields are required. Log In

Retrieve your password

Please enter your username or email address to reset your password.

Log In
vi Vietnamese
zh-CN Chinese (Simplified)en Englishfr Frenchja Japanesevi Vietnamese

Chào bạn ! Nếu đây là lần đầu bạn ghé website, Hãy để lại thông tin để được nhận Ebook "IoT & Smart Factory" và cập nhật tin tức mới nhất mỗi tuần nhé.

Bạn đã đăng ký thành công ! Xin kiểm tra email để hoàn tất !

error: Alert: Content is protected !!