# Synchronous communication for microservices: current status and learnings

DevFeed: [Synchronous communication for microservices: current status and learnings](<https://devfeed.tech/articles/synchronous-communication-for-microservices-current-status-and-learnings-2162.md>)

Original publisher: [Read original article](<https://developers.soundcloud.com/blog//synchronous-communication-for-microservices-current-status-and-learnings>)

Published: 2016-07-27T00:00:00Z

Content type: article

Language: en

Sources: [SoundCloud Backstage Blog](<https://devfeed.tech/sources/soundcloud-backstage-blog.md>)

Topics: [Microservice](<https://devfeed.tech/topics/microservice.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Finagle](<https://devfeed.tech/topics/finagle.md>), [Remote Procedure Call (RPC)](<https://devfeed.tech/topics/rpc.md>), [Scala](<https://devfeed.tech/topics/scala.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Netty](<https://devfeed.tech/topics/netty.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [Prometheus](<https://devfeed.tech/topics/prometheus.md>), [MySQL](<https://devfeed.tech/topics/mysql.md>), [Routing (disambiguation)](<https://devfeed.tech/topics/routing.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [blog-post](<https://devfeed.tech/tags/blog-post.md>), [finagle](<https://devfeed.tech/tags/finagle.md>), [framework](<https://devfeed.tech/tags/framework.md>), [http](<https://devfeed.tech/tags/http.md>), [json](<https://devfeed.tech/tags/json.md>), [library](<https://devfeed.tech/tags/library.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [microservices-architecture](<https://devfeed.tech/tags/microservices-architecture.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [programming](<https://devfeed.tech/tags/programming.md>), [prometheus](<https://devfeed.tech/tags/prometheus.md>), [rpc](<https://devfeed.tech/tags/rpc.md>), [scala](<https://devfeed.tech/tags/scala.md>), [scalability](<https://devfeed.tech/tags/scalability.md>)

## AI overview

This article describes SoundCloud's use of synchronous request-response communication in a microservices architecture. It discusses Finagle and Scala-based services, the internal jvmkit library, non-blocking I/O, service discovery, routing, logging, Prometheus integration, and the use of HTTP/1.1 with JSON. It also explains the interoperability and debugging benefits of HTTP and JSON, along with their greater overhead compared with more optimized protocols.

## Source excerpt

Since we started breaking our monolith and introduced a microservices architecture we rely a lot on synchronous request-response style communication. In this blog post we'll go over our current status and some of the lessons we learned.