我和朋友写的《Go语言从基础到中台微服务实战开发》已出版在京东,当当上可以购买了

本书从Go开发基础开始讲起,介绍了Go的基本语法 数据类型 Goroutines Channel HTTP HTTPS TCP/UDP服务 Go并发 Go数据库操作 编译发布 从开发到发布整个流程,不但介绍了基本的语法,还讲了Go并发的一些底层原理,别小看这些原理,大公司很重视和面试经常会问到很多这方面的知识,掌握了底层数据结构和调度原理有能力造轮子和创新创造出新的语言工具和新的有竞争力的产品,而不是停留在熟练工的基础上。

Docker和k8s是目前比较流行的云原生技术,可以颠覆传统的机器集群部署,自动扩展开,虚拟化,k8s内部是一个强大复杂的网络架构,像细胞一样可以不断分裂 灭亡 重生 有很强的自我繁殖和生存能力

Go的火爆当然离不开区块链了,文中介绍了智能合约 公链 钱包 等概念 介绍了以太坊 Fabric等开源工程,对理解区块链从事区块链开发工作有帮助和指导作用。

我和朋友写的《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介绍

 

查看原文