
Practical Go: Building Scalable Network and Non-Network Applications
- Length: 416 pages
- Edition: 1
- Language: English
- Publisher: Wiley
- Publication Date: 2021-12-21
- ISBN-10: 1119773814
- ISBN-13: 9781119773818
- Sales Rank: #0 (See Top 100 Books)
Step-by-step instruction on writing your first production-ready servers with Golang
Google’s Go language, otherwise known as Golang, is a fast, simple, and reliable language that is rapidly becoming a highly popular choice for developers of all kinds. With particular utility in cloud-native environments, Golang is being adopted in major projects like Docker and Ethereum thanks to its user-friendly features, like concurrency and easy deployment.
In Practical Golang: Building Scalable Network and Non-Network Applications, expert coder and devops engineer Amit Saha delivers a step-by-step guide to writing production-ready HTTP 1.1, HTTP2, RPC, and TCP/UDP servers. Walking you through the entire process of learning this already straightforward language, from your first application to your first deployed server, the authors rely solely on the most popular open-source projects to ensure you can apply the book’s advice in any cloud environment.
In this book, you’ll get:
- Fulsome descriptions of best practices on load balancing, scaling, and failure handling
- Stepwise guidance on writing an HTTP service from scratch using only Golang’s standard library
- Easy tutorials on implementing RPC and HTTP interfaces for RPC services
- Straightforward instructions on using SQL databases
Perfect for software developers, devops engineers, and other programming professionals, Practical Golang is also an indispensable resource for anyone who wants to go beyond the basics of Golang and deploy robust and practical servers.
Cover Table of Contents Title Page Introduction What Does This Book Cover? Reader Support for This Book Getting Started Installing Go Choosing an Editor Installing Protocol Buffer Toolchain Installing Docker Desktop Guide to the Book Go Refresher Summary CHAPTER 1: Writing Command-Line Applications Your First Application Writing Unit Tests Using the Flag Package Improving the User Interface Updating the Unit Tests Summary CHAPTER 2: Advanced Command-Line Applications Implementing Sub-commands Making Your Applications Robust Summary CHAPTER 3: Writing HTTP Clients Downloading Data Deserializing Received Data Sending Data Working with Binary Data Summary CHAPTER 4: Advanced HTTP Clients Using a Custom HTTP Client Customizing Your Requests Implementing Client Middleware Connection Pooling Summary CHAPTER 5: Building HTTP Servers Your First HTTP Server Setting Up Request Handlers Testing Your Server The Request Struct Attaching Metadata to a Request Processing Streaming Requests Streaming Data as Responses Summary CHAPTER 6: Advanced HTTP Server Applications The Handler Type Sharing Data across Handler Functions Writing Server Middleware Writing Tests for Complex Server Applications Summary CHAPTER 7: Production-Ready HTTP Servers Aborting Request Handling Server-Wide Time-Outs Implementing Graceful Shutdown Securing Communication with TLS Summary CHAPTER 8: Building RPC Applications with gRPC gRPC and Protocol Buffers Writing Your First Service A Detour into Protobuf Messages Multiple Services Error Handling Summary CHAPTER 9: Advanced gRPC Applications Streaming Communication Receiving and Sending Arbitrary Bytes Implementing Middleware Using Interceptors Summary CHAPTER 10: Production-Ready gRPC Applications Securing Communication with TLS Robustness in Servers Robustness in Clients Connection Management Summary CHAPTER 11: Working with Data Stores Working with Object Stores Working with Relational Databases Summary APPENDIX A: Making Your Applications Observable Logs, Metrics, and Traces Emitting Telemetry Data Summary APPENDIX B: Deploying Applications Managing Configuration Distributing Your Application Deploying Server Applications Summary Index Copyright Dedication About the Author About the Technical Editor Acknowledgments End User License Agreement
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.