Go开发PaaS平台核心功能

news2024/10/6 0:32:00

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 总结&思考 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/548653.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【SpringMVC框架】--01.简介、入门、@RequestMapping、获取请求参数、域对象共享数据、视图、RestFul

文章目录 SpringMVC1.简介1.1 什么是MVC1.2 什么是SpringMVC1.3 SpringMVC的特点 2.编写HelloWorld2.1 创建maven工程2.2 配置web.xml2.3 创建请求控制器2.4 创建springMVC的配置文件2.5测试HelloWorld2.6总结 3.RequestMapping注解3.1 RequestMapping注解的功能3.2 RequestMap…

Java自定义类:打造属于自己的编程世界

🧑‍💻CSDN主页:夏志121的主页 📋专栏地址:Java核心技术专栏 目录 一、自定义类示例 二、隐式参数与显式参数 三、封装的优点 自定义类是Java中最基本、也是最重要的组成部分之一,使用者可以根据需求创建…

【Go微服务开发】gin+grpc+etcd 重构 grpc-todolist 项目

写在前面 最近稍微重构了之前写的 grpc-todolist 模块 项目地址:https://github.com/CocaineCong/grpc-todoList 1. 项目结构改变 与之前的目录有很大的区别 1.1 grpc_todolist 项目总体 1.1.1 改变前 grpc-todolist/ ├── api-gatway // 网关模块 ├── ta…

【小白版】最简单的 goland package 教程包括自定义包的使用

一、Hello World 最简单的教程,就需要从最简单的事情开始说起: mkdir myappcd myappgo mod init myapp // myapp是主项目名 这行命令将生成一个go.mod文件,这个文件会记录所有的包的依赖关系,一个空的go.mod只有项目名称和go版本…

智能指针详解

概念 在c中,动态内存的管理式通过一对运算符来完成的:new,在动态内存中为对象分配空间并返回一个指向该对象的指针,我们可以选择对对象进行初始化;delete,接受一个动态对象的指针,销毁该对象,并…

gitlab建立新分支提交,cherry-pick部分更新

gitlab介绍 GitLab是一个基于Git的在线代码托管和协作平台,提供源代码管理、单元测试、CI/CD构建、代码审查等功能。它是一个开放源代码的Git仓库管理系统,使用 Ruby on Rails 构建GitLab 不仅具有自己的 Git 仓库管理系统,还具有很多其他的…

AI 加持的代码编写实战:快速实现 Nginx 配置格式化工具

本篇文章聊聊如何使用 GPT 快速完成一个开源小项目,解决实际的问题,顺手点亮 GitHub 上 Nginx 开源社区的贡献者图标。 “Talk is Cheap,Show you the Code。” 写在前面 整理了一篇本该上个月就发出的内容。 前段时间,有个投…

浅谈JDK8的垃圾回收器

JDK1.8默认使用Parallel Scavenge作为年轻代的垃圾回收器,使用Parallel Old作为老年代的垃圾回收器,又称为PS MarkSweep。 Parallel Scavenge 收集器 Parallel Scavenge收集器又称为吞吐量优先收集器,和ParNew收集器类似,是一个新生代收集器。…

【OpenCV DNN】Flask 视频监控目标检测教程 01

欢迎关注『OpenCV DNN Youcans』系列,持续更新中 【OpenCV DNN】Flask 视频监控目标检测教程 01 【OpenCV DNN】Flask 视频监控目标检测教程 01 1. 面向Python程序的Web框架2. Flask 框架的安装与使用2.1 Flask 安装2.2 Flask 框架例程2.3 绑定IP和端口2.4 Flask路…

2023-5-20基于52单片机的智能家居系统(蓝牙)

资料已上传在微信公众号:风吹摇铃 奔赴星海 此系统可根据开发板原理图搭配外载模块实现功能,也可以根据原理图焊接或者PCB焊接。 注意:根据开发板搭载外部模块实现功能,需根据开发板原理图修改代码 0、整理及编写了19个常用的5…

NameServer路由注册与发现

NameServer在RocketMQ中主要承担的就是路由的管理、服务注册、以及服务的发现。在RocketMQ这承担着很重要的责任。 整体架构: 消息生产者在发送消息前需要考虑的问题就是,我需要发给谁?地址在哪儿?对于消费者也一样。那么NameSer…

软件工程 | 期末复习

一、软件与软件危机 1、软件发展经历三个阶段:程序设计、程序系统、软件工程 2、软件的概念:软件是计算机系统与硬件相互依存的另一部分,包括程序、数据以及相关文档的完整集合,软件程序数据文档 数据:使程序能够适…

测试人员转型是大势所趋:我的十年经验告诉我,你必须要行动起来了。

做测试十多年,有不少人问过我下面问题: 现在的手工测试真的不行了吗? 测试工程师,三年多快四年的经验,入门自动化测试需要多久? 自学自动化测试到底需要学哪些东西? 不得不说,随着行…

学习open62541 --- [76] 使用智能指针处理内存释放问题

在使用监测项时,一般都会加一个context,然后在回调函数里使用这个context,这就需要保证context的内存空间在执行回调函数时是有效的。往往有以下三种方法: 使用静态内存空间:使用static创建静态变量,然后把…

【Python 爬虫常见的报错及其解决方法】零基础也能轻松掌握的学习路线与参考资料

Python 爬虫被广泛应用于数据采集和分析。然而,爬虫在运行过程中常常会遇到各种问题和错误,降低了爬虫效率、准确性和可靠性。因此掌握爬虫常见报错及其解决方法是非常关键的。本文将介绍 Python 爬虫常见的报错及其解决方法,并提供参考资料和…

内存泄漏的原因,内存泄漏如何避免?内存泄漏如何定位?

1. 内存溢出 内存溢出 OOM (out of memory),是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个int,但给它存了long才能存下的数,那就是内存溢出。 2. 内存泄…

PyTorch LSTM和LSTMP的原理及其手写复现

PyTorch LSTM和LSTMP的原理及其手写复现 0、前言全部参数的细致介绍代码实现Reference 0、前言 关于LSTM的原理以及公式其实在这篇博客一步一步详解LSTM网络【从RNN到LSTM到GRU等,直至attention】讲的非常清晰明了了。 这里就是写出LSTM的pytorch的实现,…

【随笔记】全志 T507 PF4 引脚无法被正常设置为中断模式的问题分析

相关信息 硬件平台:全志T507 系统版本:Android 10 / Linux 4.9.170 问题描述:PF4 无法通过标准接口设置为中断模式,PF1、PF2、PF3、PF5 都可以。 分析过程 一开始以为是引脚被其它驱动占用引起,或者该引脚不具备中断…

高光谱成像技术在果蔬品质检测中的应用

在当前市场经济背景下,食品安全问题是消费者最为关心的问题之一,尤其是果蔬产品,农药残留问题和品质问题直接关系着消费者的权益和人身安全。针对传统化学检测的缺陷,本文结合高光谱成像技术,对其在果蔬品质与安全无损…

【C++】多态的概念/重写/虚表/抽象类

多态 多态的概念多态的定义和实现重写抽象类多态的原理虚表的构建原理虚函数的调用原理 多态的概念 多态就是多种形态,传递不同的对象,会调用不同的方法。 多态的定义和实现 那么在C语法中,多态是如何实现的呢? 我们首先要在继承…