我和朋友寫的《Go語言從基礎到中台微服務實戰開發》已出版在京東,當當上可以購買了


我和朋友寫的《Go語言從基礎到中台微服務實戰開發》已出版在京東,當當上可以購買了

本書從Go開發基礎開始講起,介紹了Go的基本語法 數據類型 Goroutines Channel HTTP HTTPS TCP/UDP服務 Go並發 Go數據庫操作 編譯發布 從開發到發布整個流程,不但介紹了基本的語法,還講了Go並發的一些底層原理,別小看這些原理,大公司很重視和面試經常會問到很多這方面的知識,掌握了底層數據結構和調度原理有能力造輪子和創新創造出新的語言工具和新的有競爭力的產品,而不是停留在熟練工的基礎上。

講了基礎,還通過一個商品管理系統來學以致用,介紹了一套開發的基本方法,怎么封裝怎么前后端交互,還介紹了VUE前端的一些基本內容,看一下應該知道大概是怎么回事。同時介紹了怎么將生成的編譯文件生成Docker鏡像,讓系統運行再Docker里面。

介紹了目前比較混亂不清的中台微服務和服務網格,其實也只是換個概念進行統籌划分而已,內部還是我們熟悉的技術基礎,只是有人問到什么微服務 什么是服務網格 什么是服務治理自己可以回答的出來不會再覺得一頭霧水。

微服務離不開代理,文中詳細介紹了HTTP HTTPS TCP代理的實現,對理解微服務網關核心有幫助。通過微服務Go Micro Go kit介紹了怎么用Go全新實現微服務,區別於網關另一種方法。

Docker和k8s是目前比較流行的雲原生技術,可以顛覆傳統的機器集群部署,自動擴展開,虛擬化,k8s內部是一個強大復雜的網絡架構,像細胞一樣可以不斷分裂 滅亡 重生 有很強的自我繁殖和生存能力,文中介紹了k8s的ingress->service->pod  的網絡路由過程和底層的基本原理,介紹了deployment 部署 yaml service 的一些關鍵概念,對理解整個k8s系統有很強的幫助。

Go的火爆當然離不開區塊鏈了,文中介紹了智能合約 公鏈 錢包 等概念 介紹了以太坊 Fabric等開源工程,對理解區塊鏈從事區塊鏈開發工作有幫助和指導作用。

書本中用到的源碼在https://github.com/zzxap/gobook 

目錄

前言

1章 Go語言開發基礎

1.1 Go語言的優勢

1.1.1 Go開發工具介紹

1.1.2 Go語言的特點

1.2 Go語言的應用現狀

1.3搭建Go開發環境

1.3.1 Windows

1.3.2 Linux (centos) 開發環境搭建

1.3.3 Mac OS

1.4 Go包管理

1.4.1 Go語言包管理

1.4.2 vender

1.4.3 Go Mod

1.5 Go基礎

1.5.1過程控制

1.5 .2 Go基本數據類型

1.6 Go的公私有變量和函數

1.7 Go函數和方法

1.8 Go反射

1.9 接口

1.10 Go的防崩潰recover

1.11 Goroutines

1.12 Channels

1.13  HTTP 服務

1.13.1 http server

1.13.2 一個優化的http服務

1.13.3 http文件服務

1.13.4 中間件和跨域處理

1.13.5 HTTP Get

1.13.6 HTTP Post

1.13.7 HTTP Client

1.13.8 使用HTTP/2

1.14  HTTPS服務

1.14.1 生成HTTPS證書

1.14.2 HTTPS服務

1.14.3 自動生成和更新HTTPS證書

1.14.4 SNI

1.15 TCP/UDP 服務

1.15.1 TCP Server 服務端

1.15.2 TCP Client 客戶端

1.15.3 TLS Server

1.15.4 TLS Client

1.15.5 UDP 服務

1.16 Go並發

1.16.1 sync.WaitGroup

1.16.2 channel 控制並發

1.16.3 Context

1.16.4 Select

1.16.5 timer和ticker

1.16.6 原子計數器

1.16.7 互斥鎖和讀寫鎖

1.16.8 線程池

1.16.9 協程調度器GPM

1.16.10 協程為什么比線程快

1.16.11 GC回收

1.17 Go數據庫操作

1.17.1 Go Sqlite

1.17.2 Go MySQL

1.17.3 Go MSSQL

1.17.4 Go PostgreSQL

1.17.5 Go Redis

1.17.6 Go ETCD

1.17.7 Go ORM

1.18 Go熱更新

1.19 交叉編譯

1.20 Go測試框架

1.21 web開發

2章 Go開發商品管理系統實戰

2.1數據庫設計

2.2后端實現

2.2.1數據訪問層

2.2.2 數據層

2.2.3 邏輯業務層

2.3前端數據請求和展示

3章 中台戰略和微服務

3.1中台

3.2單體應用

3.3微服務

3.4微服務現狀分析

3.5為什么需要微服務

3.6企業什么時候引進微服務

3.7微服務的組織架構

3.8微服務架構的好處

3.9微服務架構的不足

3.10 中台與微服務的區別

3.11 API和微服務

4章 Go微服務實戰

4.1 RPC

4.1.1 RPC原理

4.1.2 RPC例子

4.1.3 jsonRPC

4.1.4 gRPC

4.2 Go Micro 實現一個微服務

4.3 Go kit 微服務

5章 微服務網關

5.1 微服務網關

5.2 微服務的服務發現

5.3 服務治理Service Mesh

5.4 網關負載均衡算法

6章Docker和 K8S

6.1 Docker

6.2 Docker安裝和基本命令

6.3 制作一個Docker

6.4 kubernetes K8S

6.4.1 簡介

6.4.2 為什么要用k8s

6.4.3  Deployment和Service

6.4.4  Ingress

6.4.5 k8s外部到內部通訊流程

6.4.6 安裝k8s

6.4.7 安裝k8s dashboard

6.5 kubernetes K8S 部署應用

7章 微服務中的分布式數據庫

7.1 ETCD介紹

7.2  Consul介紹

7.3 分布式一致性Raft算法

8章 微服務網關

8.1 Traefik

8.1.1 簡介

8.1.2 Traefik v2通過ETCD配置運行

8.1.3 Traefik v2通過文件配置運行

8.2 Fabio

8.3.Istio

9章API網關開發實戰

9.1 HTTP正向代理

9.2 HTTP反向代理

9.3 動態注冊的HTTP代理

9.4 HTTPS代理開發實踐

9.3 TCP代理開發實踐

9.4 SNI代理網關

9.5 總結:微服務實現可以有三種方式

10章 Go和區塊鏈

10.1 Go和區塊鏈技術

10.1.1 什么是區塊鏈?

10.1.2智能合約編程語言

10.1.3懂區塊鏈的Go程序員的優勢

10.2 公鏈、私鏈、聯盟鏈、側鏈、錢包介紹

10.2.1公鏈介紹

10.2.2 私鏈介紹

10.2.3 聯盟鏈介紹

10.2.4 側鏈介紹

10.2.5 錢包介紹

10.3 Go以太坊開發介紹

10.3.1 以太坊介紹

10.3.2 Go以太坊開發

10.3.3 區塊瀏覽器

10.3.4 開發者工具

10.3.5 資源庫

10.3.6 創建客戶端示例

10.3.7 賬戶余額

10.4 開源框架Hyperledger Fabric介紹

10.4.1 Hyperledger 介紹

10.4.2 Hyperledger Fabric介紹

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM