Архітектура веб-додатків для кластера Kubernetes на хмарній платформі Google із горизонтальним автоматичним масштабуванням
DOI:
https://doi.org/10.20535/1560-8956.39.2021.247417Ключові слова:
мікросервісна архітектура, Kubernetes, горизонтальне масштабування, Google Cloud Platform, Google Pub-Sub, Spring Boot, JavaАнотація
У статті розглянуто архітектуру Веб-додатку із розподіленням компонентів додатку на 2 шари, пов’язаних системою передачі повідомлень, та використанням балансування навантаження за допомогою горизонтального масштабування у хмарному кластері Kubernetes з використанням інформації про довжину черги, що дозволяє збільшити ефективність використовуваних ресурсів в системі. Актуальність теми зумовлена поширенням використання різних веб-сервісів та веб-додатків, через що зростає навантаження на них, що в свою чергу може призвести до затримок у роботі або навіть виходу з ладу цих сервісів. А тому стають вкрай важливими питання створення надійних, відмовостійких та спроможних до масштабування систем. Якщо навантаження є більшим, ніж система або сервіс може витримати, то це може спричинити відмову в обслуговуванні або припинення роботи сервісу. Також навантаження може нерівномірно
розподілятися на сервіси протягом певного проміжку часу, а тому, навіть, якщо система матиме достатньо ресурсів, щоб витримувати високе навантаження, то в періоди низького навантаження ці ресурси не будуть використовуватися, а з цього випливають проблеми неефективного використання ресурсів, а також перевитрата коштів. Запропоновану
систему було розгорнуто в хмарному середовищі Google Cloud. Компоненти серверної частини Веб-додатку групуються на 2 шари. Мікросервісні компоненти першого шару проводять розбір HTTP запитів клієнтів та передають повідомлення на компоненти другого шару із використанням системи передачі повідомлень Google Pub-Sub. На компоненти другого шару пропонується виносити всі відносно «важкі» операції. Для чисельного експерименту було реалізовано систему із використанням алгоритмом горизонтального масштабування мікросервісів на основі поточної кількості повідомлень
у черзі. Було виконано навантажувальне тестування системи, яке показало, що створена система здатна оброблювати більш, ніж у 2 рази більшу кількість запитів за однаковий проміжок часу порівняно з системою без масштабування.
Бібл. 6, іл. 7, табл. 1.
Посилання
McCarthy J. Cloud computing implements the idea of utility computing, 2008. URL: https://computinginthecloud.wordpress.com
/2008/09/25/utility-cloud-computingflashback-to-1961-prof-john-mccarthy.
Zharikov E., Telenyk S., Bidyuk P. Adaptive Workload Forecasting in Cloud Data Centers // Journal of Grid Computing, 2019. URL: https://doi.org/10.1007/s10723-019-09501-2
Telenyk S., Zharikov E., Rolik O. An Integrated Approach to Cloud Data Center Resource Management // Problems of Infocommunications Science and Technology. 4th International Scientific-Practical Conference. – IEEE, 2017. – pp. 211-218. DOI:10.1109/INFOCOMMST.2017.8246382
Horizontal Pod Autoscaler. URL: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale.
Prodan S. Component interaction for metric collection and storage. URL:https://stefanprodan.com/2018/kubernetes-horizontal-pod-autoscaler-prometheus-metrics.
Weibel. D. How to autoscale apps on Kubernetes with custom metrics — 2019. URL: https://learnk8s.io/autoscaling-apps-kubernetes
##submission.downloads##
Опубліковано
Номер
Розділ
Ліцензія
Автори залишають за собою право на авторство своєї роботи та передають журналу право першої публікації цієї роботи на умовах ліцензії Creative Commons Attribution License, котра дозволяє іншим особам вільно розповсюджувати опубліковану роботу з обов'язковим посиланням на авторів оригінальної роботи та першу публікацію роботи у нашому журналі.
2. Автори мають право укладати самостійні додаткові угоди щодо неексклюзивного розповсюдження роботи у тому вигляді, в якому вона була опублікована нашим журналом (наприклад, розміщувати роботу в електронному сховищі установи або публікувати у складі монографії), за умови збереження посилання на першу публікацію роботи у нашому журналі.
3. Політика журналу дозволяє і заохочує розміщення рукопису роботи авторами в мережі Інтернет (наприклад, на arXiv.org або на особистих веб-сайтах). Причому рукописи статей можуть бути розміщенні у відкритих архівах як до подання рукопису до редакції, так і під час його редакційного опрацювання. Це сприяє виникненню продуктивної наукової дискусії, позитивно позначається на оперативності ознайомлення наукової спільноти з результатами Ваших досліджень і як наслідок на динаміці цитування вже опублікованої у журналі роботи. Детальніше про це: The Effect of Open Access.