Usually, services communicate over HTTP using a REST-compliant API. This is not a pattern that you must follow, but it's something that comes naturally based on how common HTTP is nowadays, making it an obvious choice.
There are plenty of HTTP servers out there, making it easy to expose a non-HTTP service with minimum effort.
HTTP is also a mature communication transport layer. It's a stateless protocol, giving developers and operations many features, such as:
- Caching commonly used and often updated resources
- Proxying and routing requests
- Securing communication over TLS