0 基础学运维:解锁 K8s 云计算运维工程师成长密码

news2025/1/26 23:57:58

前言:作为一个过来人,我曾站在技术的门槛之外,连电脑运行内存和内存空间都傻傻分不清,完完全全的零基础。但如今,我已成长为一名资深的k8s云计算运维工程师。回顾这段历程,我深知踏上这条技术之路的艰辛与不易,也明白方向和方法的重要性。

想要在这个领域入行并拥有出类拔萃的技术,扎实的基础、对高级架构的理解,以及丰富的实战经验缺一不可。需要沿着基础、高级架构、实战进阶这三大板块所细分出的技术点,一步一个脚印地学习。初次看到这么多技术要点,心生畏惧是再正常不过的反应,我自己刚开始时也被唬住了。

好几年前,我独自一人奔赴北京,决心为梦想拼搏。为了专注学习技术,我戒掉了心爱的游戏。工作日里,我沉浸在技术的海洋中努力汲取知识;周末本应是休息放松的时光,我却选择泡在教室里,认真复习巩固一周所学,就这样日积月累,才打下了坚实的基础。

在接触这些技术之前,会觉得它们高不可攀,仿佛攀登陡峭的山峰,困难重重。但当你真正深入其中,随着知识和经验的积累,就会惊喜地发现,许多操作早已得心应手,无需刻意思索就能完成,这便是“知行合一”的境界。

这篇博客,是我为大家精心准备的入行技术线路图,希望能为你们指引方向。如果想更高效地掌握这些技术,我强烈建议像我当年一样,进行系统的学习。如今网络上的学习资料铺天盖地,看似丰富,实则零散。面对海量信息,你很难分辨哪些是重点,哪些内容需要深入钻研,这不仅会耗费大量时间,还可能因错误的引导而走弯路。

如果你渴望像我一样系统学习,少走弯路,欢迎随时联系我,或者也可以联系我的师姐,我们非常乐意帮助大家开启这段充满挑战与机遇的技术之旅。

基础课程

阶段一:系统管理基础篇

一、 行业介绍和计算机基础

  • 中大规模互联网业务系统的典型组件与典型架构(硬件体系(数据中心:服务器、网络设备、存储设备)和软件体系(业务系统、中台系统和支撑系统)简介)
  • IT部门岗位分类(研发、测试和运维)及职责介绍,以及泛运维领域岗位职责分类
  • 一个互联网业务系统的运维能力发展典型阶段:人工运维、脚本和工具化运维、平台化运维、自运维系统
  • 数据中心:网络和网络设备、服务器设备、存储设备、供配电系统
  • 硬件系统:服务器和网络设备简介
  • 软件系统:系统软件和应用软件,操作系统和Linux
    a.Ubuntu 2204–>Ubuntu 2404
    b.国产化Linux(选一):麒麟、统信UOS、深度、OpenEular
  • 主机虚拟化程序和Linux系统安装
  • 云主机的基本使用(可基于私有云桌面版Ubuntu系统镜像):创建、启动和接入到终端等

二、Linux系统基础及常用命令

  • Linux用户账号基础;
  • Linux系统访问接入:桌面和命令行简单介绍,以目录和文件管理为例对比演示说明:
    a.在桌面环境(GNome或KDE)演示如何创建、移动、删除文件和目录
    b.在命令行环境演示相关的功能,并对比演示命令执行结果
  • 终端:
    a.终端类型及当前系统终端
    b.交互式接口及shell基础
    c.shell内部外部和外部命令
    d.命令别名
  • 常见的系统命令,以及shell的常用特性:
  • 命令的使用帮助:善用帮助信息、搜案引擎和ChatGPT:

三、文件管理命令和IO重定向

  • Linux的文件系统层级结构标准(FHS)及路径遍历
  • Linux系统上的文件类型及标识方式
  • 文件时间戳atime、ctime、mtime
  • glob通配符*、?及常用字符集合表示等特殊符号
  • 目录管理类命令:mkdir、rmdir、tree
  • 文件管理工具:cp,mv,rm及单源复制和多源复制
  • 链接文件的创建In[-s]及符号链接与硬链接区别
  • I/O重定向之输入重定向、输出重定向、错误输出重定向
  • tr命令、tee命令及特殊文件文件/dev/null和/dev/zerO
  • 多命令执行管道概念

四、用户管理、权限管理和文本处理工具基础

  • Linux的用户、组、权限基础,进程安全上下文及用户和权限管理模型
  • 用户和组的配置文件/etc/{passwd,shadow,group,gshadow} 文件字段说明
  • 敏感文件操作命令 vipw、vigr、pwck、grpck和getent简介
  • 用户和组管理命令:
    a.useradd,usermod、userdel、passwd,chage
    b.grouadd、groupmod、groupdel
    c.id、su
  • 文件权限管理 rwx权限体系介绍,文件属主属组操作命令chown和chgrp,以及权限修改命令chmod
  • umask 和默认权限
  • suid、sgid、stid 特殊权限,chattr、lsattr特殊属性
  • 访问控制列表ACL setfacl、getfacl命令
  • vim编辑器基础应用、可视化模式、文件查找、多窗口模式
  • 文件常用命令cat、more、less、head、tail等命令
  • 文本查看及处理工具wc、cut、sort、uniq、diff和patch等命令

五、正则表达式、文件查找和压缩

  • 基本正则表达式及扩展正则表达式
  • 文本搜索工具:grep,egrep,fgrep
  • 文件查找非实时查找locate命令简介
  • 文件实时查找find命令
    a.查找条件:-name、-iname、-regex、-user、-group、-type、-size、-perm
    b.处理动作:-print、-ls、-delete、-fls、-ok、-exe
  • xargs命令及find组合
  • 文件压缩工具qzip、xz、zip、tar及各自的解压缩的使用
  • 流编辑器sed工作原理:模式空间、保持空间讲解
  • sed命令常用选项-n、-e、-f、-r、-i讲解与示例演示
  • sed命令地址定界:空地址、单地址、地址范围、步进表示法
  • sed命令常用的编辑命令d、p、a、i、c、w、r、=、!、s///讲解与示例分析

六、shell编程基础

  • bash脚本规范及执行方式
  • 本地变量、环境变量、局部变量、位置参数变量
  • 逻辑组合与或非
  • 配置文件profile类、bashrc类、以及logout类文件详解
  • 算术运算let VAR=算术表达式、VAR= [ 算术表达式 ] 、 V A R = [算术表达式]、VAR= [算术表达式]VAR=((算术表达式))、VAR=$(expr $ARG1 $OP $ARG2)
  • 算术运算
  • 状态返回值$?及参数传递$1、$2、$3…
  • 用户交互及read命令等
  • 条件判断三种方式:test EXPRESSION[EXPRESSION]
  • 测试类型:数值测试、字符串测试、文件测试、命令返回状态,以及组合条件(与、或、非)
  • 选择执行之if语句:单分支,多分支及示例
  • 选择执行之case语句

