Circuit breaker in systems based on microservices architecture
Дата
2018
Автори
ORCID
DOI
10.20998/2522-9052.2018.4.13
Науковий ступінь
Рівень дисертації
Шифр та назва спеціальності
Рада захисту
Установа захисту
Науковий керівник
Члени комітету
Назва журналу
Номер ISSN
Назва тому
Видавець
Національний технічний університет "Харківський політехнічний інститут"
Анотація
The subject of the article is a review of Circuit Breaker pattern in systems based on microservices architecture. The purpose of the article is to analyze the advantages and disadvantages of Circuit Breaker for microservices. The precise way that the circuit opening and closing occurs is as follows: assuming the volume across a circuit meets a certain threshold; and if the error percentage exceeds the threshold error percentage; then the circuit-breaker transitions from closed to open; while it is open, it short-circuits all requests made against that circuit-breaker. After some amount of time, the next single request is let through (this is the half-open state). If the request fails, the circuit-breaker returns to the open state for the duration of the sleep window. If the request succeeds, the circuit-breaker transitions to closed and the logic in 1 takes over again. Circuit Breaker has been reviewed and explained. This pattern is emerging as essential for the reliability, ease of access, and flexibility of MSAs. Since microservices is in its early development, we can expect more patterns like this to appear in the future. It is interesting that it is structural, in the sense that they do not change the operations that services offer. Being of this nature, their implementations benefit from parametricity to achieve reusability. However, their adoption also makes MSAs more complicated, and they influence the communication structures that will be enacted in a system. This suggests that methods for the programming and verification of communications among services should keep patterns such as these into account.
Предмет статті - дослідження можливості використання паттерну Circuit Breaker у системах, що базуються на мікросервісній архітектурі. Метою є аналіз переваг та недоліків паттерну Circuit Breaker для мікросервісів. Спосіб застосування Circuit Breaker полягає в наступному: припускаємо, що гучність в ланцюзі відповідає певному порогу; якщо відсоток помилок перевищує відсоток порогової помилки, то автоматичний вимикач переходить із замкнутого в розімкнутий режим. Поки він розімкнутий, він замикає всі запити, зроблені до цього автоматичного вимикача. Через деякий час наступний одиночний повторний квест пропускається (це напіввідкритий стан). Якщо запит не виконується, автоматичний вимикач вертається в розімкнутий стан на час очікування. Якщо запит виконується успішно, то автоматичний вимикач переходить в замкнутий режим. Досліджена та обґрунтована можливість використання паттерну Circuit Breaker при розробці програмних комплексів з використанням мікросервісної архітектури. Цей паттерн є надзвичайно важливим для забезпечення надійності, легкості доступу та гнучкості мікросервісів, що розробляються. Важливо, що це структурний паттерн, адже він не впливає на функціональні можливості, що надають сервіси. Відповідно до своєї природи він дозволяє досягти багаторазового використання завдяки параметризації. В той же час, це робить MSA більш складною, а комунікаційні структури, які будуть введені до системи, можуть підлягати деяким змінам. Це свідчить про те, що, обираючи методи програмування та перевірки комунікацій між сервісами, на етапі дизайну рішення необхідно брати до уваги, що використовується саме такий паттерн, як Crcuit Breaker.
Предмет статті - дослідження можливості використання паттерну Circuit Breaker у системах, що базуються на мікросервісній архітектурі. Метою є аналіз переваг та недоліків паттерну Circuit Breaker для мікросервісів. Спосіб застосування Circuit Breaker полягає в наступному: припускаємо, що гучність в ланцюзі відповідає певному порогу; якщо відсоток помилок перевищує відсоток порогової помилки, то автоматичний вимикач переходить із замкнутого в розімкнутий режим. Поки він розімкнутий, він замикає всі запити, зроблені до цього автоматичного вимикача. Через деякий час наступний одиночний повторний квест пропускається (це напіввідкритий стан). Якщо запит не виконується, автоматичний вимикач вертається в розімкнутий стан на час очікування. Якщо запит виконується успішно, то автоматичний вимикач переходить в замкнутий режим. Досліджена та обґрунтована можливість використання паттерну Circuit Breaker при розробці програмних комплексів з використанням мікросервісної архітектури. Цей паттерн є надзвичайно важливим для забезпечення надійності, легкості доступу та гнучкості мікросервісів, що розробляються. Важливо, що це структурний паттерн, адже він не впливає на функціональні можливості, що надають сервіси. Відповідно до своєї природи він дозволяє досягти багаторазового використання завдяки параметризації. В той же час, це робить MSA більш складною, а комунікаційні структури, які будуть введені до системи, можуть підлягати деяким змінам. Це свідчить про те, що, обираючи методи програмування та перевірки комунікацій між сервісами, на етапі дизайну рішення необхідно брати до уваги, що використовується саме такий паттерн, як Crcuit Breaker.
Опис
Ключові слова
Hystrix, software, hardware, MSA, програмне забезпечення, апаратне забезпечення
Бібліографічний опис
Molchanov H. Circuit breaker in systems based on microservices architecture / H. Molchanov, A. Zhmaiev // Сучасні інформаційні системи = Advanced Information Systems. – 2018. – Т. 2, № 4. – С. 74-77.