title: Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° ÑÐ°ÑÐ¿ÑÐµÐ´ÐµÐ»ÑÐ½Ð½Ð¾Ð¹ ÑÐ¸ÑÑÐµÐ¼Ñ Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐºÐ¸ Ð¸ Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð½Ð°Ð»Ð¾Ð³Ð¾Ð²Ð¾Ð¹ ÑÐ»ÑÐ¶Ð±Ñ Ð½Ð° Ð±Ð°Ð·Ðµ Ð¼Ð¸ÐºÑÐ¾ÑÐµÑÐ²Ð¸ÑÐ½Ð¾Ð¹ Ð°ÑÑ Ð¸ÑÐµÐºÑÑÑÑ
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð±Ð°ÐºÐ°Ð»Ð°Ð²ÑÐ°
titleType: Subtitle
title: Development of a distributed data processing and storage system for the tax service based on microservice architecture
Creators: name: ÐÐ³ÐµÐ»Ñ, Ð Ð¾Ð¼Ð°Ð½
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2020
Subjects: ÑÐ°ÑÐ¿ÑÐµÐ´ÐµÐ»ÑÐ½Ð½Ð°Ñ ÑÐ¸ÑÑÐµÐ¼Ð°
Ð¼Ð¸ÐºÑÐ¾ÑÐµÑÐ²Ð¸ÑÐ½Ð°Ñ Ð°ÑÑ Ð¸ÑÐµÐºÑÑÑÐ°
Ð¾Ð±Ð»Ð°ÑÐ½ÑÐµ ÑÐµÑÐµÐ½Ð¸Ñ
spring ÑÑÐµÐ¹Ð¼Ð²Ð¾ÑÐº
distributed system
microservice architecture
cloud solutions
spring framework