七、软件管理

  • Linux程序包管理器基础及程序包的组成
  • rpm包管理器常用命令rpm命令的安装-i、升级-U、卸载-e、查询-q、校验-V等
  • rpm管理的前端工具yum介绍
  • 常见的yum仓库配置与使用
  • yum/dnf命令的用法安装install、升级update、卸载remove、缓存构建makecache、包组管理groupin-stall、groupupdate grouplist、groupremove 、groupinfo
  • 自建yum仓库,介绍createrepo工具的使用
  • ubuntu的dpkg包管理器管理deb包
  • deb包的管理工具apt/agt-get使用
  • deb仓库配置及加速
  • 程序包源码编译安装三步走:./configure、make、make install
  • 源码安装后的配置;环境变量等

八、 磁盘存储和文件系统

  • linux磁盘管理之硬盘结构及分区基础
  • 磁盘分区管理命令fdisk,gdisk,parted的使用
  • 文件系统组织原理和常见的虚拟文件系统ext系列、xfs、iso9660、nfs、vfat、swap
  • 文件系统创建mkfs与管理工具fsck、blkid等
  • 挂载mount及挂载选项和umount、fuser、lsof命令的使用
  • swap分区的创建mkswap,启用swapon和禁用swapoff
  • 开机挂载及/etc/fstab文件及du、df命令
  • 常用级别:RAID-0,RAID-1,RAID-5,RAID-10,RAID-50,JBOD与相关概念详解
  • LVM2工作原理及相关概念详解
  • LVM2软件创建管理工具,以及卷的扩展与缩减

阶段二:系统管理进阶篇

一、网络协议和网络通信

  • 计算机网络通信及OSl七层模型概述
  • OSI七层模型:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层
  • 网络设备概念MAC、网桥,交换机工作原理的讲解
  • 网络层:IP网络、子网、超网及报文路由
  • 透辑地址IPV4和IPV6,网络地址、子网及其功能
  • 路由设备及相关的路由协议简介
  • 路由分类:网络路由、主机路由、默认路由详解
  • VLAN及其工作机制简介
  • TCP/IP协议栈介绍和分层
  • 传输层:TCP协议进程通信原理及TCP的有限状态机及其特性
  • 进程通信方式:IPC及Socket介绍
  • IANA端口分配标准(特权端口:0-1023、注册端口:1024-49151动态端口:49152)
  • 应用层协议简介,介绍常用的http/https等
  • IP层、IP协议结构和分类
  • 网络地址规划和网络划分

二、Linux网络属性配置及相关工具的应用

  • Linux网络配置文件子网掩码、网关、等参数详解
  • 网络管理相关命令ifconfiq、route、netstat命令讲解
  • iproute家族ip link、ip address、ip route、ss命令
  • nmtui及nmcli命令详解
  • bondinq和team技术
  • 网桥bridge实现
  • 常见的网络客户端工具ping,mtr,traceroute,tcpdump等
  • Ubuntu系统网络配置专用工具netplan用法介绍
  • Ubuntu实现bonding和网桥功能

三、shell编程进阶

  • 循环执行之for语句详解与示例
  • 循环执行之until语句和while语句
  • bash脚本编程之break、continue、跳出循环实例
  • bash编程之while循环及for循环特殊用法示例
  • function及函数的生命周期详解
  • 函数的递归与返回return、传参
  • 数组定义、声明及引用方式的讲解
  • 非稀疏数组及关联数组相关概念及基础讲解
  • 字符串切片${var;offset:number}:基于模式取子串、查找替换、详解
  • 信号的相关基础列出trap -l、kill -l、man 7 signal
  • (选讲)信号的捕捉及应用:HUP、INT

四、进程管理和计划任务

  • Linux进程和线程:父进程fork自身产生子进程
  • Linux内存和进程结构
  • 同一主机进程通信方式和不同主机通信方式
  • 进程的类型:守护进程和前台进程与状态:running、ready、sleeping、zombie、stopped及分类
  • Linux进程管理工具ps、uptime、top、htop、vmstat、lsof等命令
  • Linux作业控制jobs、fg、bg、kill及进程优先级nice值调整
  • Linux任务计划at命令和周期性任务执行crontab命令详解

五、Linux启动流程、配置内核参数和AWK

  • Linux操作系统的组成部件:
    a.静态Linux操作系统的组成部分:内核+根文件系统
    b.运行中的llnux系统环境介绍:内核空间+用户空间
  • 内核的设计流派及linux内核的特点:模块化、支持动态装卸载
  • Linux系统初始化基本流程,以及传统系统运行模型下的7种启动级别简介
  • grub2启动引导程序配置及命令行接口、单用户模式及救援模式修复grub2
  • 内核模块管理相关的命令lsmod、modprobe和insmode简要说明
  • 常见的内核参数讲解
  • 伪文件系统目录/proc和/syS
  • Systemd及其功用、Unit常见类型、系统服务管理命令systemctl
  • systemd运行级别管理:target unit格式、常用参数及编写要
  • systemctl命令的常见用法:级别查看、切换、关机重启
  • 文本格式化工具awk工作原理
  • awk命令用法示例讲解
  • awk内建变量F5、OFS、RS、ORS、NF、NR、FILENAME使用示例讲解
  • awk处理动作打印print与格式化打印printf命令详解
  • awk进阶之数组和函数示例及讲解

六、 域名解析和DNS服务

  • 应用层协议DNS起源与发展
  • DNS服务选代与递归查询原理
  • DNS区域数据库文件资源记录A、AAAA、PTR、SOA、NS、CNAME和MX详解
  • 主从DNS股务器工作机制
  • bind程序的安装于使用
  • DNS正向区域、反向区域与缓存dns的配置演示
  • rndc、dig、host、nslookup工具使用
  • bind的从DNS服务器的配置子域授权
  • bind中的基础安全相关的配置
  • CDN工作原理
  • httpDNS简介
  • 在公有云中配置DNS解析

七、通信安全和时间同步

  • 网络通信中安全机制和各种攻击方式介绍
  • 对称加密、非对称加密算法及单向哈希算法介绍
  • PKI体系介绍,以及基于0penSSL等创建私有CA实现数字证书颁发
  • https通信流程详解
  • ssh协议介绍,0pensSH服务安装、配置和优化
  • sudo体系及实现权限委派案例

八、NFS、Rsync服务和rsyslog日志

  • NFS协议及工作机制
  • NFS服务配置及应用
  • 利用Rsync和Inotify同步数据
  • 利用sersync实现实时数据同步
  • rsyslog及服务器配置
  • 日志转储

阶段三:HTTP与高性能Web应用

一、HTTP协议工作模型和httpd基础配置和应用

  • 基于Web的服务架构介绍,以及常见的企业Web架构案例
  • 常见的网络I/O模型及同步/异步消息通知机制讲解,以及多路I/0复用select、pol和epoll对比说明
  • HTT协议基础、HTTP事务的处理流程,及超文本标记语言简介
  • Web服务中动态资源和静态资源,URL统一资源定位符标识资源的方式及资源间的reference
  • Request报文语法格式与Response报文语法格式
  • Request报文之请求方法GET、HEAD、POST、PUT、DELETE、TRACE、OPTIONS
  • Response状态响应吗1xx、2xx、3xx、4xx、5xx及常见得状态响应码
  • HTTP协议中的Cookie和Session
  • Apache httpd应用安装和配置说明
  • 配置和使用虚拟主机
  • 配置和使用https虚拟主机
  • 通用网关CGI标准、php编程语言、Zend Engine解释器、加速器相关概念介绍
  • 配置LAMP动态Web环境,并部署Wordpress示例

