Programmer's Guide to Apache Thrift


Book Description

Summary Programmer's Guide to Apache Thrift provides comprehensive coverage of the Apache Thrift framework along with a developer's-eye view of modern distributed application architecture. Foreword by Jens Geyer. About the Technology Thrift-based distributed software systems are built out of communicating components that use different languages, protocols, and message types. Sitting between them is Thrift, which handles data serialization, transport, and service implementation. Thrift supports many client and server environments and a host of languages ranging from PHP to JavaScript, and from C++ to Go. About the Book Programmer's Guide to Apache Thrift provides comprehensive coverage of distributed application communication using the Thrift framework. Packed with code examples and useful insight, this book presents best practices for multi-language distributed development. You'll take a guided tour through transports, protocols, IDL, and servers as you explore programs in C++, Java, and Python. You'll also learn how to work with platforms ranging from browser-based clients to enterprise servers. What's inside Complete coverage of Thrift's IDL Building and serializing complex user-defined types Plug-in protocols, transports, and data compression Creating cross-language services with RPC and messaging systems About the Reader Readers should be comfortable with a language like Python, Java, or C++ and the basics of service-oriented or microservice architectures. About the Author Randy Abernethy is an Apache Thrift Project Management Committee member and a partner at RX-M. Table of Contents Introduction to Apache Thrift Apache Thrift architecture Building, testing, and debugging Moving bytes with transports Serializing data with protocols Apache Thrift IDL User-defined types Implementing services Handling exceptions Servers Building clients and servers with C++ Building clients and servers with Java Building C# clients and servers with .NET Core and Windows Building Node.js clients and servers Apache Thrift and JavaScript Scripting Apache Thrift Thrift in the enterprise




Learning Apache Thrift


Book Description

Make applications cross-communicate using Apache Thrift! About This Book Leverage Apache Thrift to enable applications written in different programming languages (Java, C++, Python, PHP, Ruby, and so on) to cross-communicate. Learn to make your services ready for real-world applications by using stepwise examples and modifying code from Industry giants. Be a crackerjack at solving Apache Thrift-related issues. Who This Book Is For If you have some experience of developing applications in one or more languages supported by Apache Thrift (C++, Java, PHP, Python, Ruby, and others) and want to broaden your knowledge and skills in building cross-platform, scalable applications, then this book is for you. What You Will Learn Understand the need for cross-language services and the basics of Apache Thrift. Learn how Apache Thrift works and what problems it solves. Determine when to use Apache Thrift instead of other methods (REST API), and when not to use it. Create and run an example application using Apache Thrift. Use Apache Thrift in your applications written in different languages supported by Apache Thrift (PHP, Python, Ruby, Java, and C++). Handle exceptions and deal with errors. Modify code in different languages. Use Apache Thrift in the production environments of big applications. In Detail With modern software systems being increasingly complex, providing a scalable communication architecture for applications in different languages is tedious. The Apache Thrift framework is the solution to this problem! It helps build efficient and easy-to-maintain services and offers a plethora of options matching your application type by supporting several popular programming languages, including C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml, and Delphi. This book will help you set aside the basics of service-oriented systems through your first Apache Thrift-powered app. Then, progressing to more complex examples, it will provide you with tips for running large-scale applications in production environments. You will learn how to assess when Apache Thrift is the best tool to be used. To start with, you will run a simple example application, learning the framework's structure along the way; you will quickly advance to more complex systems that will help you solve various real-life problems. Moreover, you will be able to add a communication layer to every application written in one of the popular programming languages, with support for various data types and error handling. Further, you will learn how pre-eminent companies use Apache Thrift in their popular applications. This book is a great starting point if you want to use one of the best tools available to develop cross-language applications in service-oriented architectures. Style and approach A stepwise guide to learning Apache Thrift, with ready-to-run examples explained comprehensively. Advanced topics supply the inspiration for further work.










HBase


Book Description

"HBase: The Definitive Guide" provides the details for evaluating this high-performance, non-relational database, or putting it into practice right away. HBase's adoption rate is beginning to climb, and IT executives are asking pointed questions about this high-capacity database.










Directory


Book Description




Mastering PHP 7


Book Description

Effective, readable, and robust codes in PHP About This Book Leverage the newest tools available in PHP 7 to build scalable applications Embrace serverless architecture and the reactive programming paradigm, which are the latest additions to the PHP ecosystem Explore dependency injection and implement design patterns to write elegant code Who This Book Is For This book is for intermediate level developers who want to become a master of PHP. Basic knowledge of PHP is required across areas such as basic syntax, types, variables, constants, expressions, operators, control structures, and functions. What You Will Learn Grasp the current state of PHP language and the PHP standards Effectively implement logging and error handling during development Build services through SOAP and REST and Apache Trift Get to know the benefits of serverless architecture Understand the basic principles of reactive programming to write asynchronous code Practically implement several important design patterns Write efficient code by executing dependency injection See the working of all magic methods Handle the command-line area tools and processes Control the development process with proper debugging and profiling In Detail PHP is a server-side scripting language that is widely used for web development. With this book, you will get a deep understanding of the advanced programming concepts in PHP and how to apply it practically The book starts by unveiling the new features of PHP 7 and walks you through several important standards set by PHP Framework Interop Group (PHP-FIG). You'll see, in detail, the working of all magic methods, and the importance of effective PHP OOP concepts, which will enable you to write effective PHP code. You will find out how to implement design patterns and resolve dependencies to make your code base more elegant and readable. You will also build web services alongside microservices architecture, interact with databases, and work around third-party packages to enrich applications. This book delves into the details of PHP performance optimization. You will learn about serverless architecture and the reactive programming paradigm that found its way in the PHP ecosystem. The book also explores the best ways of testing your code, debugging, tracing, profiling, and deploying your PHP application. By the end of the book, you will be able to create readable, reliable, and robust applications in PHP to meet modern day requirements in the software industry. Style and approach This is a comprehensive, step-by-step practical guide to developing scalable applications using PHP 7.1