Go 语言项目开发实战
孔令飞
腾讯云资深工程师,前Red Hat、联想云工程师
新⼈⾸单¥68
3907 人已学习
课程目录
已更新 53 讲 / 共 58 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 从 0 开始搭建一个企业级 Go 应用
免费
课前必学 (3讲)
01 | IAM系统概述:我们要实现什么样的 Go 项目?
02 | 环境准备:如何安装和配置一个基本的 Go 开发环境?
03 | 项目部署:如何快速部署 IAM 系统?
实战第 1 站:规范设计 (8讲)
04 | 规范设计(上):项目开发杂乱无章,如何规范?
05 | 规范设计(下):commit 信息风格迥异、难以阅读,如何规范?
06 | 目录结构设计:如何组织一个可维护、可扩展的代码目录?
07 | 工作流设计:如何设计合理的多人开发模式?
08 | 研发流程设计(上):如何设计 Go 项目的开发流程?
09 | 研发流程设计(下):如何管理应用的生命周期?
10 | 设计方法:怎么写出优雅的 Go 项目?
11 | 设计模式:Go常用设计模式概述
实战第2站:基础功能设计或开发 (12讲)
12 | API 风格(上):如何设计RESTful API?
13 | API 风格(下):RPC API介绍
14 | 项目管理:如何编写高质量的Makefile?
15 | 研发流程实战:IAM项目是如何进行研发流程管理的?
16 | 代码检查:如何进行静态代码检查?
17 | API 文档:如何生成 Swagger API 文档 ?
18 | 错误处理(上):如何设计一套科学的错误码?
19 | 错误处理(下):如何设计错误包?
20 | 日志处理(上):如何设计日志包并记录日志?
21 | 日志处理(下):手把手教你从 0 编写一个日志包
22 | 应用构建三剑客:Pflag、Viper、Cobra 核心功能介绍
23 | 应用构建实战:如何构建一个优秀的企业应用框架?
实战第3站:服务开发 (12讲)
24 | Web 服务:Web 服务核心功能有哪些,如何实现?
25 | 认证机制:应用程序如何进行访问认证?
26 | IAM项目是如何设计和实现访问认证功能的?
27 | 权限模型:5大权限模型是如何进行资源授权的?
28 | 控制流(上):通过iam-apiserver设计,看Web服务的构建
29|控制流(下):iam-apiserver服务核心功能实现讲解
30 | ORM:CURD 神器 GORM 包介绍及实战
31 | 数据流:通过iam-authz-server设计,看数据流服务的设计
32 | 数据处理:如何高效处理应用程序产生的数据?
33 | SDK 设计(上):如何设计出一个优秀的 Go SDK?
34 | SDK 设计(下):IAM项目Go SDK设计和实现
35 | 效率神器:如何设计和实现一个命令行客户端工具?
实战第4站:服务测试 (4讲)
36 | 代码测试(上):如何编写 Go 语言单元测试和性能测试用例?
37 | 代码测试(下):Go 语言其他测试类型及 IAM 测试介绍
38|性能分析(上):如何分析 Go 语言代码的性能?
39|性能分析(下):API Server性能测试和调优实战
实战第5站:服务部署 (9讲)
40 | 软件部署实战(上):部署方案及负载均衡、高可用组件介绍
41 | 软件部署实战(中):IAM 系统生产环境部署实战
42 | 软件部署实战(下):IAM系统安全加固、水平扩缩容实战
43|技术演进(上):虚拟化技术演进之路
44|技术演进(下):软件架构和应用生命周期技术演进之路
45|基于Kubernetes的云原生架构设计
46 | 如何制作Docker镜像?
47 | 如何编写Kubernetes资源定义文件?
48 | 基于腾讯云 EKS 的容器化部署实战
特别放送 (4讲)
特别放送 | 给你一份清晰、可直接套用的Go编码规范
特别放送 | 给你一份Go项目中最常用的Makefile核心语法
特别放送 | Go Modules依赖包管理全讲
特别放送 | IAM排障指南
Go 语言项目开发实战
15
15
1.0x
00:00/00:00
登录|注册

特别放送 | IAM排障指南

你好,我是孔令飞。
今天我们更新一期特别放送作为加餐。在部署和使用 IAM 的过程中,难免会出现一些异常 (也称为故障、问题)。这时候,就需要我们能够定位故障,并修复故障。这里,我总结了一些 IAM 的排障方法,以及一些常见故障的解决方法,供你参考。

如何排障?

首先,我们需要发现问题,然后定位问题。我们可能需要经过多轮分析排查才能定位到问题的根因,最后去解决问题。排障流程如下图所示:
如果想排查问题并解决问题,你还需要具备这两个基本能力:能够理解错误日志的内容;根据错误日志,找出解决方案。
我们举个例子来说吧。有以下错误:
[going@dev iam]$ mysql -h127.0.0.1 -uroot -p'iam59!z$'
bash: /usr/bin/mysql: 没有那个文件或目录
[going@dev iam]$
对于这个错误,我们首先来理解错误内容:mysql 命令没有找到,说明没有安装 mysql,或者安装 mysql 失败。
那么,我们的解决方案就是重新执行 03 讲 中安装 MariaDB 的步骤:
$ cd $IAM_ROOT
$ ./scripts/install/mariadb.sh iam::mariadb::install
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
该试读文章来自付费专栏《Go 语言项目开发实战》,如需阅读全部文章,
请订阅文章所属专栏新⼈⾸单¥68
立即订阅
登录 后留言

精选留言(1)

  • lesserror
    多谢老师,这些排障技巧在日常开发中也很用。
    2021-09-18
收起评论
1
返回
顶部