二、Nginx基础

  • Nginx程序架构及工作机制
  • Nginx安装、配置文件语法格式及基本应用,以及平滑升级和回滚
  • Nginx全局配置段及关键配置参数
  • http块配置、Location、虚拟主机配置及应用,以及https虚拟主机
  • 基于域名的企业PC站点与移动站点
  • rewrite模块功能、配置参数及配置案例
  • Nginx防盗链及跨域资源调用(Cors)
  • 压力测试工具ab、及curl、elink、htpasswd命令

三、Nginx反向代理(http和fastcgi)和优化

  • Web反向代理及其工作机制
  • 七层代理ngx_http_proxy_module模块、缓存服务及配置案例(Nginx–>httpd–>php module(word-press)–>MySOL)
  • 负载均衡机制(四层和七层)及其应用场景介绍
  • Nginx七层调度模块ngx_http_upstream module工作机制、调度算法及使用案例
  • nginx模块应用之ngx_http_headers_module
  • Nginx四层代理和调度模块ngx_stream_upstream工作机制及使用案例
  • LNMP:FastCGl协议、ngx_http_fastcgi_module模块工作机制及使用案例(Nginx–>php_fpm(word-press)–>MySQL)
  • Nginx的二开版OpenResty和Tengine简介

四、Java、JSP、Tomcat及应用运行案例

  • lava编程语言及技术体系结构规范概述
  • Java 2SE (JDK)及企业级类库jsp、servlet简介
  • Web Container的开源实现Tomcat历史介绍
  • Tomcat的顶级组件、服务组件、连接器组件、容器类、被嵌套类组件、集群类组件等核心组件介绍
  • Tomcat的JDK环境安装及tomcat的安装部署:OpenJDK+Tomcat、OracleJDK+Tomcat
  • JSP WebAPP组织结构及webapp归档
  • manager及host-manager的配置及应用
  • Tomcat的配置定制:连接器、虚拟主机、Context及访问日志等
  • JSP Web应用程序的部署示例(JPress)及部署webapp的相关操作
  • 基于Nginx进行负载调度及动静资源分离分发方式

五、Tomcat集群和JVM

  • Maven工程工具简介、安装配置及示例应用构建,并推送制品到Nexus中
  • 会话管理:session sticky、session cluster、session server
  • Tomcat 会话复制集群的配置解析及部署验证
  • Tomcat会话保持与会话服务器(msm)配置示例详解
  • JVM运行时内存区域、堆内存分段机制、常用的垃圾收集算法及垃圾收集器
  • 新生代及老代年的垃圾收集器搭配机制
  • JVM常用的优化思路及配置参数和常用的监控工具用法介绍
  • Tomcat自身常用的优化要点

阶段四:运维工具篇

一、Linux防火墙和iptables

  • 防火墙功能及特性概述
  • iptables和netfilter特性及工作逻辑介绍
  • iptables四表(filter、mangle、nat、raw)五链(prerouting、input、forward、output 、postrouting)详解
  • iptables命令链管理、规则管理、规则查看基本用法
  • iptables基本匹配、扩展匹配、隐式扩展、显式扩展
  • iptables扩展模块应用:多端口匹配、连接追踪、报文状态匹配等企业级应用
  • iptables规则保存、重载、生效机制及安全体系工具
  • iptables之forward转发
  • iptables之SNAT、DNAT及端口地址转换
  • 新一代防火墙技术nft简介

二、Ansible和应用编排

  • 自动化运维技术框架系统安装、程序发布、应用布局宏观介绍
  • Ansible工具特性及工作机制详解
  • Ansible多方式安装及简单应用
  • Ansible常用模块command、shell、copy、cron、fetch、file、service、user、setup等模块详解

三、Ansible应用进阶

  • YAML语言介绍与语法
  • Ansible Playbook(剧本)核心元素Hosts、Tasks、Variables、Templaters、Handlers、Roles详解
  • Ansible Playbooks基础组件实际应用实例讲解
  • Ansible 创建角色roles实现代码重用详解
  • Role内各目录中可用的文件定义及角色调用实现
  • 案例:编写Role,自动编排部署Nginx、Tomcat、MySOL和JPress

四、OpenVPN和Jumpserver

  • VPN基础及常见的实现方式
  • OpenVPN基础及远程服务器管理中的应用
  • OpenVPN服务构建
  • OpenVPN客户端
  • JumpServer 关键功能与特性
  • JumpServer安装、配置,以及资源管理、用户管理、账号管理和权限管理等快速入门

阶段五:关系型数据库

一、MySQL基础

  • 数据库概念和类型:SQL和NoSOL
  • 关系型数据库管理系统介绍
  • 关系型数据库的关系运算和设计范式
  • 关系型数据库表、索引、视图及三层模型讲解
  • MySQL安装与安全配置
  • MySQL的客户端程序mysql、mysqladmin工具介绍
  • MySQL数据类型:字符型、数值型、日期时间型简介
  • MySQL服务端和客户端命令使用
  • SQL语句之DDL、DML语句用法详解
  • 表的创建、修改、删除及表的状态信息查看
  • 视图,函数,存储过程和事件管理
  • 用户和权限管理
  • MySQL的图形化的远程管理工具Navicat和SQLyog

二、MySQL性能优化和日志管理

  • MySQL速辑架构
  • MySQL存储引擎之InnoDB、MyISAM引整详解
  • MySQL服务器全局变量,会话变量,及状态变量详解
  • 常见的索引:聚集索引、主键索引、稀疏索引、B树索引的介绍
  • 索引的管理:查看、创建、及删除
  • MySQL基于读/写锁实现并发访问控制
  • MySQL事务之ACID测试、及事务的隔离级别READ UNCOMMITTED、READ COMMITTED、REPEATABLE
    READ、SERIALIZABLE详解
  • 事务日志相关命令及变量详解
  • 慢查询日志相关变量及优化查询
  • 错误日志分析

三、MySQL备份还原和主从复制

  • 二进制日志相关的变量设定及查看
  • mysqlbinlog命令的用法
  • 常见的数据库备份类型:完全备份、增量备份、差异备份热备份、温备份、冷备份物理备份、逻辑备份
  • 常用的备份策略及方案设计:完全+增量
  • 常用的备份工具mysqldump、cp、tar等复制归档工具
  • 备份的数据快速恢复及注意事项
  • 冷备份,温备份及热备份实现
  • 逻辑备份工具:mysqldump使用实例讲解

四、MySQL读写分离和高可用

  • MySQL常见的扩展方式Scale Up、Scale Out
  • MySQL复制特点及复制架构详解
  • MySQL主从复制中主节点、从节点配置实例详解
  • MySQL复制架构中的数据一致性及事务安全性保持
  • MySQL主主复制配置原理及案例演示
  • MySQL半同步复制原理及案例演示
  • MySQL复制过滤器配置原理及实现指定数据库(表)的快速备份案例演示
  • MySQL复制过程中的日志清理与监控备令详解
  • MySQL主从复制中数据不一致的解决方案
  • MySQL复制中数据损坏或丢失、混合使用存储引擎、serverid的不唯一、及复制延迟中出现的问题及解决方案
  • MySQL数据库的切分:重直切分:分库、水平切分:分表
  • MySQL读写分离及常见的解决方案MYCAT
  • MySQL集群Cluster实现PXC

