МІКРОСЕРВІСНА АРХІТЕКТУРА ПОБУДОВИ РОЗПОДІЛЕНИХ АВТОМАТИЗОВАНИХ ОБЧИСЛЕНЬ ВИСОКОЇ ДОСТУПНОСТІ У ХМАРНІЙ ІНФРАСТРУКТУРІ

Автор(и)

DOI:

https://doi.org/10.30837/ITSSI.2021.17.013

Ключові слова:

висока доступність, хмарні технології, розподілена інфраструктура, автоматизовані обчислення, економія ресурсів та коштів, ітераційні алгоритми, Mathematica, Kafka, Telegram

Анотація

Стаття присвячена дослідженню та розробці розподіленої системи автоматизованих обчислень високої доступності ітераційними алгоритмами на базі мікросервісної архітектури у хмарній інфраструктурі. Предметом дослідження є практичні засади побудови систем автоматизованих розрахунків високої доступності, що засновані на мікросервісній архітектурі у розподіленій інфраструктурі на базі хмарних технологій. Метою статті є розробка та обґрунтування практичних рекомендацій щодо формування інфраструктури системи автоматизованих обчислень високої доступності на базі мікросервісної архітектури, вибору її складових елементів та їх компонентів. Завдання роботи: виявити необхідні структурні елементи мікросервісної системи автоматизованих обчислень та надати для кожного з них аналіз складових компонентів та функціонального навантаження, поставити конкретні задачі для побудови кожного із них та обґрунтувати вибір інструментів для їх вирішення. У ході дослідження використано методи системного аналізу для декомпозиції складної системи на елементи та кожного елемента на функціональні компоненти, та засоби: інформаційні технології Apache Kafka, Kafkacat, Wolfram Mathematica, nginx, Lumen, Telegram, Dropbox, MySQL. У результаті дослідження встановлено, що інфраструктура системи має складатися з: відмовостійкого міжсервісного транспорту, мікросервісу обчислень високої доступності, та мікросервісів зв’язку із кінцевими клієнтами, що зберігають або обробляють результати. Для кожного з них надані рекомендації щодо формування та вибору інструментарію для побудови. За отриманими рекомендаціями розроблений один із варіантів такої системи, показані принципи її роботи та наведені результати. Доведено, що при використанні черги Kafka ефективною є публікація пакетів результатів, а не по одному, що призводить до значних перевитрат ресурсів серверів черги та затримкам даних для її клієнтів. Дані рекомендації щодо впровадження системи CI/CD для побудови безперервного циклу додавання та вдосконалення мікросервісів. Висновки. Розроблені практичні основи для реалізації систем розподілених автоматизованих обчислень високої доступності на базі мікросервісної архітектури у хмарній інфраструктурі. Показана гнучкість у обробці результатів такої системи через можливість доповнення її мікросервісами та використання сторонніх аналітичних додатків, що підтримують завантаження даних із черги Kafka. Показана економічна вигода від використання описаної системи. Наведені майбутні шляхи її вдосконалення.

Біографія автора

Denis Zolotariov

кандидат фізико-математичних наук

Посилання

Lichtenthäler, R., Prechtl, M., Schwille, C. et al (2020), "Requirements for a model-driven cloud-native migration of monolithic web-based applications", SICS Softw.-Inensiv. Cyber-Phys. Syst., Vol. 35, P. 89–100. DOI: https://doi.org/10.1007/s00450-019-00414-9

Fernández-García, A. J., Iribarne, L., Corral, A. et al. (2019), "A microservice-based architecture for enhancing the user experience in cross-device distributed mashup UIs with multiple forms of interaction", Univ Access Inf Soc, Vol. 18, P. 747–770. DOI: https://doi.org/10.1007/s10209-017-0606-0

Bucchiarone, A., Dragoni, N., Dustdar, S., Larsen, S. T., Mazzara, M. (2018), "From Monolithic to Microservices: An Experience Report from the Banking Domain,", IEEE Software, Vol. 35, No. 3, P. 50–55, DOI: 10.1109/MS.2018.2141026.

Alaasam, A. B., Radchenko, G., Tchernykh, A. et al. (2020), "Analytic Study of Containerizing Stateful Stream Processing as Microservice to Support Digital Twins in Fog Computing", Program Comput Soft, Vol. 46, P. 511–525. DOI: https://doi.org/10.1134/S0361768820080083

Kim, Y. K., Kim, Y., Jeong, C. S. (2018), "RIDE: real-time massive image processing platform on distributed environment", EURASIP Journal on Image and Video Processing, Vol. 2018, No. 39. DOI: https://doi.org/10.1186/s13640-018-0279-5

Santana, C., Andrade, L., Delicato, F.C. et al. (2020), "Increasing the availability of IoT applications with reactive microservice", SOCA. DOI: https://doi.org/10.1007/s11761-020-00308-8

