Utilize este identificador para referenciar este registo:
https://hdl.handle.net/10316/110625
Título: | Creation of a Replicated Event Sourcing Application | Outros títulos: | Criação de uma Aplicação Event Sourcing Replicada | Autor: | Leite, Gustavo Miguel Martins | Orientador: | Araújo, Filipe João Boavida Mendonça Machado de | Palavras-chave: | Estado; Event Sourcing; State; Event Sourcing | Data: | 20-Set-2023 | Projeto: | info:eu-repo/grantAgreement/FCT/6817 - DCRRNI ID/UIDP/00326/2020/PT | Título da revista, periódico, livro ou evento: | Creation of a Replicated Event Sourcing Application | Local de edição ou do evento: | DEI-FCTUC | Resumo: | O armazenamento tradicional de dados tem tipicamente o estado atual dos dados armazenados numa base de dados SQL ou NoSQL, e quando ocorre umatransação, esses dados são atualizados. O objetivo principal é armazenar o estado atual, e mesmo que funcione bem, pode ser limitativo se for necessária maisinformação do que os valores atuais. A informação, tal como as transações que levam aos valores atuais, é perdida. Ainda que seja possível ter registos históricos e registos de transações no armazenamento tradicional de dados, é uma possibilidade de se tornar uma tarefa complexa de gestão e utilização.Event Sourcing é uma forma diferente de armazenamento de dados onde, em vez de armazenar o estado atual, é a sequência de transações que é armazenada. Oestado atual é construído através do processamento dos eventos, e não se perdem dados, o que dá ao Event Sourcing capacidades robustas de auditoria e análise.O objetivo desta dissertação é enfrentar o desafio de pegar numa aplicação centralizada de Event Sourcing e replicá-la para a tornar mais fiável e disponível emdiferentes regiões. Para atingir este objetivo, uma aplicação com armazenamento de eventos replicado teve de ser desenvolvida e colocada na Internet para ter osistema distribuído por várias áreas do mundo.Como resultado, este trabalho apresenta a arquitetura do sistema replicado criado em diferentes graus de especificidade, juntamente com tecnologias utilizadas, incluindo SpringBoot, Axon e MongoDB. Além disso, este documento apresenta também uma análise de desempenho das velocidades das operações de escrita e de leitura da referida aplicação colocada na nuvem. Estes resultados recolhidos a partir dos testes de desempenho revelaram-se encorajadores para os sistemasEvent Sourcing geo-replicados, abrindo novos caminhos para futuras aplicações. Traditional data storage typically has the current state of data stored in a SQL or NoSQL database, and when a transaction occurs, that data is updated. Theprimary objective is to store the current state, and even though it works, it can be limiting if more information than the current values is needed. Information such as what transactions lead to the current values is lost. Even though it is possible to have historical registration and transaction logs in traditional data storage, it is a possibility that it can become a complex task to manage and use.Event Sourcing is a different way of storing data where instead of storing the current state, it is the sequence of transactions that is stored. The current state is built by replaying the events, and no data is lost, which gives event sourcing robust audit and analytical capabilities.This dissertation’s objective is to tackle the challenge of taking a centralized Event Sourcing application and replicating it to make it more reliable and available across different regions. To achieve this goal, an application with a replicated event store had to be developed and placed on the internet to have the system distributed across multiple areas of the world.As a result, this work presents the architecture of the created replicated system, along with the used technologies, including SpringBoot, Axon and MongoDB. Inaddition, this document also presents a performance analysis of the write and read operations speeds of the said application placed on the cloud. These resultsgathered from the performance testing proved encouraging for event-sourced geo-replicated systems, opening new ways for future applications. |
Descrição: | Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia | URI: | https://hdl.handle.net/10316/110625 | Direitos: | openAccess |
Aparece nas coleções: | UC - Dissertações de Mestrado |
Ficheiros deste registo:
Ficheiro | Tamanho | Formato | |
---|---|---|---|
Creation_of_ a_Replicated_Event_Sourcing_Application.pdf | 5.07 MB | Adobe PDF | Ver/Abrir |
Este registo está protegido por Licença Creative Commons