Enhance Inter-service Communication in Supersonic K-Native REST-based Java Microservice Architectures
2021 (English)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE credits
Student thesis
Abstract [en]
The accelerating progress in network speeds and computing power permitted the architectural design paradigm to shift from monolithic applications to microservices. The industry moved from single-core and multi-threads, code-heavy applications, running on giant machines 24/7 to smaller machines, multi-cores single threads where computing power and memory consumption are managed very critically. With the advent of this novel approach to designing systems, traditional multi-tier applications have been broken down into hundreds of microservices that can be easily moved around, start, and stop quickly. In this context, scaling assumed a new meaning, rather than scaling up by adding more resources or computing power, now systems are scaled dynamically by adding more microservices instances. This contribution proposes a theoretical study and a practical experiment to investigate, compare and outline the performance improvements aid by the implementation of Protocol Buffers, Google's language-neutral, binary-based representational data interchange format over traditional text-based serialization formats in a modern, Cloud-Native, REST-based Java Microservice architecture. Findings are presented showing promising results regarding the implementation of Protobuf, with a significant reduction in response time (25.1% faster in the best-case scenario) and smaller payload size (72.28% better in the best-case scenario) when compared to traditional textual serialization formats while literature revealed out-of-the-box mechanisms for message versioning with backward compatibility.
Place, publisher, year, edition, pages
2021. , p. 55
Keywords [en]
Enhance Interservice Communication, Protocol Buffers, Data Interchange Formats, Quarkus, Kubernetes
National Category
Computer Sciences Software Engineering Computer Engineering
Identifiers
URN: urn:nbn:se:hkr:diva-22135OAI: oai:DiVA.org:hkr-22135DiVA, id: diva2:1576712
Educational program
Bachelor programme in Computer Software Development
Supervisors
Examiners
2021-07-012021-07-012021-07-01Bibliographically approved