This chapter covers
- The importance of polyglot support in distributed systems
- The differences between Apache Thrift and RESTful services
- The cognitive value of IDL
- Migrating from monoliths to microservices
- Service performance
- Best practices
In the pages leading up to this final chapter, we’ve had a chance to see how Apache Thrift is organized architecturally as well as how several high-profile languages integrate with the Apache Thrift framework. Here we step back from the mechanics a bit to examine ways Apache Thrift can solve challenges facing large-scale distributed applications. Apache Thrift is billed as a cross-language framework for high-performance RPC applications, the key phrases being “cross-language” and “high performance.” Let’s start by looking at the value of cross-language support.
Apache Thrift is well suited to building distributed applications in a single language; however, one of the marquee features of Apache Thrift is its ability to weave together services coded in a variety of languages.
The strong cross-language support in Apache Thrift is particularly valuable when building distributed systems, which tend toward polyglot composition for a range of reasons: