Аналіз використання redis в розподіленій системі обробки замовлень в мережі ресторанів
DOI:
https://doi.org/10.15587/2706-5448.2021.238460Ключові слова:
мікросервіс, сервісно-орієнтована архітектура, обробка замовлень, Redis, розробка програмного забезпечення, програмна інженеріяАнотація
Об'єктом дослідження є розподілена система обробки замовлень мережі ресторанів. Предметом дослідження – аналіз використання Redis для управління чергами подій в розподілених системах.
При реалізації розподіленої системи обробки замовлень в мережі ресторанів з можливим навантаженням до 20 000 користувачів в день була використана система Redis. Через Redis було організовано управління 9 розподіленими підсистемами. Дане рішення показало підвищення швидкодії роботи системи під великим навантаженням (від 50 транзакцій в секунду), але час відповіді системи в окремих випадках її функціонування був більшим, ніж без використання Redis. При роботі систем з використанням Redis необхідно враховувати обсяг даних, з якими буде працювати Redis, так як він не перевищує обсягу оперативної пам'яті, відсутність розмежування на користувачів і групи, і відсутність мови запитів, яка замінена на схему «ключ-значення».
Дане дослідження спрямоване на аналіз роботи системи під час дослідної експлуатації під реальним навантаженням. Проводилось порівняння роботи налаштованої системи з включеною та вимкненою системою Redis. Основними показниками були час відповіді системи та максимальний час виконання запиту. Дослідження проводилося протягом 2 тижнів, в перший тиждень використовувалося настройки системи з відключеним Redis, на другий – з включеним Redis. Було відібрано 2 дні з подібним один до одного навантаженням на систему. Особливо показовими є результати порівняння значень тривалості найдовших запитів, які показують практично незмінне значення тривалості для системи в режимі включеного Redis. Підтвердилася гіпотеза про збільшення часу відповіді системи на малих завантаженнях, але це значення не тільки вирівнялося при навантаженні від 500 унікальних користувачів, а також стало менше на навантаженнях від 1000 унікальних користувачів
Посилання
- Ji, Z., Ganchev, I., O’Droma, M., Ding, T. (2014). A Distributed Redis Framework for Use in the UCWW. 2014 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery. doi: https://doi.org/10.1109/cyberc.2014.50
- Reagan, R. (2017). Redis Cache. Web Applications on Azure, 257–300. doi: https://doi.org/10.1007/978-1-4842-2976-7_7
- Artamonov, Ye. B., Bieliakov, O. O. (2013). Elektronni skhovyshcha danykh iz zakhyshchenym dostupom. Naukoiemni tekhnolohiyi, 4 (20), 402–405.
- Vural, H., Koyuncu, M., Guney, S. (2017). A Systematic Literature Review on Microservices. Lecture Notes in Computer Science, 203–217. doi: https://doi.org/10.1007/978-3-319-62407-5_14
- Jamshidi, P., Pahl, C., Mendonca, N. C., Lewis, J., Tilkov, S. (2018). Microservices: The Journey So Far and Challenges Ahead. IEEE Software, 35 (3), 24–35. doi: https://doi.org/10.1109/ms.2018.2141039
- Di Francesco, P., Lago, P., Malavolta, I. (2019). Architecting with microservices: A systematic mapping study. Journal of Systems and Software, 150, 77–97. doi: https://doi.org/10.1016/j.jss.2019.01.001
- Auer, F., Lenarduzzi, V., Felderer, M., Taibi, D. (2021). From monolithic systems to Microservices: An assessment framework. Information and Software Technology, 137, 106600. doi: https://doi.org/10.1016/j.infsof.2021.106600
- Dragoni, N., Lanese, I., Larsen, S. T., Mazzara, M., Mustafin, R., Safina, L. (2018). Microservices: How To Make Your Application Scale. Perspectives of System Informatics, 95–104. doi: https://doi.org/10.1007/978-3-319-74313-4_8
- Liu, F., Li, J., Wang, Y., Li, L. (2019). Kubestorage: A Cloud Native Storage Engine for Massive Small Files. 2019 6th International Conference on Behavioral, Economic and Socio-Cultural Computing (BESC). doi: https://doi.org/10.1109/besc48373.2019.8962995
- Chen, S., Tang, X., Wang, H., Zhao, H., Guo, M. (2016). Towards Scalable and Reliable In-Memory Storage System: A Case Study with Redis. 2016 IEEE Trustcom/BigDataSE/ISPA. doi: https://doi.org/10.1109/trustcom.2016.0255
##submission.downloads##
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія
Авторське право (c) 2021 Valerii Tkachenko, Svetlana Lukianiuk
![Creative Commons License](http://i.creativecommons.org/l/by/4.0/88x31.png)
Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License.
Закріплення та умови передачі авторських прав (ідентифікація авторства) здійснюється у Ліцензійному договорі. Зокрема, автори залишають за собою право на авторство свого рукопису та передають журналу право першої публікації цієї роботи на умовах ліцензії Creative Commons CC BY. При цьому вони мають право укладати самостійно додаткові угоди, що стосуються неексклюзивного поширення роботи у тому вигляді, в якому вона була опублікована цим журналом, але за умови збереження посилання на першу публікацію статті в цьому журналі.