# Програмний модуль @molfar/amqp-client | Вступ
Програмний модуль @molfar/amqp-client – "Програмний модуль для реалізації взаємодії мікросервісів за допомогою передачі повідомлень", який написаний мовою програмування JavaScript та заснований на бібліотеці AMQP 0-9-1 (opens new window), призначений для забезпечення обміну повідомленнями між компонентами системи та забезпечення повної функціональної сумісністі та взаємодії між мікросервісами – відповідними клієнтськими додатками (також званими «клієнтами») та серверами проміжного програмного забезпечення (також званими «брокерами»), які здійснюють маршрутизацію, гарантують доставку, розподіл потоків повідомлень та підписку на потрібні типи повідомлень.
# Зміст
- Позначення та найменування програмного модуля
- Програмне забезпечення, необхідне для функціонування програмного модуля
- Функціональне призначення
- Опис логічної структури
- Використовувані технічні засоби
- Виклик та завантаження
Позначення та найменування програмного модуля
Програмний модуль має позначення "@molfar/amqp-client".
Повне найменування програмного модуля – "Програмний модуль для реалізації взаємодії мікросервісів за допомогою передачі повідомлень".
Програмне забезпечення, необхідне для функціонування програмного модуля
Для функціонування програмного модуля, написаного мовою програмування JavaScript, необхідне наступне програмне забезпечення та пакети:
@adobe/jsonschema2md
v6.1.4 (opens new window)@molfar/msapi-schemas
v1.0.1 (opens new window)Ajv JSON schema validator
v8.6.3 (opens new window)ajv-errors
v3.0.0 (opens new window)ajv-formats
v2.1.1 (opens new window)amqp-client.js
v1.1.6 (opens new window)AMQP 0-9-1 library and client for Node.JS
v0.8.0 (opens new window)amqplib-plus
v1.0.9 (opens new window)eslint
v8.2.0 (opens new window)eslint-config-airbnb-base
v15.0.0 (opens new window)eslint-config-prettier
v8.3.0 (opens new window)eslint-plugin-import
v2.25.3 (opens new window)eslint-plugin-prettier
v4.0.0 (opens new window)eslint-plugin-vue
v8.0.3 (opens new window)deep-extend
v0.6.0 (opens new window)Docker
v20.10 (opens new window)express
v4.17.1 (opens new window)jest
v27.2.5 (opens new window)jest-cli
v27.3.1 (opens new window)jest-html-reporters
v2.1.6 (opens new window)jest-openapi
v0.14.0 (opens new window)jest-stare
v2.3.0 (opens new window)js-yaml
v4.1.0 (opens new window)jsdoc-to-markdown
v7.0.1 (opens new window)Kubernetes
v1.22.4 (opens new window)lodash
v4.17.21 (opens new window)mock-amqplib
v1.4.0 (opens new window)Node.js
v16.13.0 (opens new window)nodemon
v2.0.15 (opens new window)prettier
v2.4.1 (opens new window)prism-themes
v1.9.0 (opens new window)prom-client
v14.0.1 (opens new window)regenerator-runtime
v0.13.9 (opens new window)require-yml
v2.0.0 (opens new window)uuid
v8.3.2 (opens new window)VuePress
v1.8.2 (opens new window)vuepress-theme-cool
v1.3.1 (opens new window)widdershins
v4.0.1 (opens new window)
Функціональне призначення
Програмний модуль призначений для забезпечення обміну повідомленнями між компонентами системи та забезпечення повної функціональної сумісністі та взаємодії між мікросервісами – відповідними клієнтськими додатками (також званими «клієнтами») та серверами проміжного програмного забезпечення (також званими «брокерами»), які здійснюють маршрутизацію, гарантують доставку, розподіл потоків повідомлень, підписку на потрібні типи повідомлень.
Опис логічної структури
Програмний модуль складається з:
Publisher
– клієнтський додаток, який відправляє повідомленняAMQP-Manager
– сервер проміжного програмного забезпечення, що складається зExchange
таMessage queue
Exchange
– здійснюює маршрутизацію, гарантує доставку, розподіл потоків повідомлень, підписку на потрібні черги повідомленьMessage queue
– черга повідомленьConsumer
– клієнтський додаток, який споживає повідомлення
Повідомлення від Publisher
відправляються до AMQP manager
, який завдяки Exchange
розподіляє повідомлення в одну або кілька черг повідомлень Message queue
, які зберігають повідомлення, поки вони не будуть безпечно оброблені клієнтським додатком (або декількома клієнтськими додатками) Consumer
, який споживає повідомлення.
Використовувані технічні засоби
Програмний модуль експлуатується на сервері під управлінням Node.js
. В основі управління всіх сервісів є система оркестрації Kubernetes
, де всі контейнери працюють з використанням Docker
.
Виклик та завантаження
Завантаження програмного модуля забезпечується шляхом запуску через планувальник задач – Task Scheduler
.
Вимоги →