3 research outputs found

    Load Test pada Microservice yang menerapkan CQRS dan Event Sourcing

    Get PDF
    Abstract. Load Test on Microservice implementing CQRS and Event Sourcing. In developing an application, determining the architecture is a very important job. This research implements microservice architecture with CQRS pattern and event sourcing on OpenAPI, API-driven and event-driven integration between services. Applying the right architecture can make the performance of the application faster. There are two test activities that are useful to find out the difference in the frequency of requests for APIdriven and event-driven that can affect response time, error rate and throughput, as well as analyze which architecture has better performance. The test is carried out using a load test technique using the JMeter tool. This study proves that microservices with CQRS and Event Sourcing patterns have 3.7% faster performance compared to API-driven, and communication between services has no effect on error rate and throughput. Keywords: microservice, load test, CQRS, event sourcing, software architecture Abstrak. Dalam pengembangan sebuah aplikasi, penentuan arsitektur merupakan pekerjaan yang sangat penting. Penelitian ini mengimplementasikan arsitektur microservice dengan pola CQRS dan event sourcing pada OpenAPI, integrasi antar service berbasis API-driven dan event-driven. Penerapan arsitektur yang tepat dapat membuat performansi dari aplikasi menjadi lebih cepat. Terdapat dua aktivitas pengujian yang berguna untuk mengetahui perbedaan frekuensi request pada API-driven dan eventdriven yang dapat mempengaruhi response time, error rate dan juga throughput, serta menganalisis arsitektur mana yang memiliki performa yang lebih baik. Pengujian dilakukan dengan teknik load test yang menggunuakan tool JMeter. Penelitian ini membuktikan bahwa microservice dengan pola CQRS dan Event Sourcing memiliki performansi lebih cepat 3,7% dibandingkan dengan API-driven, serta komunikasi antar service tidak berpengaruh pada error rate dan throughput.Kata Kunci: microservice, load Test, CQRS, event sourcing, software arsitektu

    Спосіб аналізу ефективності мікросервісних систем з розподіленими запитами

    Get PDF
    В магістерській дисертації розглядається спосіб аналізу мікросервісної системи з розподіленими даними, з використанням бенчмаркінгу та створення порівняльної характеристики на основі стандартизованих ознак якості. Як практична сторона реалізований програмний прототип, який моделює виконання розподілених запитів. Прототип дозволяє отримати й оцінити характеристики мікросервісної системи для порівняння ефективності розподілених запитів в контексті різних підходів до їх реалізації та виконання. Програмний прототип був створений на мові JavaScript.The master's thesis examines the method of analyzing a microservice system with distributed data, using benchmarking and creating a comparative characteristic based on standardized quality indicators. As a practical side, a software prototype is implemented that simulates the execution of distributed requests. The prototype allows obtaining and evaluating the characteristics of the microservice system to compare the effectiveness of distributed requests in the context of different approaches to their implementation and execution. The software prototype was created in JavaScript

    Technical Challenges of Microservices Migration

    Get PDF
    The microservices architecture is a recent trend in the software engineering community, with the number of research articles in the field increasing, and more companies adopting the architectural style every year. However, the migration of a monolith to the microservices architecture is an error-prone process with a lack of guidelines for its execution. Also, microservices introduce a lot of different challenges that are not faced when following a monolithic architecture. This work aims to fill some gaps in current microservices research by providing a catalogue of the currently most common challenges of adopting this architectural style, and possible solutions for them. For this reason, a systematic mapping study was executed analysing 54 different articles. Also, 30 industry professionals participated in a questionnaire regarding the topic. Furthermore, a participant observation experiment was performed to retrieve additional industry data. Moreover, one of the identified challenges – distributed transactions management – was further detailed and a solution implemented using the choreographed saga pattern. The solution is publicly available as an open-source project. Finally, multiple experts in the microservices field validated the results of the research and the distributed transactions solution and provided insights regarding the value of this work.A arquitetura de microserviços é uma tendência recente na comunidade de engenharia de software, com o número de artigos publicados sobre o tema a aumentar, assim como o número de empresas a adoptar o estilo arquitetural todos os anos. No entanto, o processo de migração de um monolito para uma arquitetura orientada a microserviços tem um alto potencial de erros, uma vez que existe falta de orientações sobre como conduzir o processo corretamente. Para além disso, os microserviços introduzem muitos desafios diferentes que não são enfrentados no desenvolvimento de um sistema monolitico. Este trabalho pretende preencher algumas destas lacunas na investigação da arquitetura de microserviços através da construção de um catalogo dos principais desafios enfrentados ao adoptar o estilo arquitetural e soluções possíveis para estes. Por este motivo, um systematic mapping study foi desenvolvido, analisando 54 artigos diferentes. Para além disso, 30 profissionais da industria responderam a questionario sobre o tema. Finalmente, para obter dados adicionais da indústria, uma experiência de migração foi realizada e observada de forma ativa. Ainda, um dos desafios identificados – gestão de transações distribuídas – foi detalhado e uma solução implementada usando o padrão de sagas coreografadas. A solução está publicamente disponível como um projecto open-source. Finalmente, vários peritos em microserviços avaliaram os resultados deste trabalho, incluindo a solução desenvolvida para gestão de transações distribuídas, e deram feedback relativamente ao valor deste trabalho
    corecore