2019•Computer Tools in EducationOpen access

Strong typing for event-driven microservice architecture

Nikita Gerasimov

Open full text 0 citations

Abstract

Microservice architecture is a popular approach for building various systems. It consists of various dedicated small-sized components from a solid application. Components work together and provide the required business-logic but each one can be implemented with the most suitable technique. Moreover, overloaded parts can be scaled easily. However, data transfer layer does not guarantee compatibility of services during their development. After changing input or output data type of any microservice of the system there are too little ways to keep up compatibility of all other services. The problem is especially urgent for asynchronous communication because existing systems and standards work mostly with synchronous RPC or REST interoperation or cover high-level description of business-logic. One approach to guarantee compatibility of all services in the system is a preliminary check of data types before the services start to work. The previous paper considers realization of the mentioned approach with the dedicated service that checks types, connects services using description of the interfaces. The current paper covers further development of the approach: a system built with preliminary check of data types supports only asynchronous communication and all checks are provided by a message broker. We have implemented and compared simplified approach with alternative ways and have come to the conclusion that described way solves the problem of type inconsistency in a microservice event-driven architecture in a more convenient way than alternatives.

Open-access reader

About this research paper

What this paper is about

Microservice architecture is a popular approach for building various systems. It consists of various dedicated small-sized components from a solid application. Components work together and provide the required business-logic but each one can be implemented with the most suitable technique. Moreover, overloaded parts can be scaled easily. However, data transfer layer does not guarantee compatibility of services during their development. After changing input or output data type of any microservice of the system there are too little ways to keep up compatibility of all other services. The problem is especially urgent for asynchronous communication because existing systems and standards work mostly with synchronous RPC or REST interoperation or cover high-level description of business-logic. One approach to guarantee compatibility of all services in the system is a preliminary check of data types before the services start to work. The previous paper considers realization of the mentioned approach with the dedicated service that checks types, connects services using description of the interfaces. The current paper covers further development of the approach: a system built with preliminary check of data types supports only asynchronous communication and all checks are provided by a message broker. We have implemented and compared simplified approach with alternative ways and have come to the conclusion that described way solves the problem of type inconsistency in a microservice event-driven architecture in a more convenient way than alternatives.

Why it matters

A significance statement is not available in the OpenAlex record.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

Microservice architecture is a popular approach for building various systems. It consists of various dedicated small-sized components from a solid application. Components work together and provide the required business-logic but each one can be implemented with the most suitable technique. Moreover, overloaded parts can be scaled easily. However, data transfer layer does not guarantee compatibility of services during their development. After changing input or output data type of any microservice of the system there are too little ways to keep up compatibility of all other services. The problem is especially urgent for asynchronous communication because existing systems and standards work mostly with synchronous RPC or REST interoperation or cover high-level description of business-logic. One approach to guarantee compatibility of all services in the system is a preliminary check of data types before the services start to work. The previous paper considers realization of the mentioned approach with the dedicated service that checks types, connects services using description of the interfaces. The current paper covers further development of the approach: a system built with preliminary check of data types supports only asynchronous communication and all checks are provided by a message broker. We have implemented and compared simplified approach with alternative ways and have come to the conclusion that described way solves the problem of type inconsistency in a microservice event-driven architecture in a more convenient way than alternatives.

Key concepts: Computer science, Business logic, Interoperation, Asynchronous communication, Backward compatibility, Architecture, Distributed computing, Compatibility (geochemistry)

Related papers

Back to paper searchBrowse research topicsOriginal source
Strong typing for event-driven microservice architecture — Research Paper | ScholarLens