实战项目(1):Java单体应用JPress

实战案例–基于Tomcat的]ava应用

  • JPress/Wordpress

目标

  • 各组件尽量以面向生产环境的方式部署
  • NFS、Nginx、Tomcat、MySQL和MyCAT
  • Ansible进行部署和新版本发布
  • 用上JumpServer,模拟进行远程管理接入
  • Shell脚本和Xtrabackup/mysqldump:MySQL数据库备份和远程存储

验证

  • Ansible进行版本发布过程中,服务不会中断
  • MYCAT和MySQL实现的读写分离架构中,数据能够正常读写
  • Memcached用作Session server,确保会话保持的功能
  • 模拟数据丢失,确保数据库的备份文件能够用于进行恢复

阶段六:接入层及高可用

一、 LVS

  • Linux集群及系统扩展的方式概述
  • Linux集群类型及调度方法详解
  • lvs工作原理及专用术语介绍
  • lvs常见的四种集群lvs-nat、Ivs-dr、Ivs-tun、lvs-fullnat优点及使用场景
  • LVS 调度方案RR、WRR、SH、DH、LC、WLC、SED、NQ、LBLC、LBLCR详解及应用场景
  • 负裁均衡集群中会话保持方式:源地址hash、会话集群、会话服务器
  • ipvsadm集群服务管理工具使用
  • LV5-NAT的配置以及负裁应用
  • LV5-DR的配置以及负载应用
  • LVS-FW方式实现LVS的affinity应用
  • LV5 FWM 持久性连接应用环境理论及实现

二、Keepalived

  • HA Cluster高可用相关原理介绍
  • vrrp协议与专业术语介绍
  • keepalived相关工作原理介绍
  • keepalived软件安装与配置
  • keepalived主备、双主互备、多主多备vrrp实例配置及实现
  • 实战案例:高可用ipvs调度器及对RealServer进行健康状态检测
  • 自定义监控脚本
  • vrrp script及其应用示例
  • keepalived基于vrrp script高可用nginx及haproxy调度器

阶段七:监控系统

一、Zabbix

  • 监控系统概述
  • zabbix组件介绍及zabbix监控基础、工作机制及监控实现方式
  • zabbix server、agent安装、配置详解及监控数据采集流程
  • 通过脚本一键自动批量安装zabbix agent
  • 数据采集工具引用标识(key)与监控项配置
  • 触发器,触发器表达式与触发器事件
  • Action的工作机制及Operations应用:远程命令、告警及告警升级
  • 高级配置:宏、自定义key及监控模板
  • SNMP协议基础及基于SNMP协议的监控配置
  • 聚合图形、dashboard展示
  • 部署主动模式代理+主动模式agent客户端
  • 监控TCP连接数(主动模板和被动模板)
  • 监控redis及自定义模板
  • 监控mysql脚本及自定义模板
  • zabbix 故障自治愈功能简介与实现案例
  • URL和自定义脚本及模板监控端口和进程
  • grafana结合zabbix显示绚丽图形
  • 用户和组管理
  • 自定义系统基础监控模板
  • 实现及邮件通知机制,微信报警、短信报警等
  • zabbix proxy分布式监控及主被动模式详解及监控案例
  • 网络发现及自动注册
  • zabbix API使用基础及通过API快速添加监控服务器案例
  • zabbix性能优化
  • zabbix的高可用

实战项目(2):增强Java单体应用站点可靠性

实战案例 --完善基于Tomcat的]ava系统环境

  • jPress/Wordpress

目标

  • 各组件尽量以面向生产环境的方式部署
  • NFS、Nginx、Tomcat、MySQL和MyCAT
  • Ansible进行部署和新版本发布
  • 用上JumpServer,模拟进行远程管理接入
  • Shell脚本和Xtrabackup/mysqldump:MySQL数据库备份和远程存储
  • Nginx模拟做业务网关,耦合请求至业务请求路径中,LVS做接入层流量网关
  • (可选)基于Keepalived高可用LVS;若该组件可选,则需要使用keepalived高可用nginx
  • 使用Zabbix监控以上系统中的每个组件,规划好存储空间,并制订合理的告警策略
    LVS集群
    Nginx集群
    Tomcat和JVM
    Memcached
    NFS及同步状态
    MySQL主从复制集群
    JumpServer
    Zabbix Server监控系统自身

验证

  • Ansible进行版本发布过程中,服务不会中断
  • MyCAT和MySQL实现的读写分离架构中,数据能够正常读写
  • Memcached用作Session Server,确保会话保持的功能;
  • 模拟数据丢失,确保数据库的备份文件能够用于进行恢复
  • Nginx某一实例故障,不会大面积影响业务访问;
  • LVS某一实例故障,不会大面积影响业务访问;
  • Zabbix能够及时发现问题,并进行及时告警

高级架构课程

课程框架:

阶段八:虚拟化和容器

一、KVM虚拟化和OpenStack简介

  • 虚拟化技术基础
  • 虚拟化技术分三类:主机虚拟化(模拟、半虚拟、完全虚拟化)、容器、程序级虚拟化等
  • 主机级虚拟化中cpu、memory、I/O虚拟化方式及网络虚拟化机制
  • KVM虚拟化基础KVM虚拟化技术实现原理
  • KVM模块载入后的模式:内核模式、用户模式、来宾式、及kvm hypervisor详解>kvm的特性与局限性详解
  • KVM的工具栈:qemu、libvirt的使用
  • 构建KVM环境:KVM的安装、配置及应用
  • 管理KVM虚拟机(virsh,virt-manager及qemu-kvm)
  • kvm常用的虚拟网络模型详解:桥接模型、NAT模型、路由模型、离模型概念及实现
  • 磁盘镜像文件管理制作虚拟机模板镜像,并批量创建虚拟机
  • 基于kvm运行windows server服务器系统
  • 概述KVM虚拟化的其它管理工具:0penStack、oVirt、Proxmox等

二、Docker

  • Linux容器技术及其关键组件CGroups及Namespaces
  • 低级容器运行时与高级容器运行时、OCI
  • 现代应用容器技术Docker的特性及分层组件
  • Docker架构及工作模型
  • Docker对比虚拟机优缺点,以及其它常见的容器引擎
  • Docker存储引擎对比及选择
  • Docker CE安装与初始化
  • Container和Image管理相关的常用操作
  • Dockerfile制作、Docker镜像分层制作精讲及案例
  • 镜像优化与镜像漏洞扫描
  • Docker的存储管理机制、数据卷和数据卷容器
  • Docker网络模型与跨主机的容器间通信
  • Docker资源限制介绍、CPU与内存资源限制实现

三、Containerd和Harbor

  • docker-compose命令详解及单机容器编排企业案例
  • Docker Registry 介绍
  • Harbor镜像仓库单机
  • Harbor镜像仓高可用实现、镜像扫描、镜像加速
  • Containerd基础、部署与快速入门

阶段九:NOSQL存储系统

一、Redis基础

  • 存储系统上的ACID、BASE及CAP理论
  • NOSQL的常见技术流派及相关的常用实现方案
  • Redis特性及功能
  • 数据管理接口:各种数据类型的基础管理操作
  • Redis配置详解
  • RDB及AOF持久化机制对比介绍及其配置
  • Redis数据类型介绍

