灵感储存罐
首页自定义链接
首页自定义链接
  1. 学习笔记
  • START
  • 碎碎念
    • 2025.08 - 2025.10
    • 2023.01 - 2024.02
    • 2022.06 - 2022.12
  • 时光絮
    • 关于我-2025
    • 关于我-2022
    • 观影记录
  • slackjar
    • wiki-开发
      • 需求文档
      • 技术栈
      • 云服务资源
      • EasyCode
      • AI提示词
      • 资源图片
      • 服务器应用部署
    • foundation
      • external-外部系统
        • 随机一言
      • interface-账号
        • 用户登录
        • 获取指定用户角色列表
        • 获取用户详情
        • 退出登录
      • interface-三方
        • 随机一言
        • 查询IP对应城市
      • interface-配置
        • 配置增删改
        • 分组获取所有配置
        • 根据分类查询配置
        • 根据分类和配置键查询配置
      • interface-文件
        • 常规上传文件
        • 下载文件为byte字节
        • 批量删除文件
      • interface-AI
        • 基础对话
        • 流式对话
      • interface-SSL
        • 上传SSL证书
        • 根据域名查询SSL证书
      • interface-日志
        • 检索操作日志
        • 根据ID批量删除操作日志
        • 根据描述和时间区间删除操作日志
        • 聚合统计操作日志标签
      • interface-画板
        • 保存或更新画布数据
        • 获取画布详情
        • 获取当前用户的画布列表
        • 删除单个画布
      • interface-资源
        • 查询主服务器资源
      • SocketIO
        • 系统SocketIO消息推送/监听
    • node
      • interface-分组
        • 创建笔记分组
        • 查询笔记分组及目录
      • interface-笔记
        • 新增笔记
        • 修改笔记
        • 查询笔记详情
      • interface-标签
        • 创建标签
        • 查询标签列表
  • 文字抒写
  • 技术文章
    • 环境搭建
      • 安装Docker
      • MySQL主从安装
      • MongoDB安装
      • 中间件安装使用
      • Jenkins安装使用
      • Cloudreve云盘
      • Whistle代理工具
    • 学习笔记
      • hzero&O2学习笔记
  1. 学习笔记

hzero&O2学习笔记

k8s(2025.7.7)#

