https://bayramblog.medium.com/building-resilient-java-spring-boot-applications-handling-data-traffic-timeouts-and-data-size-1611a849e1c3