二、Redis进阶

  • Redis消息服务的实现
  • 主从复制工作机制、配置方式,以及主从复制集群的部署
  • Redis Sentinel功能、部署方式及部署案例
  • Redis Cluster集群基础概念及工作机制
  • Redis Cluster部署案例及集群服务器上下线
  • Redis数据跨服务器迁移
  • Redis其他横向扩展实现方式

三、MongoDB

  • MongoDB数据库关键特性
  • MongoDB数据模型:document、collection和database等
  • MongoDB安装并连接到服务端
  • MongoDB的CRUD操作:datadabase和document的基础管理
  • MongoDB复制集工作原理和实战
  • MongODB分片集群工作原理和实战
  • MongoDB备份和还原

阶段十:CICD和DevOps

一、Git和GitLab

  • CI/CD、敏捷开发、DevOps概述
  • 持续集成与持续部署工具链
  • 常见的代码部署方式介绍,如蓝绿部署、灰度发布、金丝雀部署、滚动部署、A/B测试
  • 分布式版本控制工具的工作模型、git基础概念及基本应用
  • 分支管理、常见的分支模型及各自的协作流程
  • 远程仓库与GitLab
  • Gitlab简介、安装、账户与权限管理、项目管理
  • Gitlab分支管理、分支合并、代码clone、数据备份、数据恢复

二、Jenkins自由风格流水线

  • Jenkins简介、安装、插件管理
  • 作业类型及各自的特性
  • Jenkins凭据管理
  • 常用类型的触发器,以及基于GitLab的自动触发机制
  • 参数化构建
  • 结合Ansible实现自动化部署
  • 构建通知

###三、Jenkins Pipeline

  • jenkins分布式架构概念与实现
  • 声明式Pipeline语法结构
  • 声明式Pipline快速入门
  • 参数化Pipeline及高级应用
  • 基于spring-boot-helloworld的声明式Pipeline完整示例
  • jenkins通知机制,在声明式Pipeline中使用post{}
  • Jenkins视图简介与应用场景
  • 代码质量测试工具sonarqube简介
  • Sonarqube部署、插件管理、实现代码手动扫描
  • Jenkins集合sonarqube实现代码自动扫描

实战项目(3)

实战案例–自动化构建SpringBoot和Vue应用项目案例

在线小说网:novel和novel-front-web

  • novel:前后端分离的在线小说项目,此为后端,基于Spring Boot3开发
  • novel-front-web:novel的前端,基于Vue 3开发

依赖的后端服务包括MySQL8.0、Redis 7.0、ElasticSeach 8.x(可选)RabbitMQ 3.x(可选)和XXL-Job(可选)

  • 三个可选项默认均为关闭状态,该示例中,此三者也将基于默认配置,不予部署和使用

目标

  • 简述SpringBoot MVC及相关的框架体系
  • 容器化运行novel和novel-front-web相关的项目
  • 部署高可用Harbor系统,以及分布式的Jenkins系统
  • 基于Jenkins自动化构建novel并推送镜像至Harbor中
  • 持续交付:自动化更新线上实例,并运行为容器实例(ansible或docker)
  • 制订用于novel和novel-front-web更新的灰度策略,并实施相关的策略
  • Zabbix监控整个系统环境

阶段十一:消息队列

一、Zookeeper和Kafka

  • ZooKeeper架构组件和典型应用场景(发布/订、负载均衡、分布式协调/通知、…)
  • Zookeeper数据模型、选举机制和节点类型
  • Zookeeper单机部署、配置及常见命令的用法
  • Zookeeper集群部署、扩缩容及运维管理
  • 发布与消息订阅系统简介
  • 消息、消息队列和Broker的基础概念
  • Kafka特性、设计理念和系统组件
  • 生产者、消费者及消息收发的工作逻辑
  • Kafka部署模式、单实例部署和基础配置

二、Kafka和其它消息队列

  • Kafka主颖配置、复制系数和分区机制
  • Kafka的再均衡与分区分配策略
  • Kafka的日志存储与事务机制
  • Spark和Kafka Streaming简介
  • RabbitMQ快速入门:系统组件、工作机制、集群部署和基础管理操作
  • (选讲)RocketMQ快速入门:系统组件、工作机制、主从复制集群和基础管理操作
  • 项目案例(3)扩展:为实战项目(3)升级Redis主从架构,并添加RabbitMO集群

阶段十二:搜索引擎和日志中心

一、ElasticSearch及集群管理和优化

  • 搜索引擎及功能组件概述
  • 索引组件Lucene及搜索组件ElasticSearch和Solr简介
  • ElasticStack及小、中及大型规模下的日志采集、存储、展示及搜索平台的架构体系
  • Lucene的多样化查询:域、范围、字符串、模糊查询简介
  • ES集群组件及工作机制
  • ES集群部署及API接口基础使用
  • ElasticSeache插件管理,部署中文分词插件analysis-ik和analysis-pinyin
  • ES的常用ETL工具栈及LoqStash和Beats组件
  • LogStash Aqent部署及基础应用
  • LogStash常用的input、filter和output插件体系与常用插件,如grok和geoip等

二、日志中心:filebeat、LogStash和Kibana

  • LogStash Server部署及运行
  • Kibana基础概念、部署、认证及其展示接口的配置
  • Logstash多类型服务访问日志及系统日志收集
  • Java日志合并、Nginx访问日志及TCP日志
  • Syslog日志收集,以及基于RedisList收集Nginx访问日志
  • Kibana Dashboard使用及自定义图形
  • Logstash和Filebeat结合Kafka实现企业级日志收集案例
  • 日志写入数据库及地图显示客户端城市
  • Kibana日志分析,Nginx日志(pv、ip、地理位置等)
  • (选讲)项目案例(3)扩展:为实战项目(3)添加ElasticSearch搜索引擎和ELK日志中心

阶段十三:微服务和对象存储

一、Springcloud微服务框架和Nacos

  • SpringBoot MVC和SpringCloud微服务框架相关的概念
  • 国内主流的微服务治理生态全景
  • Nacos系统组件及工作机制
  • Nacos 部署模式、单机部署和控制台功能介绍
  • Nacos 的关键配置参数和鉴权体系
  • Nacos 集群模式部署和多集群模式介绍
  • 基于 Docker部署和运行Nacos

二、API网关、SpringCloud Gateway和APISIX

  • API管理(API Management)与API网关(API Gateway)介绍
  • API网关的类型:流量网关与业务网关各自的功能
  • 主流的API网关项目及功能对比(例如SpringCloud Gateway、Zuul、Kong、APISIX等)
  • SpringCloud Gateway特性、核心概念与工作流程
  • SpringCloud Gateway断言(Predicate)、动态路由配置和过滤器
  • APISIX架构组件和插件体系介绍,APISIX Dashboard
  • 部署、运行APISIX和APISIX Dashboard
  • APISIX的关键术语(Route、Service、Consumer、Upstream和Plugin等)及工作机制
  • APISIX的基础管理操作:发布API和保护API
  • APISIX高可用部署方案

