注重体验与质量的电子书资源下载网站
分类于: 互联网 设计
简介
Distributed Services with Go: Your Guide to Reliable, Scalable, and Maintainable Systems 豆 0.0分
资源最后更新于 2020-10-28 12:15:20
作者:Travis Jeffery
出版社:Pragmatic Bookshelf
出版日期:2020-01
ISBN:9781680507607
文件格式: pdf
标签: 分布式 软件工程 programming Go 2020
简介· · · · · ·
Take your Go skills to the next level by learning how to design, develop, and deploy a distributed service. Start from the bare essentials of storage handling, then work your way through networking a client and server, and finally to distributing server instances, deployment, and testing. All this will make coding in your day job or side projects easier, faster, and more fun.
L...
目录
ntroduction
Get Started
Let’s Go
How JSON over HTTP Services Fits into Distributed Systems
Set Up the Project
Build a Commit Log Prototype
Build a JSON over HTTP Server
Run Your Server
Test Your API
What You Learned
Structure Data with Protocol Buffers excerpt
Why Use Protocol Buffers?
Install the Protocol Buffer Compiler
Define Your Domain Types as Protocol Buffers
Compile Protocol Buffers
Work with the Generated Code
What You Learned
Write a Log Package
The Log Is a Powerful Tool
How Logs Work
Build a Log
What You Learned
Network
Serve Requests with gRPC excerpt
What Is gRPC?
Goals When Building a Service
Define a gRPC Service
Compile with the gRPC Plugin
Implement a gRPC Server
Register Your Server
Test a gRPC Server and Client
What You Learned
Secure Your Services
Secure Services in Three Steps
Authenticate the Server with TLS
Authenticate the Client with Mutual TLS Authentication
Authorize with Access Control Lists
What You Learned
Distribute
Server-to-Server Service Discovery
Why Use Service Discovery? excerpt
Embed Service Discovery
Discover Services with Serf
Request Discovered Services and Replicate Logs
Test Discovery and the Service End-to-End
What You Learned
Coordinate Your Services with Consensus
What Is Raft and How Does It Work?
Implement Raft in Our Service
Multiplex to Run Multiple Services on One Port
What You Learned
Discover Servers and Load Balance From the Client
Three Load-Balancing Strategies
Load Balance on the Client in gRPC
Make Servers Discoverable
Resolve the Servers
Route and Balance Requests with Pickers
Test Discovery and Balancing End-to-End
What You Learned
Deploy
Deploy Applications with Kubernetes
Manage Your Applications with an Operator
Test
Unit Test Your Applications
System Test Your Applications
Write Fast Go
Get Started
Let’s Go
How JSON over HTTP Services Fits into Distributed Systems
Set Up the Project
Build a Commit Log Prototype
Build a JSON over HTTP Server
Run Your Server
Test Your API
What You Learned
Structure Data with Protocol Buffers excerpt
Why Use Protocol Buffers?
Install the Protocol Buffer Compiler
Define Your Domain Types as Protocol Buffers
Compile Protocol Buffers
Work with the Generated Code
What You Learned
Write a Log Package
The Log Is a Powerful Tool
How Logs Work
Build a Log
What You Learned
Network
Serve Requests with gRPC excerpt
What Is gRPC?
Goals When Building a Service
Define a gRPC Service
Compile with the gRPC Plugin
Implement a gRPC Server
Register Your Server
Test a gRPC Server and Client
What You Learned
Secure Your Services
Secure Services in Three Steps
Authenticate the Server with TLS
Authenticate the Client with Mutual TLS Authentication
Authorize with Access Control Lists
What You Learned
Distribute
Server-to-Server Service Discovery
Why Use Service Discovery? excerpt
Embed Service Discovery
Discover Services with Serf
Request Discovered Services and Replicate Logs
Test Discovery and the Service End-to-End
What You Learned
Coordinate Your Services with Consensus
What Is Raft and How Does It Work?
Implement Raft in Our Service
Multiplex to Run Multiple Services on One Port
What You Learned
Discover Servers and Load Balance From the Client
Three Load-Balancing Strategies
Load Balance on the Client in gRPC
Make Servers Discoverable
Resolve the Servers
Route and Balance Requests with Pickers
Test Discovery and Balancing End-to-End
What You Learned
Deploy
Deploy Applications with Kubernetes
Manage Your Applications with an Operator
Test
Unit Test Your Applications
System Test Your Applications
Write Fast Go