1.
架构设计:
7ZKMaO
1.
API server:K8s API 的唯一入口,处理 REST 请求,验证并存储资源对象(如 Pod、Deployment)到 etcd
2.
etcd:高可用的分布式键值存储,保存 K8s 集群的所有状态数据(如 Pod 信息、配置)
3.
scheduler:根据资源可用性、亲和性规则等,将 Pod 调度到合适的 Node 上
4.
kube-controller-manager:运行各种控制器,监控集群状态并尝试将当前状态调整为期望状态。
1.
Replication Controller:维护 Pod 副本数。
2.
Node Controller:监控 Node 状态,处理节点故障。
3.
Deployment Controller:管理 Deployment 生命周期。
4.
Service Controller:维护 Service 的网络规则
5.
namespace:将集群资源划分为多个虚拟空间,不同 Namespace 中的资源可以重名(如 Pod、Service),但同一 Namespace 内名称必须唯一
1.
多团队共享集群:开发、测试、生产环境隔离。
2.
资源配额管理:限制每个 Namespace 的 CPU、内存使用量。
3.
权限隔离:不同团队只能访问自己的 Namespace。
6.
Pod: 中最小的可部署计算单元,封装一个或多个紧密关联的容器(通常是 1:1),共享网络和存储。
1.
短暂性:Pod 会死亡(如节点故障、资源不足),需通过控制器(如 Deployment)管理生命周期。
2.
共享上下文:同一 Pod 内的容器可通过localhost通信,共享存储卷。
3.
IP 地址:每个 Pod 分配唯一 IP,同一 Node 上的 Pod 通过 CNI(容器网络接口)互通。
7.
Deployment:管理 Pod 副本的控制器,提供声明式更新、滚动升级、回滚等功能。
1.
声明式 API:定义 Pod 的期望状态(如副本数、镜像版本),自动维护。
2.
滚动升级:逐步替换旧 Pod,支持暂停、回滚(记录修订历史)。
3.
自愈能力:节点故障时自动重建 Pod。
8.
Node:K8s 集群中的工作机器(物理机或虚拟机、节点,运行 Pod 和相关组件。
1.
kubelet:与 API Server 通信,Node 代理,管理 Pod 生命周期,确保容器健康运行。
2.
kube-proxy:实现 Service 的网络代理和负载均衡,确保集群内的流量正确路由
3.
容器运行时:如 Docker、containerd、CRI-O。
9.
其他:
Service为 Pod 提供稳定的网络端点(IP 和 DNS)暴露 Web 应用为 ClusterIP 类型的 Service
ConfigMap存储非敏感配置数据(如环境变量、配置文件)存储数据库连接字符串
Secret安全存储敏感数据(如密码、证书)存储数据库密码
Volume提供持久化存储挂载 NFS 或本地磁盘
Ingress集群外部 HTTP/HTTPS 流量的入口,实现域名路由将域名映射到内部 Service
ServiceAccount为 Pod 提供身份认证,用于 API 访问允许 Pod 访问 K8s API
7.
常用命令:
1.
安装kubectl:mac电脑安装kubectl_mac安装kubectl-CSDN博客
2.
将配置文件放置到 ~/.kube 目录下:
8.
部署服务至k8s集群
1.
本地打包服务,构建docker镜像: docker build -t zm-spring-boot-app .aqC1y9
2.
推送镜像至 docker hub 或私有仓库(可选) docker push zm-spring-boot-app
3.
创建k8s部署文件、service文件:deployment.yamlservice.yaml
4.
部署到k8s集群:
YdRIkZ

ktctl(2025.7.8)#

KtConnect提供了本地和测试环境集群的双向互联能力,官网文档:KT: A simple kubernetes development toolkit
O2-研发dev环境信息
开发指南
1.
连接集群网络:sudo ktctl connect
k8s配置文件:o2-k8s-dev-kt.yml
DddkYa
9xZJQR
2.
将集群中的远程 Pod 临时替换为本地进程:
3.
本地服务以临时域名的形式暴露到公网,供团队成员或测试人员访问:
1.
本地启动服务,比如端口号是8091
2.
通过上文命令连接到集群网络
3.
将本地服务暴露至公网: ktctl --namespace o2-dev preview zm --expose 8091
4.
进入任意pod:kubectl exec -it o2-store-h5-84d6fd5f65-qn7m4 -n o2-dev -- sh
5.
访问测试:curl zm:8091/ping/a
1.
zm仅用于集群内部的隧道转发,并非可直接访问的服务名
jvkN7D

Lens(2025.7.8)#

k8s可视化工具,下载地址:https://k8slens.dev/
上文已将k8s配置文件放置到 ~/.kube 目录下,进入Lens可自动连接至集群
RX3g2x

App(2025.7.8)#

相关软件:开发相关软件&破解
IDE规范检查&工具设置:汉得焱牛开放平台
Mavne配置,settings.xml文件添加如下镜像:
<mirror>
   <id>aliyunmaven</id>
   <mirrorOf>central</mirrorOf>
   <name>aliyun maven</name>
   <url>https://maven.aliyun.com/repository/public </url>
   <!--<blocked>true</blocked>-->
</mirror>
<mirror>
		<id>maven-default-http-blocker</id>
		<mirrorOf>dummy</mirrorOf>
		<name>Dummy mirror to override default blocking mirror that blocks http</name>
		<url>http://0.0.0.0/</url>
    <!--解除对 HTTP 仓库的默认阻止-->
		<blocked>false</blocked> 
</mirror>

第一个接口调用(2025.7.8)#

1.
修改配置文件:
eBchAN
2.
配置环境变量
peX3L7
3.
启动 poc-dev-demo 服务
4.
连接k8s集群、将本地服务暴露至公网
注意此处命名和服务名保持一直,端口号和服务端口号保持一直,否则下文权限刷新时会报错
Ul6fSo
5.
在中台前端新建路由
SMshGG
6.
刷新权限
ZdQvjm
7.
配置菜单
ojMbHL
BMqXA8
NdoYPF
8.
测试访问接口
1.
点击右上角切换至租户管理员,从控制台复制一份token
2.
查看ip3syGIW
3.
访问测试
JFo5bG

值集翻译(2025.7.9)#

此功能依赖于固定值集的访问类,使用前需确认依赖功能可以使用
此功能基于Spring AOP,拦截所有被@ProcessLovValue注解标注的,被spring代理的方法。自动根据给定配置将返回值中的快码value翻译成meaning。汉得焱牛开放平台
1.
配置值集
pEmv6w
2.
开启值集功能
2.
加入注释
J4hCrJ
3.
映射字段
ekN4fS
4.
访问测试,传输 1,数据响应时翻译成对应的配置值
tOhpJE

编码规则(2025.7.9)#

此功能用于维护编码的生成策略,在应用时可根据定义的规则生成对应的编码字符串 汉得焱牛开放平台
1.
配置编码规则
vjuoEa
2.
读取编码
3.
接口访问
GLu6ur

系统参数配置(2025.7.9)#

1.
参数配置(独立值、set、map)
h8DwkM
2.
参数读取
3.
接口访问
Atb4tQ
2ogv0B

角色菜单管理(2025.7.9)#

1.
新建用户
LjvBWm
2.
新建菜单
Ovhxbg
3.
创建角色-分配用户-分配权限
5DPUZM
qU4U29
4.
修改用户密码-登录
n0Lh6f
HI7VKg

Mybatis增强操作(2025.7.10)#

汉得焱牛开放平台
API命名规范:汉得焱牛开放平台
操作内容:
新建自己用户表,完成以下DB交互场景
1.
用户信息新增
2.
用户信息列表查询(分页)
3.
用户信息详情查询
4.
用户信息删除
5.
用户信息更新用户名
postman调用:
OWps0T

Redis增强操作(2025.7.10)#

组件学习#

定时任务调度(2025.7.10)#

O2 调度任务 汉得焱牛开放平台
1.
配置执行器
eXEvRQ
2.
新增调度任务及任务参数
4AHi7C
3.
代码执行定时任务、打印任务参数
Iqe1hI

接口集成平台(2025.7.11)#

汉得焱牛开放平台
1.
注册第三方接口
xism5p
m5Csli
NOpiWE
2.
代码调用
3.
创建内部调用接口
yFAsjd
z2A4nv

消息队列-事件服务(2025.7.11)#

O2队列组件:O2 队列组件
H0组件:汉得焱牛开放平台
1.
新建执行器
Cset67
点击连接测试,连接成功
2.
新建事件类型
JP1bc5
3.
新建事件定义
TPkBYP
4.
新增事件处理
U1dBeT
5.
生产者代码
6.
消费者代码
7.
执行结果
yvuzsm

通用导入(2025.7.11)#

导入组件:汉得焱牛开放平台
客户端导入:汉得焱牛开放平台
1.
新建导入模板
Uglo4X
2.
新建Sheet页添加相应字段
vqxBNn
3.
后台实现代码
1.
导入实体对象:
2.
导入接收类:
4.
下载模板-填写模板-执行客户端导入
v80ZpW
6Ygrth

通用导出(2025.7.14)#

汉得焱牛开放平台
导出测试代码:
测试导出:
1.
使用postman第一次发起请求获取相关列信息
ylA0a8
2.
选择要导入的列第二次请求
1.
下载浏览器插件ModHeaderk10gBn
2.
在该插件中新增认证信息RuCPXt
3.
浏览器发起如下请求
参数解释:汉得焱牛开放平台
会弹出:
查看文件:

文件传输管理(2025.7.14)#

O2 File组件
汉得焱牛开放平台
EVkrB7

消息通知管理(2025.7.14)#

O2 Message组件
汉得焱牛开放平台
1.
新建邮箱账户
RrKZrY
2.
新建消息模板
z77ByM
3.
新建消息配置并新增模板
xqFaNn
4.
新建消息组维护接收者
cXwo0W
5.
邮箱发送代码
MsgSendInnerDTO入参:
fU5ETS

报表平台(2025.7.14)#

汉得焱牛开放平台
1.
定义数据集并进行SQL检验
hm8B7B
2.
填写元数据信息
uYZf5P
3.
进行报表定义
BvJoGD
tnWNqu
4.
进行报表查询
bdoRlP

延时队列(2025.7.14)#

O2 延时队列
1.
发送延时消息
2.
消费延时消息
21MSxa
EuJjmw

ElasticSearch搜索(2025.7.15)#

O2 搜索组件
操作指引
HIrJs5

KMS组件(2025.7.15)#

O2 KMS组件

拓展学习#

Arthas(2025.7.15)#

1.
安装启动
2.
选择数据进入监控pAe9qT
3.
使用 trace 命令(详细跟踪调用链耗时)MDA0FX
4.
常用命令
help查看所有命令帮助help trace
quit退出当前 Arthas 会话quit
stop完全停止 Arthas 服务(所有会话)stop
session查看当前会话信息session
trace跟踪方法调用链路,统计子调用耗时trace com.example.UserService getUserById -n 5
monitor监控方法调用统计(次数、成功率、平均耗时等)monitor com.example.OrderService createOrder -c 5
watch观察方法的入参、返回值或异常watch com.example.LoginService login "{params, returnObj}" -x 2
stack查看方法的调用栈stack com.example.CacheService getCache
tt时光机(TimeTunnel):记录方法调用并可回放查看tt -t com.example.ApiService callApi -n 10
dashboard查看 JVM 实时仪表盘(线程、内存、GC 等)dashboard
thread查看线程详情(CPU 占用、线程栈)thread 1
(查看线程 ID=1 的详情)
jvm查看 JVM 基本信息(堆配置、GC 策略等)jvm
sysprop查看和修改系统属性(System.getProperty)sysprop
(查看所有)或 sysprop key value
(设置)
sysenv查看环境变量(System.getenv)sysenv

相关指标规范(2025.7.15)#

性能指标:O2性能概览
安全策略:H0安全体系
插件安装:IDEA插件安装推荐
表更新规范:汉得焱牛开放平台
猪齿鱼表设计管理:汉得焱牛开放平台
Redis规范:汉得焱牛开放平台
数据库规范:汉得焱牛开放平台
SQL编写规范:汉得焱牛开放平台
开发前思考:‼️开发前5分钟思考‼️
二开规范:O2 二开规范组件
基础服务调用链:汉得焱牛开放平台
修改于 2025-08-12 07:44:41
上一页
Whistle代理工具
Built with