三、Sentinel(流量治理)和Seata(分布式事务)

  • 流量治理的基本概念:流量控制、熔断降级和过载保护等
  • Sentinel的功能和设计理念:流量控制、熔断降级和过载保护在Sentinel中的实现机制
  • Sentinel的组成(核心库和控制台),以及部署和启动控制台
  • Sentinel规则类型及基于控制台规则管理接口介绍
  • 流量控制规则、流量控制机制、集群流量控制和网关流量控制
  • 熔断降级规则和熔断策略
  • 过载保护规则及工作原理
  • 热点参数规则和热点参数限流策略,以及访问控制规则和来源访问控制(黑白名单)
  • 控制台鉴权机制,以及关键的配置参数说明
  • 分布式事务与Seata介绍
  • (选讲)Seata事务模式:AT、TCC、SAGA和XA模式

四、对象存储、Minio和华为云OBS(或阿里云OSS)

  • 对象存储的基础概念、特性和适用场景
  • 对象存储的关键术语:对象(0bject)、存储桶(Bucket)、地域(Region)和端点(Endpoint)
  • 公用云的对象存储(阿里云OSS、华为云OBS、Amazon S3和Google Cloud Storage等)简介
  • 开源对象存储方案(Minio、ceph RGW、Zenko和Triton等)简介
  • Minio架构组件、功能特性和数据组织格式
  • Minio核心概念和部署架构:分布式架构和复制架构
  • Minio 基于纠删码和部署架构的数据冗余
  • Minio 分布式集群部署和配置
  • Minio 控制台:集群配置、对象管理和数据安全
  • Minio 客户端程序mc及常用的管理命令
  • (选讲)Minio SDK及使用示例

##实战案例(4)

实战案例 --部署微服务化应用

项目案例(二选一)

  • mall-microservice
  • novel-cloud

目标

  • 部署基础服务:mysql、redis、nacos、elasticsearch、mongodb和minio等
    面向生产环境部署:提供主从复制或者集群服务
    容器化部署,或Ansible编排部署
    关键数据备份策略和灾难恢复策略
  • 部署mall-microservice/novel-cloud的各组件
    容器化部署,或Ansible编排部署
  • 高可用Nginx反代接入,或者使用APISIX接入
  • 配置监控整个系统,并制订合理的告警策略
  • 微服务业务前后端应用经Jenkins自动构建为Image后推送至Harbor
  • 收集系统日志至ElasticStack中

阶段十四:Kubernetes快速入门

一、基础概念、架构组件、工作机制及集群部署

  • 容器编排与Kubernetes编排系统概述
  • Kubernetes系统组件与核心术语
  • Kubernetes网络模型简介
  • 各类部署工具对比介绍,以及kubeadm部署Kubernetes集群的要点及步骤
  • 使用ansible和ansible playbook,快速部署基于containerd的Kubernetes集群
  • Kubernetes应用编排快速入门:Pod、Service和Deployment
  • 资源API和kubectl命令行客户端详解
  • 使用Namespace隔离不同的租户、项目或环境

二、Pod、存储卷和配置

  • Kubernetes集群组件、工作机制回顾与增强
  • Pod的设计理念、配置格式和使用案例
  • 定制容器运行方式:命令、参数和环境变量,以MySQL和Wordpress为例,迁移尝试迁移传统应用至Kubernetes平台
  • 配置Pod:探针、资源需求、资源限制、安全上下文及使用案例
  • 基于容器的设计模式:Sidecar容器、Ambassador容器、Adapter容器和Init容器,以及Init容器使用案例
  • Pod状态及常见的异常问题及其排查问题的思路
  • 存储卷类型、插件、配置规范和使用案例

三、持久卷、存储类、及应用配置

  • 持久卷(PV)和持久卷声明(PVC)的功能、工作逻辑、配置规范及使用案例
  • 存储类的功能、配置规范及使用案例
  • Kubernetes存储架构、CSI以及基于CSI的NFS-CSI-Driver
  • Kubernetes的CAS存储,0penEBS部署,以MSQL和Wordpress为例,为迁移到Kubernetes集群上的应用提供持久化存储的
  • ConfigMap、Secret功能、配置规范,以MySQL和Wordpress为例,为迁移到Kubernetes集群上的应用提供Kubernetes原生方式的应用配置功能
  • DownwardAP1、Proiectd卷功能、配置规范和使用案例
  • Service的功用、模式及工作机制快速入门
  • 标签、标签选择器和注解

四、Service和应用编排

  • Service类型、资源规范及各类型使用案例
  • Service资源名称、名称解析和CoreDNS
  • 配置Pod上的名称解析策略
  • CoreDNS插件体系、查询路由、配置格式、查询重写和常用场景下的配置案例
  • Kubernetes声明式API与控制器模式的基本工作逻辑
  • 无状态应用编排控制器Deployment:应用部署、更新、扩缩容、金丝雀部署、卸载及使用案例
  • 有状态应用编排控制器StatefulSet:应用部署、更新、扩缩容、分区部署、卸载及使用案例(MySQL主从复制集群)

五、应用编排与Ingress应用发布

  • 有状态应用编排Operator工作机制及案例(ECK Operator)
  • 系统级应用编排控制器DaemonSet:应用部署、更新、扩缩容、分区部署、卸载及使用案例(Prometheus Node Exporter)
  • 作业类编排控制器Job、Cronob配置规范及使用案例
  • Ingress资源的功用、类型及同Ingress Controller的关系
  • Ingress Controller的常见实现、部署模式和IngressNginx部署示例
  • Ingress资源类型、配置规范和示例,以及通过Ingress发布应用的实际案例
  • 基于Ingress的灰度发布案例:canary-by-header、canary-by-cookie和canary-by-weight
  • Helm的核心概念、工作逻辑、以及Artifact Hub介绍;
  • Helm案例:部署Wordpress和Harbor;

阶段十五:云原生监控系统

一、Prometheus监控系统入门

  • 监控系统和监控体系回顾,以及四个黄金信号、USE方法和RED方法等监控理论;
  • Prometheus生态组件与工作机制、数据模型和数据采集快速入门;
  • 部署、启动Prometheus Server和Node Exporter
  • 实战案例:监控Prometheus Server、Node、MySQL、Nginx、ElasticSearch和Tomcat,以及使用Black-box Exporter进行黑盒监控:
  • Prometheus数据模型、向量选择器和指标类型;
  • PromOL聚合函数、聚合表达式和向量匹配;
  • Prometheus服务发现工作机制、常见的发现服务及配置案例:基于文件、Consul和Kubernetes AP Server的服务发现;

二、Prometheus监控系统进阶

  • Promehteus重新打标(relabel_configs和metric_relabel_configs)机制及使用案例;
  • 使用记录规则持久保存查询结果,以及基于Grafana展示查询结果;
  • Prometheus告警逻辑、AlertManager告警路由框架及工作机制;
  • 告警规则格式、告警模板字串及相关的配置案例
  • 部署、启动AlertManager,配置邮件告警、钉钉告警等多种告警机制;
  • 告警路由、告警抑制配置案例;
  • Prometheus存储引擎简介,以及配置Prometheus使用远端存储的方法,
  • Prometheus的各类高可用方案介绍;
  • (选讲)VictoriaMetrics系统架构、工作机制,以及部署VictoricMetrics作为Prometheus的远端存储;

阶段十六:Kubernetes实战进阶

