Go开发PaaS平台核心功能
1 云原生PaaS平台介绍
随着云计算的发展,越来越多的企业逐步的把IT资源迁移到云上。PaaS平台作为基础设施基座,可以帮助企业快速构建功能丰富的容器云平台,提升交付效率,降低成本。
[1.1] 云原生平台使用的主流技术
建设路径,先建设pass平台,再开发go微服务,然后扩大云原生支持.
容器监控系统 Promethus + Grafana
容器模式下中间件主流的接入方案
标准的路由管理技术 nginx ingress
云原生平台展示
[1.2] 什么是云原生GOPaaS平台以及有哪些优势
PaaS 平台是什么?
PaaS 平台与 DevOps
PaaS平台与服务网格
PaaS 平台与低代码
PaaS 平台是什么?
PaaS(平台即服务):提供了一个用于开发、运行和管理应用程序的完整、灵活且经济高效的云平台。
是一种云计算模型,它为客户提供一个完整的云平台以用于开发、运行和管理应用程序,而无需考虑在本地构建和维护该平台通常会带来的成本、复杂性和不灵活性。
PaaS 平台的优势
缩短产品上市时间
开发团队提供更大的灵活性
降低总体成本
[1.3] 云原生GoPaaS平台与DevOps的关系
PaaS 与 DevOps
DevOps 开发规范流程每个公司都有多种
新体系的下 DevOps 会融入到 PaaS 平台中
规模化的交付将借助于现有的 PaaS 体系进行
[1.4] 云原生PaaS平台与服务网格
PaaS 与 服务网格
Service Mesh 是下一代微服务架构
Service Mesh 有成熟的观测台
Service Mesh 需要通过 PaaS 平台进行系统性的管理
[1.5] 云原生GoPaaS平台与低代码
Paas 与 低代码
低代码是当今的风口,通过图形化编程方式来快速落地业务
低代码生成源码后会跑在 PaaS 平台中
低代码的交付模式将直接在 PaaS平台的基础上发展
第2章 Go 搭建基础开发环境
准备开发环境,介绍go mod 的代理设置、工程目录结构的规划、Docker-compose 的使用。准备了自动化的生成框架 Cap-tool ,可以无缝衔接日常业务。
2-1 环境安装级版本说明
2-2 go 代理和 git 设置
2-3 项目目录结构
2-4 cap-tool 代码目录生成 & proto 文件生成
2-5 docker-compose yml编写和常见用法
2-6 总结&思考
2-7 【扩展阅读】docker 安装和详细操作命令
2-8 【扩展阅读】Dockerfile 详细说明
第3章 Go 微服务 go-micro v3 框架快速入门
要完成PaaS 平台的开发,需要对微服务有充分的认知。认识 v3 与 micro 的区别;了解 go-micro框架,认识它的注册中心、配置中心、链路追踪、熔断&限流、监控等模块组件的使用,掌握Go主流微服务框架的核心应用。
3-1 本章概览
3-2 go-micro v3 框架与 micro v3 的关系
3-3 go-micro v3 框架整体介绍
3-4 go-micro v3 添加集群版本consul(上)
3-5 go-micro v3 添加集群版本consul(下
3-6 go-micro v3 添加配置中心
3-7 go-micro v3 如何使用配置中心连接 mysql
3-8 go-micro v3 添加链路追踪
3-9 go-micro v3 添加熔断和限流
3-10 go-micro v3 启用日志中心
3-11 go-micro v3 添加监控中心
3-12 总结&思考
3-13 【扩展阅读】升入源码理解 Go-micro v3
3-14 【课后练习】阶段练练练
第4章 云原生 Go PaaS 平台 K8s 快速入门
开发 PaaS 平台必须要对底层 K8s 的核心有深入的了解,探究 k8s 核心组件以及核心组件的原理。
4-1 Go PaaS 平台k8s 架构原理
4-2 Go PaaS 平台 k8s 核心组件-apiserver 架构原理讲解
4-3 Go PaaS 平台 controller 与 scheduler 调度器原理(上)
4-4 Go PaaS 平台 controller 与 scheduler 调度器原理(下)
4-5 Go PaaS 平台 Service,deployment,pod的关系
4-6 【扩展阅读】RS和Replicaset 区别
4-7 k8s的安装(上)
4-8 k8s的安装(下)
4-9 总结&思考
4-10 【课后练习】阶段练练练
第5章 云原生 Go PaaS 平台应用服务管理功能开发,产品化创建资源
容器应用的管理为 PaaS 平台的核心内容,更是平时使用最多的模块,该模块对生产使用,动态创建,资源分配都有极大的简化作用,能够帮助研发,运维人员通过改功能,快速创建需要的资源及需要部署的应用,完成相关模块功能的开发,并掌握 K8S 部署的实用技巧。
5-1 PaaS 平台应用开发-Deployment介绍
5-2 PaaS 平台Pod 基本概念依据调度策略介绍
5-3 基于go mod的相关设置
5-4 GO PaaS 平台开发工程目录创建及说明
5-5 Go PaaS 平台 Pod 模型的开发(上)
5-6 Go PaaS 平台 Pod 模型的开发(下)
5-7 GO PaaS 平台 Repository 代码开发(上)
5-8 GO PaaS 平台 Repository 代码开发(下)
5-9 GO PaaS 平台 Proto 对外服务开发
5-10 GO PaaS 平台 Service 开发(1)
5-11 GO PaaS 平台 Service 开发(2)
5-12 GO PaaS 平台 Service 开发(3)
5-13 GO PaaS 平台 Main 开发、基础中间件创建(上)
5-14 GO PaaS 平台 Main 开发、基础中间件创建(下)
5-15 创建k8s集群config ,通过kubectl操作k8s集群(上)
5-16 创建k8s集群config ,通过kubectl操作k8s集群(下)
5-17 pod handler 对外服务逻辑实现(上)
5-18 pod handler 对外服务逻辑实现(下)
5-19 POD 服务打包到docker中的注意事项及代码修改注意事项
5-20 Pod API 工程目录以及 proto 文件开发
5-21 Pod API Handler 开发
5-22 Pod main 开发
5-23 统一网关的说明讲解
5-24 API 完善及pod 前端页面开发(上)
5-25 API 完善及pod 前端页面开发(下)
5-26 总结&思考
5-27 【扩展阅读】Kubernetes Pod 优先级和抢占源码解析
5-28 【扩展阅读】POD 节点压力驱逐策略详解
5-29 【扩展阅读】K8s 调度器 kube-scheduler 详解
5-30 【课后习题】阶段练练练
第6章 云原生 Go PaaS 平台服务管理功能开发,学习服务与底层的关系
PaaS 平台中服务起着至关重要的作用,负责控制多种发布策略,是保证服务负载均衡,蓝绿发布,金丝雀发布的基础,通过 Service 服务的管理功能,讲解 Service 与 Pod 的关联关系。同时介绍快速开发框架 cap-tool,cap-v3 的使用说明,也能复用于日常工作,提高开发效能.
6-1 Service 类型原理介绍
6-2 cap-v2,cap-tool,cap-api-gateway 工具说明
6-3 Service 服务端 model 模型开发
6-4 service 服务端proto 文件开发及代码生成
6-5 Service 服务开发
6-6 svc API 工程创建及接口业务逻辑开发
6-7 服务管理前端效果展示及删除接口完善
6-8 总结&思考
6-9 【扩展阅读】深度剖析 K8S DNS 的 Service 与 Pod
6-10 【课后习题】阶段练练练
第7章 云原生 Go PaaS 平台路由管理功能开发,对外域名映射,动态设置域名
域名能够让我们的服务提供外网访问的能力,让公网也能够访问到集群内部的资源,是我们开放业务的入口。将讲解 Ingress 的核心原理和流量转化流程,熟练掌握如何应用 K8s 中的服务通过域名的方式映射到公网,提供外网访问能力。
7-1 路由ingress 架构详解
7-2 路由model与repository开发调整
7-3 路由 service 开发
7-4 路由 handler 逻辑开发和注意事项
7-5 route 对外API的开发
7-6 在k8s 中创建 nginx-controller 资源对象
7-7 route 前端管理页面及效果演示
7-8 总结&思考
7-9 【扩展阅读】Kubernetes 使用 ingress 配置 https 集群
7-10 【课后习题】阶段练练练
第8章 云原生Go PaaS 平台后台监控能力建设,总览集群资源使用
集群的状态需要有强有力的全局视图,监控系统应运而生,通过强大的监控系统能够窥探整个 PaaS 的运行状态,实施反馈集群信息轻松掌握使用 Promethus 对整个 PaaS 平台应用和组件的监控能力,可以通过监控结合不同的业务逻辑适应企业多变的业务需求。
8-1 Go PaaS 平台监控系统 Prometheus 架构介绍
8-2 Go PaaS 平台Prometheus 监控安装
8-3 Go PaaS 平台 监控 Grafana 图标使用说明
8-4 总结&思考
8-5 【扩展阅读】Prometheus Operator 安装配置详细文档
8-6 【课后习题】阶段练练练
第9章 云原生 Go PaaS 平台分布式存储管理功能开发,提供数据落盘方案
数据是非常宝贵的财富,业务运行过程中产生的数据是无形的资产,分布式存储系统能够提供多种数据保存方案。深度解读 Ceph 分布式系统的原理、架构、核心组件等知识
9-1 Go PaaS 平台分布式存储 Ceph 架构介绍
9-2 Go PaaS 平台 Ceph 核心组件介绍
9-3 Go PaaS 平台 Ceph 存储过程及核心概念介绍
9-4 Go PaaS 平台Ceph 资源购买注意事项
9-5 Go PaaS 平台Ceph 安全机器初始化
9-6 Go PaaS 平台cephadm 安装基础集群(上)
9-7 Go PaaS 平台cephadm 安装基础集群(下)
9-8 Go PaaS 平台ceph 核心组件安装
9-9 Go PaaS 平台 k8s 通过CSI方式添加外部Ceph 系统(上)
9-10 Go PaaS 平台 k8s 通过CSI方式添加外部Ceph 系统(下)
9-11 Go PaaS 平台PVC 模型开发
9-12 Go PaaS 平台 Service 开发(上)
9-13 Go PaaS 平台 Service 开发(下)
9-14 Go PaaS 平台 PV与PVC 的关系和原理说明
9-15 Go PaaS 平台 Service Handler 开发
9-16 Go PaaS 平台 volume api 开发
9-17 总结&思考
9-18 【扩展阅读】基于kubernetes-1.21.5使用Rook方式部署Ceph
9-19 【课后习题】阶段练练练
第10章 云原生 Go PaaS 平台中间件后端管理服务,动态创建中间件
研发过程中通常有创建不同中间件的需求,能够提供开箱即用的提供中间件资源,是一件非常高效的方式,学习mysql 的中间的创建和管理,并且通过中间件挂载分布式存储来满足数据落盘的需求。
10-1 Go 云原生PaaS 平台 中间件 model – middleware 创建
10-2 Go PAAS 平台 中间件model-middle_port. 创建
10-3 中间件model-middle_env 创建
10-4 中间件model-MiddleConfig 创建
10-5 中间件model-MiddleStorage创建
10-6 中间件类型type 和 version 创建
10-7 中间件 middleware repository 开发
10-8 中间件类型type和verison repository开发
10-9 中间件 proto 文件开发
10-10 中间件 service 开发(1)
10-11 中间件 service 开发(2)
10-12 中间件middleware service开发(3)
10-13 中间件middleware service开发(4)
10-14 中间件service 对应版本服务代码开发
10-15 中间件main调整 及 handler 开发(上)
10-16 中间件main调整 及 handler 开发(下)
10-17 中间件前端页面以及核心API开发(上)
10-18 中间件前端页面以及核心API开发(中)
10-19 中间件前端页面以及核心API开发(下)
10-20 总结&思考
10-21 【扩展阅读】k8s 实战篇 – Mysql 容器化部署详解
10-22 【课后习题】阶段练练练
第11章 云原生 Go PaaS 平台镜功能开发,商业化镜像市场,完善平台市场功能
开发完成的应用能够包装成各自独立的应用程序,以便于在市场上通过售卖和安装的方式给客户获取到。开发满足业务需求的镜像市场功能,使得我们的应用能够像APP 应用一样在 PaaS 平台上购买和被安装。
11-1 云应用市场开发介绍
11-2 云应用app_store模型开发及管理说明
11-3 云应用辅助信息model 开发
11-4 云应用市场 repository 代码开发
11-5 云应用平台Service 代码开发
11-6 云应用市场服务端Proto 开发
11-7 云应用市场服务端 handler 开发
11-8 云应用市场APi Proto 开发
11-9 云应用市场 API form 表单处理研发
11-10 云应用添加应用addAppStore 接口(上)
11-11 云应用addAppStore(中)
11-12 云应用市场API 开发(下)
11-13 总结&思考