Razzaq, A. A (2020), "Systematic Review on Software Architectures for IoT Systems and Future Direction to the Adoption of Microservices Architecture", SN COMPUT. SCI, Vol. 1, Article 350. DOI: https://doi.org/10.1007/s42979-020-00359-w

Zolotariov, D. (2020), "The distributed system of automated computing based on cloud infrastructure", Innovative Technologies and Scientific Solutions for Industries, No. 4 (14), P. 47–55. DOI: https://doi.org/10.30837/ITSSI.2020.14.047

Zolotariov D., Nerukh A. (2011), "Extension of the approximation functions method for 2d nonlinear Volterra integral equations", Applied Radio Electronics, Vol. 10, No. 1, P. 39–44.

Nerukh, A. G., Zolotariov, D. A., Nerukh, D. A. (2012), "Properties of decelerating non-diffractive electromagnetic Airy pulses", Applied Radio Electronics, Vol. 11, No. 1, P. 77–81.

Nerukh, A., Zolotariov, D., Benson T. (2015), "The approximating functions method for nonlinear Volterra integral equations", Optical and Quantum Electronics, Vol. 47, P. 2565–2575. DOI: https://doi.org/10.1007/s11082-015-0141-2

Nerukh, A., Zolotariov, D., Kuryzheva, O., Benson T. (2016), "Dynamics of decelerating pulses at a dielectric layer", Optical and Quantum Electronics, Vol. 48, No. 89. DOI: https://doi.org/10.1007/s11082-016-0386-4

Apache Kafka (2021), "Apache Kafka", available at: https://kafka.apache.org/documentation/ (last accessed 10 January 2021).

GitHub (2021), "Ultimate Comparison", available at: https://ultimate-comparisons.github.io/ultimate-message-broker-comparison/ (last accessed 10 January 2021)

Wolfram (2021), "Wolfram Mathematica: Modern technical calculations", available at: https://www.wolfram.com/mathematica/ (last accessed 10 January 2021).

You, X., Chen, D. R. (2018), "A new sequence convergent to Euler–Mascheroni constant", Journal of Inequalities and Applications, Vol. 2018, Article 75. DOI: https://doi.org/10.1186/s13660-018-1670-6

Ghorbani, M. A., Singh, V. P., Sivakumar, B. et al. (2017), "Probability distribution functions for unit hydrographs with optimization using genetic algorithm", Applied Water Science, Vol. 7, P. 663–676. DOI: https://doi.org/10.1007/s13201-015-0278-y

Rehman, S., Idrees, M., Shah, R. A. et al. (2019), "Suction/injection effects on an unsteady MHD Casson thin film flow with slip and uniform thickness over a stretching sheet along variable flow properties", Boundary Value Problems, Vol. 2019, No. 26. DOI: https://doi.org/10.1186/s13661-019-1133-0

Zolotariov, D. (2021), "The mechanism for creation of event-driven applications based on Wolfram Mathematica and Apache Kafka", Innovative Technologies and Scientific Solutions for Industries, No. 1 (15), P. 53–58. DOI: https://doi.org/10.30837/ITSSI.2021.15.053

Zolotariov, D. (2021), "The platform for creation of event-driven applications based on Wolfram Mathematica and Apache Kafka", Innovative Technologies and Scientific Solutions for Industries, No. 2 (16), P. 12–18. DOI: https://doi.org/10.30837/ITSSI.2021.16.012

GitHub (2021), "edenhill/kafkacat: Generic command line non-JVM Apache Kafka producer and consumer", available at: https://github.com/edenhill/kafkacat (last accessed 10 January 2021).

GitHub (2021), "mathworks-ref-arch/matlab-apache-kafka: MATLAB Interface for Apache Kafka", available at: https://github.com/mathworks-ref-arch/matlab-apache-kafka (last accessed 10 January 2021).

Apache Software Foundation (2021), "Clients - Apache Kafka", available at: https://cwiki.apache.org/confluence/display/KAFKA/Clients (last accessed 5 January 2021).

GitHub (2021), "dspeterson/dory: Producer daemon for Apache Kafka", available at: https://github.com/dspeterson/dory (last accessed 10 January 2021).

Confluent Documentation (2021), "Confluent REST APIs", available at: https://docs.confluent.io/platform/current/kafka-rest/index.html (last accessed 10 January 2021).

##submission.downloads##

Опубліковано

2021-10-20

Як цитувати

Zolotariov, D. (2021). МІКРОСЕРВІСНА АРХІТЕКТУРА ПОБУДОВИ РОЗПОДІЛЕНИХ АВТОМАТИЗОВАНИХ ОБЧИСЛЕНЬ ВИСОКОЇ ДОСТУПНОСТІ У ХМАРНІЙ ІНФРАСТРУКТУРІ. СУЧАСНИЙ СТАН НАУКОВИХ ДОСЛІДЖЕНЬ ТА ТЕХНОЛОГІЙ В ПРОМИСЛОВОСТІ, (3 (17), 13–22. https://doi.org/10.30837/ITSSI.2021.17.013