Book Image

Microservices with Go

By : Alexander Shuiskov
Book Image

Microservices with Go

By: Alexander Shuiskov

Overview of this book

This book covers the key benefits and common issues of microservices, helping you understand the problems microservice architecture helps to solve, the issues it usually introduces, and the ways to tackle them. You’ll start by learning about the importance of using the right principles and standards in order to achieve the key benefits of microservice architecture. The following chapters will explain why the Go programming language is one of the most popular languages for microservice development and lay down the foundations for the next chapters of the book. You’ll explore the foundational aspects of Go microservice development including service scaffolding, service discovery, data serialization, synchronous and asynchronous communication, deployment, and testing. After covering the development aspects, you’ll progress to maintenance and reliability topics. The last part focuses on more advanced topics of Go microservice development including system reliability, observability, maintainability, and scalability. In this part, you’ll dive into the best practices and examples which illustrate how to apply the key ideas to existing applications, using the services scaffolded in the previous part as examples. By the end of this book, you’ll have gained hands-on experience with everything you need to develop scalable, reliable and performant microservices using Go.
Table of Contents (19 chapters)
1
Part 1: Introduction
3
Part 2: Foundation
12
Part 3: Maintenance

Index

As this ebook edition doesn't have fixed pagination, the page numbers below are hyperlinked for reference only, based on the printed edition of this book.

A

ACID properties

atomicity 135

consistency 135

durability 135

isolation 135

alerting 253

basics 252

best practices 265

use cases 253, 254

alerting conditions 252

alerting technique 252

Alpine 153

annotations 79

Apache Avro 83

Apache Thrift 81, 82, 95

benefits 82

limitations 82

application code

preparing, for deployments 148

authentication

implementing, with JWTs 284-286

authorization

implementing, with JWTs 286-288

automated rollbacks 159

B

backoff 199

constant backoff 199

exponential backoff 199

backoff delay 199

backward-incompatible change 194

bearer token 286

black boxes 176

black-box monitoring 216

black box testing 176

blob databases 137

buckets 230

built-in Go log package...