Fault Tolerance pada Microservice Architecture dengan Circuit Breaker dan Bulkhead Pattern

Authors

  • Edward Hosea Program Studi Informatika
  • Henry Novianus Palit Program Studi Informatika
  • Lily Puspa Dewi Program Studi Informatika

Keywords:

Fasilitas Eduwisata Daur Ulang Sampah Plastik di Surabaya, Pendekatan Sustainable, Nature Blending, Bahaya Plastik.

Abstract

Microservice architecture as a solution to the monolithic architectural system is growing more and more in use today. As a fairly successful solution, the microservice system is not devoid of new problems and other challenges that arise. Microservice as a self-developed system and a service that communicates between networks are often fault. Any fault that occurs can be caused by high latency or because of the internal problem that causes the slowing down process. This may cause microservice to be inaccessible to the user or other microservice in need.

The research provides a solution to the implementation of a microservice system that can withstand fault by applying the stability pattern with a circuit breaker and bulkhead pattern. Tests are made on the implementation of microservice systems using the PRS case study used by the Christian university of Petra. Fault executives are implemented to test the comparative performance of a DFTM method of circuit breaker with a circuit breaker, a bulkhead with no bulkhead, and to measure the fault levels microservice by MRMM. Based on the results of the tests,

DFTM circuit breaker performance was at 46% faster than normal. The results of the testing also have the subtractable use of bulkhead could prevent resource use more than the capacity of microservice servers had if the latency was higher. Testing result also mentioned that the fault tolerance of the microservice measured by MRMM violating resilience of the benchmark. This can be proven from declining success rates, increased average response time, and decreased transactions per second.

References

[1] Addeen, H. 2019. A Dynamic Fault Tolerance

Model for Microservices Architecture. Electronic Theses and

Dissertations.3410.URI=https://openprairie.sdstate.edu/etd/3

410

[2] Baboi, M., Iftene, A. & Gifu, D. 2019. Dynamic Microservices

to Create Scalable and Fault Tolerance Architecture. Procedia

Computer Science, 159, 1035-1044. DOI=https://doi.org/10.1

16/j.procs.2019.09.271

[3] Cassar, I., Francalanza, A., Mezzina, C., A., & Tuosto, E.

2017. Reliability and Fault-tolerance by Choreographic Des

ign. Programming Language. URI=http://arxiv.org/abs/1708.

7233v1

[4] Chamoli, S., K., Rana, D. S., Dimri, S., C. 2015. Fault

Tolerance and Load Balancing algorithm in Cloud Comput

ing: A survey. International journal of advance research in

computer and communication engineering, 4(7), 92-96. DOI=

10.17148/IJARCCE.2015.4720.

[5] Ghofrani, J. & Lubke, D. 2018. Challenges of Microservices

Architecture: a Survey on the State of the Practice.

ResearchGate.URI=https://www.researchgate.net/publication

/328216639_Challenges_of_Microservices_Architecture_A_

Survey_on_the_State_of_the_Practice

[6] Haselbock, S., Weinreich, R. & Buchgeher, G. 2017. Decision

Guidance Models for Microservices: Service Discovery and

Fault Tolerance. In Proceedings of Fifth European

Conference on the Fifth European Conference on the

Engineering of Computer-Based Systems, Larnaca Cyprus.

(pp. 1-10). DOI=https://doi.org/10.1145/3123779.3123804

[7] Jacobs, M. 2017. Hystrix Wiki - How It Works. URI=

https://github.com/Netflix/Hystrix/wiki/How-it-Works#Isolat

on

[8] Jamshidi, P., Pahl, C., Mendonça, N. C., Lewis, J., & Tilkov,

S. 2018. Microservices: The Journey So Far and Challenges

Ahead. IEEE Software, 35(3), 24-35. DOI=10.1109/MS.

2018.2141039.

[9] Livora, Bc.,T. 2016. Fault Tolerance in Microservices.

Brno:Masaryk University, Faculty of Informatics. URI=https

://is.muni.cz/th/ubkja/masters-thesis.pdf.

[10] Medard, M. & Lumetta, S. 2003. Network Reliability and

Fault Tolerance. ResearchGate. URI=https://www.research

gate.net/publication/227991919_Network_Reliability_and_F

ault_Tolerance

[11] Microsoft. 2019. What is Bulkhead Pattern ?.URI=https://

https://docs.microsoft.com/en-us/azure/architecture/patterns

/bulkhead

[12] Montesi, F., & Weber, J. 2016. Circuit breakers, discovery,

and api gateways in microservices. Software Engineering,

2018. URI= https://arxiv.org/abs/1609.05830

[13] Yin, K. & Du, Q. 2020. On Representing Resilience Require

ments of Microservice Architecture Systems. Software

Engineer ing, 2020. URI= https://arxiv.org/pdf/1909.13096

.pdf

[14] Zhou, X., Peng, X., Xie, X., Sun, J., Ji, C., Li, W., & Ding, D.

(2018). Fault Analysis and Debugging of Microservice

Systems: Industrial Survey, Benchmark System, and

Empirical Study. IEEE Transactions on Software

Engineering, 14(8). DOI= 10.1109/TSE.2018.2887384

Downloads

Published

2021-10-13

Issue

Section

Articles