一、认证、鉴权及网络插件基础

  • Kubernetes APl Server的访问控制体系及工作机制:认证、鉴权与准入控制
  • 身份认证策略介绍、静态令牌认证、X509数字证书认证及使用案例
  • kubeconfig配置文件格式、管理命令及使用案例
  • ServiceAccount功能、工作机制、配置规范及使用案例
  • 鉴权策略介绍和RBAC鉴权工作原理
  • RBAC鉴权体系中Role/ClusterRole/RoleBinding/ClusterRoleBinding资源规范及案例
  • CNI技术体系及Pod网络基础

二、Kubernetes网络

  • Kubernetes的网络模型及组件间的通信链路
  • CNI插件体系、NetPlugin和IPAM插件类各自的功能和常见的实现、以及容器网络接口的主流实现机制
  • Pod网络解决方案中的Overlay网络和Underlay网络模型,以及各自常见的实现机制
  • 主流网络插件的功能、特性、性能,以及选择插件的评判原则
  • Flannel网络的vxlan、vxlan directrouting、host-gw的工作机制、配置方法和模型验证
  • ProjectCalico网络工作机制、架构组件及支持的网络模型
  • 部署ProjectCalico,配置其使用BGP和IPIP网络,并验证其通信模型

三、Kubernetes集群运维

  • Kubernetes调度相关的概念、经典调度器的调度流程、预选策略、优选策略和新式调度框架
  • Kubernetes的亲调度机制:节点亲和、Pod亲和、Pod反亲和及Pod拓扑分散约束
  • Kubernetes基于污点和容忍度的调度策略
  • Kubernetes节点状态和节点维护
  • Kubernetes高可用架构模型,以及部署高可用的Kubernetes集群示例
  • 集群版本升级注意事项和实践准则,以及升级高可用的Kubernetes集群的案例
  • Velero程序组件及备份、恢复的工作机制
  • Velero备份恢复Kubernetes资源及数据卷的案例

项目案例(二选一)

  • mall-microservice
  • novel-cloud

目标

  • 将实战案例4的环境全线迁上Kubernetes平台
  • 监控系统切换为Prometheus
  • 接入层切换为基于Ingress Controller的Ingress资源

阶段十七:SRE工程理念

一、SRE工程模型

  • SRE的起源、岗位职责、工作原则和适用范围
  • SRE的核心理念、方法论和稳定性的衡量机制
  • 服务质量SLI、SLO和SLA的制订与落地原则
  • 应用事件处理:紧急事件响应、紧急事故管理、故障排查、事后总结和0n-Call机制建设
  • 稳定性建设的方法:基于"主备"的冗余、基于"负载均衡"的冗余、基于平台自愈机制的设计,基于业务架构的设计
  • 灾备建设简介:同机房灾备、同城双活灾备、异地数据灾备、两地三中心和分布式多活

实战进阶

阶段十九:Kubernetes实战进阶

一、基于kubeasz部署高可用Kubernetes集群

  • Kubernetes集群组件架构及服务器硬件选型
  • 准备本地部署环境,并基于kubeasz初始化Kubernetes集群部署过程
  • kubeasz部署Kubernetes集群的配置文件详细介绍
  • 基于ansible-playbook,定制要部署的Kubernetes集群环境
  • Kubernetes集群更新注意事项及更新过程演示
  • 部署常用的附件,例如Kuboard等,并介绍kubesphere系统
  • etcd存储系统介绍及集群管理
  • Kubernetes原生名称解析服务CoreDNS功能、特性及常用配置

二、Kubernetes实战话题

  • Calico网络插件的eBPF模式及应用,以及在Kubernetes部署使用eBPF模式的网络插件
  • Pod的特性伸缩机制、VPA/HPA的工作机制,以及基于Promteheus的应用自动伸缩案例
  • 公有云SLB结合Ingress实现客户端IP透传
  • eBPF介绍、Cilium网络插件系统组件、工作机制及部署Kubernetes集群使用Cilium网络插件
  • Cilium网络插件的虚拟网络接口、Pod网络模式及通信验证,以及Cilium内置的可观测组件Hubble
  • Cilium内置的Ingress Controller与应用,以及Cilium的高级特性介绍

三、Kubernetes上部署微服务电子商城项目

  • 云原生的概念、服务网格、微服务治理体系介绍
  • 开源微服务电子商城mall-microservice项目架构介绍
  • 部署mall-microservice依赖的各后端服务:MySQL、Nacos、EFK、Redis、MongoDB、RabbitMQ、Minio并它们纳入Promtheus的监控体系
  • 部署Skywalking及相关的UI
  • 部署商城后台组件:mall-gateway、mall-portal、mall-search等
  • 部署商城的商家管理端mall-admin-web,并测试进行测试访问
  • 在Prometheus/Grafana中验证指标采集、在EFK中验证日志采集和检索,在Skywalking中验证请求链路跟踪

阶段二十:分布式消息系统Kafka

一、Kafka及应用案例

  • 单体应用与微服务简介、进化历史、服务注册机发现机制、实现微服务的几个要素
  • 消息分发系统发展历史及对比、消息分发机制
  • Kafka简介及优缺点、Kafka逻辑架构详解
  • Kafka配置详解、基于Zookeeper和Kraft实现Kafka集群部署简介;
  • Kafka命令行及图形客户端使用、验证消息的写入Kafka并从Kafka集群消费
  • Kafka集群成员间关系、复制及物理存储机制
  • Kafka的可靠性保证、复制以及broker配置
  • 管理Kafka-Topic操作、消费者群组、动态配置变更及分区管理
  • 在Kubernetes集群上,基于Strimzi Operator部署面向生产环境的Kafka集群

阶段二十一:列式数据库ClickHouse

一、CilckHouse入门与实践

  • 关系型数据库与非关系型数据库简介、行式数据库与列式数据库简介、ClickHouse使用场景特性及功能介绍
  • ClickHouse服务器选型、安装配置及优化配置、数据导入
  • Clickhouse安装、ClickHouse查询语句简介及常用函数的使用
  • Clickhouse-Client及DBeaver等客户端工具使用、用户管理
  • ClickHouse数据格式简介,JSON、TabSeparated、TSKV、CSV、Parquet、ORC等数据格式
  • ClickHouse存储引擎简介,MergeTree系列引擎简介及Log系列存储引擎简介
  • Clickhouse用户profile、quota配额及多用户管理

二、ClickHouse生态整合

  • ClickHouse与MySQL及Kafka等整合使用;
  • ClickHouse分布式集群部署简介及集群部署,
  • ClickHouse查询语句简介及常用函数的使用;
  • Prometheus基于ClickHouse实现数据的远程读写案例;
  • 基于Prometheus监控ClickHouse并通过Grafana实现监控数据可视化;
  • 将ClickHouse部署并运行于Kubernetes之上,使用基于Ceph rbd的PVC存储数据,并由Prometheus自动完成ClickHouse的监控和告警:

师姐的号(可撩!):Evelyn-lin717

结语:

无人扶我青云志,我自踏雪至山巅。
若是命中无此运,亦可孤身登昆仑。

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

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

相关文章

在 vscode + cmake + GNU 工具链的基础上配置 JLINK

安装 JLINK JLINK 官网链接 下载安装后找到安装路径下的可执行文件 将此路径添加到环境变量的 Path 中。 创建 JFlash 项目 打开 JFlash,选择新建项目 选择单片机型号 在弹出的窗口中搜索单片机 其他参数根据实际情况填写 新建完成: 接下来设置…

