Проектування та реалізація розподіленої системи з використанням оркестратору на базі парадигми потоків даних
DOI:
https://doi.org/10.15587/2706-5448.2020.205151Ключові слова:
парадигма керування потоками даних, розподілені системи, високопотужні обчислення, пристрої інтернету речей, хореографія мікросервісів.Анотація
Об’єктом дослідження даної роботи є розподілені системи під управлінням оркестратору на базі парадигми керування потоками даних, а також методи управління мікросервісами. Одним з найбільш проблемних місць сучасних розподілених систем є вибір методу управління логікою роботи мікросервісів та процесами взаємодії між ними. Існуючі концепції оркестрації та хореографії мікросервісів не дозволяють в повній мірі ефективно використовувати та розподіляти навантаження рівномірно по всій системі, що пов’язано у першу чергу з наявністю гетерогенного характеру розподіленого середовища.
В рамках дослідження пропонується концепція гібридної оркестрації на основі парадигми керування потоками даних. Даний підхід дозволяє використовувати оркестратор лише для ініціації «хвилі» обчислень по дереву мікросервісів, а за подальше обчислення та розповсюдження даних несуть відповідальність самі мікросервіси. Даний підхід, на відміну від інших, поєднав у собі більш оптимальні якості оркестрації: просте та зрозуміле, на кожному етапі обчислення, управління системою, координованість дій мікросервісів. Також, використання спеціалізованого гібридного оркестратора усунуло один з головних недоліків, а саме – зменшило відповідальність та кількість обчислювального навантаження, покладених на оркестратор розподіленої системи, та вузли обчислень. В результаті проведення експерименту з використанням розподіленої системи з оркестратором на базі парадигми керування потоками даних було досягнуто зменшення у кілька разів навантаження на сам оркестратор. Це дало можливість використовувати мікроконтролери типу ESP8266, ESP32, Raspberry Pi у якості розподіленої системи. Такі мікроконтролери можуть виступати не тільки оркестраторами, але й вузлами обчислень (dataflow nodes). У той же час, парадигма управління потоками даних дозволяє рівномірно та максимально ефективно розподіляти навантаження по системі за рахунок того, що вхідні дані системи подаються у вигляді обчислювального графу, де кожен вузол представляє собою окремий мікросервіс.
Посилання
- Dragoni, N., Giallorenzo, S., Lafuente, A. L., Mazzara, M., Montesi, F., Mustafin, R., Safina, L. (2017). Microservices: yesterday, today, and tomorrow. Present and ulterior software engineering. Cham: Springer, 195–216. doi: http://doi.org/10.1007/978-3-319-67425-4_12
- Petrenko, A. I., Bulakh, B. V. (2018). Intelligent Service Discovery and Orchestration. Proc. of 2018 IEEE First International Conference on System Analysis and Intelligent Computing (SAIC). Kyiv, 201–205. doi: http://doi.org/10.1109/saic.2018.8516723
- Petrenko, A., Bulakh, B. (2019). Automatic Service Orchestration for e-Health Application. Advances in Science, Technology and Engineering Systems Journal, 4 (4), 244–250. doi: http://doi.org/10.25046/aj040430
- Petrenko, O. O. (2015). Porivniannia typiv arkhitektury system servisiv. Systemni doslidzhennia i informatsiini tekhnolohii, 4, 48–62.
- Kharchenko, K. V. (2016). An Architecture and Test Implementation of Data Flow Virtual Machine. System Analysis and Informatin Technology Conference. Kyiv: IASA NTUU-KPI, 268.
- Kharchenko, K., Beznosyk, O., Romanov, V. (2018). Implementation of Neural Networks with Help of a Data Flow Virtual Machine. 2018 IEEE Second International Conference on Data Stream Mining & Processing (DSMP), 407–409. doi: http://doi.org/10.1109/dsmp.2018.8478455
- Kharchenko, K., Beznosyk, O., Romanov, V. (2017). A set of instructions for data flow virtual machine. 2017 IEEE First Ukraine Conference on Electrical and Computer Engineering (UKRCON). Kyiv, 931–934. doi: http://doi.org/10.1109/ukrcon.2017.8100385
- Netflix Conductor. Available at:https://netflix.github.io/conductor/
- Zeebe. Available at:https://docs.zeebe.io/index.html
- Uber Cadence. Available at:https://cadenceworkflow.io/
##submission.downloads##
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія
Авторське право (c) 2020 Yevhenii Kubiuk, Kostiantyn Kharchenko
Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License.
Закріплення та умови передачі авторських прав (ідентифікація авторства) здійснюється у Ліцензійному договорі. Зокрема, автори залишають за собою право на авторство свого рукопису та передають журналу право першої публікації цієї роботи на умовах ліцензії Creative Commons CC BY. При цьому вони мають право укладати самостійно додаткові угоди, що стосуються неексклюзивного поширення роботи у тому вигляді, в якому вона була опублікована цим журналом, але за умови збереження посилання на першу публікацію статті в цьому журналі.