Chapter 17. Thrift in the enterprise

 

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.

17.1. Polyglot systems

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:

17.2. Service tooling and considerations

17.3. Messaging

17.4. Best practices

Summary