BPB Online LLP
Building Server-side and Microservices with Go
Building Server-side and Microservices with Go
US$ 19.95
The publisher has enabled DRM protection, which means that you need to use the BookFusion iOS, Android or Web app to read this eBook. This eBook cannot be used outside of the BookFusion platform.
Description
Contents
Reviews

Develop and deploy efficient server-side applications and microservice architectures.

Key Features
● Extensive examples of the Go programming language and REST concepts.
● Includes graphical illustrations and visual explanation of the microservice architecture.
● Graphs and visual explanation for Docker and Kubernetes commands.

Description
'Building Server-side and Microservices with Go' teaches you the fundamentals of Go programming languages, REST server applications, and microservices. You can develop efficient server-side applications and use modern development concepts such as microservices after reading this book.

We will create simple server-side applications and add new features as and when a new topic is covered. We will begin with the fundamentals of Go programming languages, which will create simple server-side applications. During development, a layered design will be introduced, with each application layer serving a specific purpose. We will introduce you to the microservice concept, and it is further divided into a couple of smaller microservices. Finally, we'll look at how to use Docker and Kubernetes to deploy and scale microservices.

After reading this book, we will be able to successfully develop monolithic and microservice applications and identify when one approach is more appropriate than another. This book can also help improve existing applications. It is a perfect handy guide to build proficiency with Docker and Kubernetes.

What you will learn
● Basics of Go programming language (data types, structures, loops, functions, concurrency, etc).
● REST concept development and implementation.
● Introduction to layered server-side application designs and key roles.
● PostgreSQL database design, CRUD operations, and queries.

Who this book is for
This book is intended for backend developers, software architects, and students interested in learning about the Go programming language, REST Server Applications, and Microservices. Knowing fundamental programming concepts would be an advantage but not essential.

Table of Contents
1. Fundamentals of Go Programming Language
2. REST Server Applications
3. HTTP Layer and Handler
4. Core Layer
5. Data Layer and Database
6. Microservices
7. Microservices in Go
8. Microservice Communication
9. Deployment and Scaling

About the Author
Dušan Stojanović was born in Smederevo, Serbia, in 1989. He received a Bachelor’s degree in Computer Science from University in Belgrade in 2012 and a Master’s degree in Computer Science from University in Belgrade in 2013. Since 2013, he has been working for various software companies. He is passionate about REST API Applications and Microservices. This is his first book.

Language
English
ISBN
9789391030285
Cover Page
Title Page
Copyright Page
Dedication Page
About the Author
About the Reviewer
Acknowledgement
Preface
Errata
Table of Contents
1. Fundamentals of Go Programming Language
Structure
Objectives
1.1 History of Go
1.2 Installation
1.3 Basics of Go
1.3.1 First Go program
1.3.2 Packages
1.3.3 Variables
1.3.4 Constants
1.4 Comments
1.5 Data types
1.5.1 Basic types
1.5.2 Type conversion
1.5.3 Pointers
1.5.4 Struct
1.5.5 Arrays
1.5.6 Slices
1.5.7 Maps
1.6 Flow control
1.6.1 For loop
1.6.2 Range
1.6.3 If and if-else
1.6.4 Switch
1.6.5 Defer
1.7 Functions and methods
1.7.1 Functions
1.7.2 Methods
1.8 Interfaces
1.9 Concurrency
1.9.1 Goroutines
1.9.2 Channels
1.9.3 Select
1.9.4 Mutex
1.9.5 WaitGroups
1.10 Scheduling in Go
1.11 Garbage collector
1.12 Testing
Conclusion
Points to remember
Multiple Choice Questions
Answers
Questions
Key terms
2. REST Server Applications
Structure
Objectives
2.1 Basics of REST
2.2 Go and REST Server Application
2.3 REST Server Application overview
2.4 Layers of Server Application
2.5 Folder structure
2.6 Initial configuration of Server Application
Conclusion
Points to remember
Multiple choice questions
Answers
Questions
Key terms
3. HTTP Layer and Handler
Structure
Objectives
3.1 HTTP
3.2 Errors
3.3 HTTP Layer – accepting HTTP requests
3.5 Handler Layer – handling HTTP Requests
Conclusion
Points to remember
Multiple choice questions
Answers
Questions
Key terms
4. Core Layer
Structure
Objectives
4.1 Null string
4.2 Core Layer – Business Logic
4.2.1 User functions
4.2.2 Book functions
Conclusion
Points to remember
Multiple choice questions
Answers
Questions
Key terms
5. Data Layer and Database
Structure
Objectives
5.1 Database Layer
5.1.1 Database design
5.1.2 Creating a database
5.1.3 Database creation SQL Script
5.1.4 Initializing database SQL Script
5.1.5 Database configuration and initialization
5.1.6 DB Runner
5.1.7 Row reader
5.2 Data layer
5.2.1 Common functionsf
5.2.2 User functionsf
5.2.3 Book functions
5.3 Where next?
5.3.1 Documentation
5.3.2 API testing
5.3.3 Break a monolith into microservices
Conclusion
Points to remember
Multiple choice questions
Answers
Questions
Key terms
6. Microservices
Structure
Objectives
6.1 Basics of microservices
6.2 History of microservices
6.3 Microservice architectures
6.4 Advantages of microservices
6.5 Disadvantages of microservices
6.6 Development practices
Conclusion
Points to remember
Multiple choice questions
Answers
Questions
Key terms
7. Microservices in Go
Structure
Objectives
7.1 Go and Microservices
7.2 How to break Monolith into Microservices
7.2.1 Microservice architecture overview
7.2.2 Go Modules
7.2.3 Breaking database
7.2.4 Breaking application layers
7.2.4.1 Initial configuration of microservices
7.2.4.2 HTTP layer
7.2.4.3 Handler layer
7.2.4.4 Core layer
7.2.4.5 Data layer
7.2.4.6 Database layer
7.2.4.7 Documentation
Conclusion
Points to remember
Multiple choice questions
Answers
Questions
Key terms
8. Microservice Communication
Structure
Objectives
8.1 Communication methods
8.1.1 Protocol buffers
8.1.2 Message queuing protocols
8.2 gRPC
8.2.1 Proto file
8.2.2 gRPC server
8.2.3 gRPC client
8.2.4 Development practices
8.3 RabbitMQ
8.3.1 RabbitMQ producer
8.3.2 Report microservice overview
8.3.3 RabbitMQ Consumer
Conclusion
Points to remember
Multiple choice question
Answers
Questions
Key terms
9. Deployment and Scaling
Structure
Objectives
9.1 Microservice deployment
9.2 Scaling microservice
9.3 Docker
9.3.1 Basics of Docker
9.3.2 Microservices Dockerization
9.4 Kubernetes
9.4.1 Basics of Kubernetes
9.4.2 Deploying microservices with Kubernetes
9.4.3 Exposing Kubernetes deployment
9.4.4 Scaling Kubernetes deployment
9.5 Summary
9.5.1 REST server application
9.5.2 Microservices
9.5.3 Future of microservices
9.5.4 What next?
Conclusion
Points to remember
Multiple choice questions
Answers
Questions
Key terms
Index
The book hasn't received reviews yet.