description: Ð Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑÐ°Ð±Ð¾ÑÐµ ÑÐ°ÑÑÐ¼Ð°ÑÑÐ¸Ð²Ð°ÐµÑÑÑ Ð¿ÑÐ¾ÑÐµÑÑ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑÐ°ÑÐ¿ÑÐµÐ´ÐµÐ»ÑÐ½Ð½Ð¾Ð¹ ÑÐ¸ÑÑÐµÐ¼Ñ Ð´Ð»Ñ Ð½Ð°Ð»Ð¾Ð³Ð¾Ð²Ð¾Ð¹ ÑÐ»ÑÐ¶Ð±Ñ, Ð½Ð° Ð¾ÑÐ½Ð¾Ð²Ðµ Ð¼Ð¸ÐºÑÐ¾ÑÐµÑÐ²Ð¸ÑÐ½Ð¾Ð¹ Ð°ÑÑÐ¸ÑÐµÐºÑÑÑÑ.
 Ð Ð¿ÐµÑÐ²Ð¾Ð¹ ÑÐ°ÑÑÐ¸ ÑÐ°Ð±Ð¾ÑÑ Ð¿ÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸ÑÑÑ ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ðµ Ð¼Ð¾Ð½Ð¾Ð»Ð¸ÑÐ½Ð¾Ð¹ Ð¸ Ð¼Ð¸ÐºÑÐ¾ÑÐµÑÐ²Ð¸ÑÐ½Ð¾Ð¹ Ð°ÑÑÐ¸ÑÐµÐºÑÑÑ Ð¸ Ð²ÑÑÐ²Ð»ÑÑÑÑÑ Ð¿Ð»ÑÑÑ Ð¸ Ð¼Ð¸Ð½ÑÑÑ ÐºÐ°Ð¶Ð´Ð¾Ð¹ Ð¸Ð· Ð½Ð¸Ñ, Ð° ÑÐ°ÐºÐ¶Ðµ ÑÐ°ÑÑÐ¼Ð°ÑÑÐ¸Ð²Ð°ÑÑÑÑ ÑÐ°ÐºÐ¸Ðµ ÑÐµÑÐ½Ð¾Ð»Ð¾Ð³Ð¸Ð¸ ÐºÐ°Ðº: ÐºÐ¾Ð½ÑÐµÐ¹Ð½ÐµÑÐ¸Ð·Ð°ÑÐ¸Ñ, Ð¾ÑÐºÐµÑÑÑÐ°ÑÐ¸Ñ ÐºÐ¾Ð½ÑÐµÐ¹Ð½ÐµÑÐ¾Ð² Ð¸ Spring Framework, ÐºÐ¾ÑÐ¾ÑÑÐµ Ð·Ð½Ð°ÑÐ¸ÑÐµÐ»ÑÐ½Ð¾ ÑÐ¿ÑÐ¾ÑÐ°ÑÑ Ð¿ÑÐ¾ÑÐµÑÑ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸ Ð¸ ÑÐºÑÐ¿Ð»ÑÐ°ÑÐ°ÑÐ¸Ð¸ ÑÐ°ÑÐ¿ÑÐµÐ´ÐµÐ»ÑÐ½Ð½Ð¾Ð¹ ÑÐ¸ÑÑÐµÐ¼Ñ.
 ÐÐ¾ Ð²ÑÐ¾ÑÐ¾Ð¹ ÑÐ°ÑÑÐ¸ ÑÐ°Ð±Ð¾ÑÑ ÑÐ°ÑÑÐ¼Ð°ÑÑÐ¸Ð²Ð°ÐµÑÑÑ Ð¿Ð¾ÑÑÑÐ¾ÐµÐ½Ð¸Ðµ Ð°ÑÑÐ¸ÑÐµÐºÑÑÑÑ ÑÐ¸ÑÑÐµÐ¼Ñ Ð¸ Ð²ÑÐ±Ð¾Ñ ÐµÑ Ð¸Ð½ÑÑÐ°ÑÑÑÑÐºÑÑÑÐ½ÑÑ ÑÐ»ÐµÐ¼ÐµÐ½ÑÐ¾Ð². Ð ÐºÐ°ÑÐµÑÑÐ²Ðµ Ð¾ÑÐ½Ð¾Ð²Ð½Ð¾Ð³Ð¾ ÑÐ·ÑÐºÐ° Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð²ÑÐ±ÑÐ°Ð½ Java Ð·Ð° ÑÑÑÑ ÑÐ²Ð¾ÐµÐ¹ ÐºÑÐ¾ÑÑÐ¿Ð»Ð°ÑÑÐ¾ÑÐ¼ÐµÐ½Ð½Ð¾ÑÑÐ¸, Ð° Ð´Ð»Ñ Ð°Ð²ÑÐ¾Ð¼Ð°ÑÐ¸Ð·Ð°ÑÐ¸Ð¸ ÑÐ±Ð¾ÑÐºÐ¸ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ - Maven. ÐÐ»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð°ÑÐ¸Ð½ÑÑÐ¾Ð½Ð½Ð¾Ð³Ð¾ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñ Ð¼Ð¸ÐºÑÐ¾ÑÐµÑÐ²Ð¸ÑÐ°Ð¼Ð¸ Ð²ÑÐ±Ð¾Ñ Ð¿Ð°Ð» Ð½Ð° Ð±ÑÐ¾ÐºÐµÑÐ° ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ð¹ - Apache Kafka. Ð Ð² ÐºÐ°ÑÐµÑÑÐ²Ðµ ÑÑÐ°Ð½Ð¸Ð»Ð¸ÑÐ° Ð´Ð°Ð½Ð½ÑÑ Ð²ÑÐ±ÑÐ°Ð½Ð¾ Ð´Ð²Ð° Ð¸Ð½ÑÑÑÑÐ¼ÐµÐ½ÑÐ°: Ð´Ð»Ñ Ð½ÐµÑÑÑÑÐºÑÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð½ÑÑ Ð´Ð°Ð½Ð½ÑÑ â Apache Hbase Ð·Ð° ÑÑÑÑ ÑÐ²Ð¾ÐµÐ¹ Hadoop Ð¸Ð½ÑÑÐ°ÑÑÑÑÐºÑÑÑÑ, Ð° Ð´Ð»Ñ ÑÑÑÑÐºÑÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð½ÑÑ Ð´Ð°Ð½Ð½ÑÑ â PostgreSql ÐºÐ°Ðº ÑÐ°Ð¼Ð°Ñ ÑÐ±Ð°Ð»Ð°Ð½ÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ ÑÐµÐ»ÑÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÐÐ.
 Ð Ð·Ð°ÐºÐ»ÑÑÐ¸ÑÐµÐ»ÑÐ½Ð¾Ð¹ ÑÐ°ÑÑÐ¸ Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ ÐºÐ¾Ð½ÑÐ¸Ð³ÑÑÐ°ÑÐ¸Ñ Ð¸ Ð·Ð°Ð¿ÑÑÐº ÑÐ¸ÑÑÐµÐ¼Ñ, Ð° ÑÐ°ÐºÐ¶Ðµ Ð¿ÑÐ¾Ð²ÐµÑÑÐµÑÑÑ ÐµÑ Ð¿ÑÐ¾Ð¿ÑÑÐºÐ½Ð°Ñ ÑÐ¿Ð¾ÑÐ¾Ð±Ð½Ð¾ÑÑÑ, Ð¾ÑÐºÐ°Ð·Ð¾ÑÑÑÐ¾Ð¹ÑÐ¸Ð²Ð¾ÑÑÑ Ð¸ Ð¼Ð°ÑÑÑÐ°Ð±Ð¸ÑÑÐµÐ¼Ð¾ÑÑÑ.
description: This paper discusses the process of creating a distributed system for the tax service using a microservice architecture.
 In the first part of the work, a comparison is made of the monolithic and microservice architecture and the pros and cons of each of them are revealed, as well as technologies such as containerization, container orchestration and Spring Framework, which greatly simplify the process of developing and operating a distributed system.
 In the second part of the work, the architecture of the system is constructed, and its infrastructure elements selected. Java is chosen as the main programming language due to its cross-platform nature, and Maven is chosen for automating the assembly of the application. To perform asynchronous interaction between microservices, the choice fell on the message broker - Apache Kafka. And two tools were chosen as the data warehouse: for unstructured data - Apache Hbase due to its Hadoop infrastructure, and for structured data - PostgreSql as the most balanced relational database.
 In the final part, the system is configured and launched, and its throughput, fault tolerance and scalability are checked. The key conclusion is that the constructed system is indeed a very flexible and reliable solution that can adapt to various types of loads.