Building Microservices with Go

Your one-stop guide to the common patterns and practices, showing you how to apply these using the Go programming language
Preview in Mapt

Building Microservices with Go

Nic Jackson

3 customer reviews
Your one-stop guide to the common patterns and practices, showing you how to apply these using the Go programming language
Mapt Subscription
FREE
$29.99/m after trial
eBook
$25.20
RRP $35.99
Save 29%
Print + eBook
$44.99
RRP $44.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
$0.00
$25.20
$44.99
$29.99p/m after trial
RRP $35.99
RRP $44.99
Subscription
eBook
Print + eBook
Start 30 Day Trial

Frequently bought together


Building Microservices with Go Book Cover
Building Microservices with Go
$ 35.99
$ 25.20
Building Microservices with .NET Core 2.0 - Second Edition Book Cover
Building Microservices with .NET Core 2.0 - Second Edition
$ 35.99
$ 25.20
Buy 2 for $35.00
Save $36.98
Add to Cart
Subscribe and access every Packt eBook & Video.
 
  • 5,000+ eBooks & Videos
  • 50+ New titles a month
  • 1 Free eBook/Video to keep every month
Start Free Trial
 

Book Details

ISBN 139781786468666
Paperback358 pages

Book Description

Microservice architecture is sweeping the world as the de facto pattern to build web-based applications. Golang is a language particularly well suited to building them. Its strong community, encouragement of idiomatic style, and statically-linked binary artifacts make integrating it with other technologies and managing microservices at scale consistent and intuitive. This book will teach you the common patterns and practices, showing you how to apply these using the Go programming language.

It will teach you the fundamental concepts of architectural design and RESTful communication, and show you patterns that provide manageable code that is supportable in development and at scale in production. We will provide you with examples on how to put these concepts and patterns into practice with Go.

Whether you are planning a new application or working in an existing monolith, this book will explain and illustrate with practical examples how teams of all sizes can start solving problems with microservices. It will help you understand Docker and Docker-Compose and how it can be used to isolate microservice dependencies and build environments. We finish off by showing you various techniques to monitor, test, and secure your microservices.

By the end, you will know the benefits of system resilience of a microservice and the advantages of Go stack.

Table of Contents

Chapter 1: Introduction to Microservices
Building a simple web server with net/http
Reading and writing JSON
Routing in net/http
Context
RPC in the Go standard library
Summary
Chapter 2: Designing a Great API
RESTful APIs
RPC APIs
Versioning APIs
Object type standardization
Documenting APIs
Summary
Chapter 3: Introducing Docker
Introducing Containers with Docker
Installing Docker
Running our first container
Docker volumes
Docker ports
Removing a container starting with an explicit name
Docker networking
Writing Dockerfiles
Docker Compose
Summary
Chapter 4: Testing
The testing pyramid
Outside-in development
Benchmarking and profiling
Summary
Chapter 5: Common Patterns
Design for failure
Patterns
Summary
Chapter 6: Microservice Frameworks
What makes a good microservice framework?
Micro
Kite
gRPC
Summary
Chapter 7: Logging and Monitoring
Logging best practices
Metrics
Logging
Exceptions
Summary
Chapter 8: Security
Encryption and signing
External security
Application security
Maintenance
Summary
Chapter 9: Event-Driven Architecture
Differences between synchronous and asynchronous processing
Types of asynchronous messages
Command Query Responsibility Segregation (CQRS)
Domain-Driven Design
Software
Summary
Chapter 10: Continuous Delivery
What is Continuous Delivery?
What is container orchestration?
What is immutable infrastructure?
Terraform
Example application
Summary

What You Will Learn

  • Plan a microservice architecture and design a microservice
  • Write a microservice with a RESTful API and a database
  • Understand the common idioms and common patterns in microservices architecture
  • Leverage tools and automation that helps microservices become horizontally scalable
  • Get a grounding in containerization with Docker and Docker-Compose, which will greatly accelerate your development lifecycle
  • Manage and secure Microservices at scale with monitoring, logging, service discovery, and automation
  • Test microservices and integrate API tests in Go

Authors

Table of Contents

Chapter 1: Introduction to Microservices
Building a simple web server with net/http
Reading and writing JSON
Routing in net/http
Context
RPC in the Go standard library
Summary
Chapter 2: Designing a Great API
RESTful APIs
RPC APIs
Versioning APIs
Object type standardization
Documenting APIs
Summary
Chapter 3: Introducing Docker
Introducing Containers with Docker
Installing Docker
Running our first container
Docker volumes
Docker ports
Removing a container starting with an explicit name
Docker networking
Writing Dockerfiles
Docker Compose
Summary
Chapter 4: Testing
The testing pyramid
Outside-in development
Benchmarking and profiling
Summary
Chapter 5: Common Patterns
Design for failure
Patterns
Summary
Chapter 6: Microservice Frameworks
What makes a good microservice framework?
Micro
Kite
gRPC
Summary
Chapter 7: Logging and Monitoring
Logging best practices
Metrics
Logging
Exceptions
Summary
Chapter 8: Security
Encryption and signing
External security
Application security
Maintenance
Summary
Chapter 9: Event-Driven Architecture
Differences between synchronous and asynchronous processing
Types of asynchronous messages
Command Query Responsibility Segregation (CQRS)
Domain-Driven Design
Software
Summary
Chapter 10: Continuous Delivery
What is Continuous Delivery?
What is container orchestration?
What is immutable infrastructure?
Terraform
Example application
Summary

Book Details

ISBN 139781786468666
Paperback358 pages
Read More
From 3 reviews

Read More Reviews

Recommended for You

Mastering Concurrency in Go Book Cover
Mastering Concurrency in Go
$ 30.99
$ 21.70
Go Programming Blueprints - Second Edition Book Cover
Go Programming Blueprints - Second Edition
$ 39.99
$ 28.00
Mastering Go Web Services Book Cover
Mastering Go Web Services
$ 39.99
$ 28.00
Go Programming Blueprints Book Cover
Go Programming Blueprints
$ 29.99
$ 21.00
Learning Go Web Development Book Cover
Learning Go Web Development
$ 23.99
$ 16.80
Go Design Patterns Book Cover
Go Design Patterns
$ 39.99
$ 28.00