【全栈】SprintBoot+vue3迷你商城(9)

【全栈】SprintBootvue3迷你商城(9) 往期的文章都在这里啦,大家有兴趣可以看一下 后端部分: 【全栈】SprintBootvue3迷你商城(1) 【全栈】SprintBootvue3迷你商城(2) 【全栈】Spr…

省市区三级联动

引言 在网页中,经常会遇到需要用户选择地区的场景,如注册表单、地址填写等。为了提供更好的用户体验,我们可以实现一个三级联动的地区选择器,让用户依次选择省份、城市和地区。 效果展示: 只有先选择省份后才可以选择…

Fullcalendar @fullcalendar/react 样式错乱丢失问题和导致页面卡顿崩溃问题

问题描述: 我使用 fullcalendar的react版本时,出现了一个诡异的问题,当我切换到 一个iframe页面时(整个页面是一个iframe嵌入的),再切换回来日历的样式丢失了!不仅丢失了样式还导致页面崩溃了&…

dm8在Linux环境安装精简步骤说明(2024年12月更新版dm8)

dm8在Linux环境安装详细步骤 - - 2025年1月之后dm8 环境介绍1 修改操作系统资源限制2 操作系统创建用户3 操作系统配置4 数据库安装5 初始化数据库6 实例参数优化7 登录数据库配置归档与备份8 配置审计9 创建用户10 屏蔽关键字与数据库兼容模式11 jdbc连接串配置12 更多达梦数据…

S4 HANA更改Tax base Amount的字段控制

本文主要介绍在S4 HANA OP中Tax base Amount的字段控制相关设置。具体请参照如下内容: 1. 更改Tax base Amount的字段控制 以上配置用于控制FB60/FB65/FB70/FB75/MIRO的页签“Tax”界面是否可以修改“Tax base Amount”, 如果勾选Change 表示可以修改T…

JVM堆空间

一、堆空间的核心概述 一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。Java堆区在JVM启动的时候即被创建,其空间大小也就确定了。是JVM管理的最大一块内存空间。 堆内存的大小是可以调节的。堆可以处于物理上不连续的内存空间中&#xff…

《深入解析:DOS检测的技术原理与方法》

DDOS入侵检测与防御 一、实现Linux下DDOS的入侵检测与防御 利用Python编程实现对wrk的泛洪攻击检测,并让程序触发调用Linux命令实现防御: 1、泛洪攻击的检测,可以考虑使用的命令,这些命令可以通过Python进行调用和分析 (1) netstat -ant …

PID如何调试,如何配置P,I,D值,如何适配pwm的定时器配置,如何给小车配电源

首先你要搞清楚PID公式原理 PID算法解析PID算法解析_pid滤波算法-CSDN博客 然后你要明白调试原理 首先要确定一个电源 电源决定了你后面调试时电机转动速度大小和pwm占空比的关系,电源电压越大那要转到同一速度所需的占空比越小,反之电源电压越小那要…

小马模拟器-第三方全街机游戏模拟器

链接:https://pan.xunlei.com/s/VOHSiB6st-f3RWlIK01MS2fUA1?pwd44v7# 1.小马模拟器是一款完全免费的游戏模拟器软件,支持街机(FBA,MAME,PGM2),3DS,WII,NGC,DC,SS,DOS,MD,WSC,NDS,JAVA,PCE,FC,SFC,GBA,GBC,PSP,PS,N64等多种游戏…

微信小程序date picker的一些说明

微信小程序的picker是一个功能强大的组件&#xff0c;它可以是一个普通选择器&#xff0c;也可以是多项选择器&#xff0c;也可以是时间、日期、省市区选择器。 官方文档在这里 这里讲一下date picker的用法。 <view class"section"><view class"se…

【算法】递归型枚举与回溯剪枝初识

递归型枚举与回溯剪枝初识 1.枚举子集2.组合型枚举3.枚举排列4.全排列问题 什么是搜索&#xff1f;搜索&#xff0c;是一种枚举&#xff0c;通过穷举所有的情况来找到最优解&#xff0c;或者统计合法解的个数。因此&#xff0c;搜索有时候也叫作暴搜。搜索一般分为深度优先搜索…

rocketmq-product-send方法源码分析

先看有哪些send方法 首先说红圈的 有3个红圈。归类成3种发送方式。假设前提条件&#xff0c;发送的topic&#xff0c;有3个broker&#xff0c;每个broker总共4个write队列&#xff0c;总共有12个队列。 普通发送。负载均衡12个队列。指定超时时间指定MessageQueue,发送&#…

69.在 Vue 3 中使用 OpenLayers 拖拽实现放大区域的效果(DragPan)

引言 在现代 Web 开发中&#xff0c;地图功能已经成为许多应用的重要组成部分。OpenLayers 是一个功能强大的开源地图库&#xff0c;支持多种地图源和交互操作。Vue 3 是一个流行的前端框架&#xff0c;以其响应式数据和组件化开发著称。本文将介绍如何在 Vue 3 中集成 OpenLa…

77,【1】.[CISCN2019 华东南赛区]Web4

有句英文&#xff0c;看看什么意思 好像也可以不看 进入靶场 点击蓝色字体 我勒个豆&#xff0c;百度哇 所以重点应该在url上&#xff0c;属于任意文件读取类型 接下来该判断框架了 常见的web框架如下 一&#xff0c;Python 框架 1.Flask URL 示例 1&#xff1a;http://…

手撕B-树

一、概述 1.历史 B树&#xff08;B-Tree&#xff09;结构是一种高效存储和查询数据的方法&#xff0c;它的历史可以追溯到1970年代早期。B树的发明人Rudolf Bayer和Edward M. McCreight分别发表了一篇论文介绍了B树。这篇论文是1972年发表于《ACM Transactions on Database S…

一文简单回顾复习Java基础概念

还是和往常一样&#xff0c;我以提问的方式回顾复习&#xff0c;今天回顾下Java小白入门应该知道的一些基础知识 Java语言有哪些特点呢&#xff1f; Java语言的特点有&#xff1a; 面向对象&#xff0c;主要是封装、继承、多态&#xff1b;平台无关性&#xff0c;“一次编写…

GCC之编译(8)AR打包命令

GCC之(8)AR二进制打包命令 Author: Once Day Date: 2025年1月23日 一位热衷于Linux学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 全系列文章请查看专栏: Linux实践记录_Once-Day的博客-C…

2.1.3 第一个工程,点灯!

新建工程 点击菜单栏左上角&#xff0c;新建工程或者选择“文件”-“新建工程”&#xff0c;选择工程类型“标准工程”选择设备类型和编程语言&#xff0c;并指定工程文件名及保存路径&#xff0c;如下图所示&#xff1a; 选择工程类型为“标准工程” 选择主模块机型&#x…

图像处理算法研究的程序框架

目录 1 程序框架简介 2 C#图像读取、显示、保存模块 3 C动态库图像算法模块 4 C#调用C动态库 5 演示Demo 5.1 开发环境 5.2 功能介绍 5.3 下载地址 参考 1 程序框架简介 一个图像处理算法研究的常用程序逻辑框架&#xff0c;如下图所示 在该框架中&#xff0c;将图像处…