Baidu实习总结
时间过得真快,不知不觉中,短暂又漫长的三个多月北漂实习生活就要画上句号了。周围的一切好像都知道我要准备离开了:洗澡的肥皂刚好快用完了、洗面奶也是、路边的银杏树也都落光了叶子......说实话,真舍不得结束实习。 这段时间里,做了一些事、认识了一些人,体验了一段难忘的北漂时光,自己也成长了许多。 很幸运自己在实习期间遇到了特别好的mentor、leader和十分卓越的团队,还有我的几个“实习搭子”。真希望自己以后工作了也能遇到和他们一样好的人,也希望自己以后能像他们一样优秀。 成长篇回想起这段实习经历,感觉自己是幸运的,能来百度这样的互联网大厂我觉得并不是自己的实力有多强,更多的是运气。 第一次来到中关村软件园,这里遍布着平时耳熟能详的互联网公司,什么腾讯、快手、滴滴……简直就是中国互联网的“十字路口”。 有时候上下班,看到百度科技园上的“熊掌”大logo,心里总是会感叹:原来我也能在这里实习啊。 个人能力这三个多月,我想特别感谢我的mentor杰哥。 刚开始的一个月里,我经常会做一些偏“运营”的工作:比如跟进故障改进进度、录入资源信息等等,我总觉得自己是“干杂活”的。其实...
利用通义灵码实现我的第一次开源贡献
## 结缘开源 最早了解开源是从学校的兴趣组织开始的。2023年10月21日,openSUSE亚洲峰会在我们学校召开,这次会议汇聚了许多来自openSUSE社区贡献者以及对开源感兴趣的爱好者们。我第一次知道有这么多志同道合的爱好者在进行开源贡献,他们以个人兴趣为驱动力共同维护护着一个社区。这次峰会激发了我对开源社区的兴趣,一颗种子也开始埋在我的心中——我也想要做一次开源贡献! 2024年6月24日,我上完课准备回宿舍,刚好在必经之路上看到“2024天池云原生编程挑战赛”的宣传海报。我一看居然是阿里云举办的,回到宿舍后就立马仔细查看了详细的比赛信息。”赛道3:用通义灵码,人人都是开源贡献者“很符合我的兴趣,我也特别想能有一个被Merged的PR。赛道3有很多个选题,结合我自己学习过云原生的一些知识,我最终选择了Higress开源项目,这是阿里云自己开发的API网关,它和Nginx、Traefik很类似,但是它增加了许多新的功能,并且更聚焦于云原生环境中的服务网格。尤其是它有丰富的插件,特别是与AI有关的插件,使得用户可以很轻易的拥有一个属于自己的AI。 参加比赛因为Higr...
2025:向外走
从今年开始,我想在每年年末给自己做一次总结,回顾这一年的成长,也为接下来的路留下一点思考和期待。 关键词:实习、小有收获、思考、快乐 前言2025 年是我重获新生的第二年。相比去年更多是在探索与尝试,这一年我开始真正向外走:尝试新的角色,承担新的责任,也更认真地对待生活本身。回头看,这是一年变化逐渐发生、方向逐渐清晰的一年。 第一次我发现,每一年真正值得记录的,往往不是结果,而是那些发生在过程里的第一次。 第一次体验北漂实习生活可能因为是第一次上班,这段实习给我的感受是自由又快乐的。每天能做自己感兴趣的事情,下班之后还能慢慢感受一座城市的生活气息。 第一次对 SRE 有了比较全面的认识我开始明白,SRE 并不是单纯的运维角色,而是通过流程、制度和工程化方法,去长期维护系统的稳定性。 第一次获得开源组织的认可今年上半年,我为 Higress 的 AI Cache 插件补全了部分模型的 embedding 对接,很荣幸拿到了 Higress Contributor 的称号,并且收到了一定的奖金。不过后半年忙于实习,开源的热情有所衰减,但是有机会还是会重拾起来的。 ...
Redrock Horizon|一站式运维平台
平台介绍Redrock Horizon 是由红岩网校工作站运维安全部运维团队基于 Grafana 构建的一站式运维平台。 “Horizon” 意为地平线,象征广阔视野,寓意运维人员能够在统一平台中掌握系统整体运行状态与资源全貌。 平台的核心目标,是将 Grafana 从传统的数据可视化工具,逐步演进为一个具备管理能力与自动化能力的运维平台。通过整合多种插件,尤其是 Business Forms 与 Infinity,Horizon 能够: 触发和封装 API 调用 汇聚并整合多类型数据源 驱动实际的运维与运营工作流程 平台功能目前,Redrock Horizon 已围绕运维核心场景,建设了四大功能模块: 资源盘点 变更管理 系统监控 自动化工具 资源盘点资源盘点模块基于 Business Forms 构建,用于对团队所管理的各类资源进行统一管理和持续维护。 平台将服务器、服务实例及其他运维相关资源统一收敛至数据库,通过 Horizon 动态维护资源现状,确保运维人员始终清楚:当前系统中有哪些资源、由谁维护、状态如何。 资源盘点的整体流程为: 在 资源清单 中新增...
运维变更规范
目的为规范运维人员的变更行为,降低变更风险,提升整体运维质量,特制定本变更规范。 变更本身具有不确定性,每一次变更都可能对系统稳定性和业务连续性产生影响。在缺乏统一记录和规范流程的情况下,一旦出现问题,往往需要多名成员临时介入排查,信息不对称,责任边界模糊,最终只能被动兜底。 因此,我们通过 Redrock Horizon 平台发起变更单 的方式,对每一次变更进行记录和管理,使变更过程可追溯、可评估、可复盘。 同时,完整地编写变更单,有助于运维人员在变更前进行系统性思考,这对于培养全局视角和风险意识具有长期价值。 发起变更单 变更分类技术变更主要面向 SRE 的系统操作 以及 研发人员的代码发布行为。 包括但不限于: 涉及代码部署、服务启停、服务升级等底层系统操作 日常版本发布(功能迭代、热修复、补丁更新等) 基础资源调整(服务器扩容、网络架构变更、存储资源配置等) 运营变更主要指 由 SRE 发起的策略或参数调整类操作。 包括但不限于: 通过后台管理系统实施的操作(如向 WAF 黑名单添加 IP 等) 业务规则或策略配置更新(如风控阈值、安全封禁参数调整,服务配...
MariaDB Galera错误的更改配置方式导致集群无法拉起
故障描述sre-tools-database 命名空间下由 MariaDB Operator 管理的 Galera 集群包含 3 个 Pod 实例。在一次配置变更过程中,将对应的 StatefulSet 直接缩容至 0,随后再扩容回 3。 扩容后,三个 Pod 均无法进入 Running 状态,集群节点相互等待(死锁),始终无法形成 Primary View,最终因连接超时而启动失败。 mariadb-galera-0日志...2025-12-21 14:10:02 0 [Note] WSREP: gcomm: connecting to group 'mariadb-operator', peer 'mariadb-galera-0.mariadb-galera-internal.sre-tools-database.svc.cluster.local:,mariadb-galera-1.mariadb-galera-internal.sre-tools-database.svc.cluster.local:,mariadb-galera-2....
MariaDB Galera容器集群恢复方法
MariaDB集群引导:https://mariadb.com/docs/galera-cluster/high-availability/resetting-the-quorum-cluster-bootstrap#find-the-most-advanced-node MariaDB恢复:https://mariadb.com/docs/galera-cluster/high-availability/understanding-quorum-monitoring-and-recovery#recovering-from-a-full-cluster-shutdown 当集群出现崩溃时,可以通过下面的方法来恢复集群。 整体思路 先启动一个节点作为 Most Advanced Node 再由其他节点加入该集群 操作步骤手动指定一个Pod为Most Advanced Node暂停Operator对集群的接管kubectl patch mariadb mariadb-galera -n sre-tools-database \ --type merge -p &...
Redis主从同步实验
# 需求 A:master,不加密(普通端口 6379) B:slave,从 A 同步,不加密(端口 16379),同时监听 TLS 加密端口 16380 C:slave,从 B 同步,通过 TLS(端口 16380) 部署生成自签名TLS证书 使用openssl生成自签名证书mkdir -p certs && cd certs# 创建 CAopenssl genrsa -out ca.key 4096openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 -out ca.crt -subj "/CN=Redis-CA"# 创建 server key 和证书签名请求(CSR)openssl genrsa -out redis.key 2048openssl req -new -key redis.key -out redis.csr -subj "/CN=redis-server"# 使用 CA 签发 server 证书openssl x509 -re...
运维常用工具
## Harbor Harbor (goharbor.io) 尽管Docker官方提供了公共的镜像仓库DockerHub,但从安全性和稳定性等方面考虑,部署私有镜像仓库是非常有必要的。Harbor是一个由VMware公司开源的企业级的Docker Registry管理项目,是我们搭建私有镜像仓库的不二之选。 整体架构 如上图所示是 Harbor 2.0 的架构图,从上到下可分为代理层、功能层和数据层。 代理层:代理层实质上是一个 Nginx 反向代理,负责接收不同类型的客户端请求,包括浏览器、用户脚本、Docker 等,并根据请求类型和 URI 转发给不同的后端服务进行处理。 功能层: Portal:是一个基于 Argular 的前端应用,提供 Harbor 用户访问的界面。 Core:是 Harbor 中的核心组件,封装了 Harbor 绝大部分的业务逻辑。 JobService:异步任务组件,负责 Harbor 中很多比较耗时的功能,比如 Artifact 复制、扫描、垃圾回收等。 Docker Distribution:Harbor 通过 Distribution...
数据结构
## 绪论 数据:所有能输入到计算机中并可以被计算机处理的信号。 数据元素:用于完整地描述一个对象,是数据的基本单位。 数据项:组成数据元素的、有独立含义的、不可分割的最小单位。 数据对象:性质相同的数据元素的集合,是数据的一个子集。 数据结构:相互之间存在一个或多种特定关系的数据元素的集合。 逻辑结构:从具体问题抽象出来的数学模型。 存储结构:逻辑结构在计算机中的存储表示。分顺序存储结构和链式存储结构。 抽象数据类型:由用户定义的,表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称。 时间复杂度O(1) < O(logn) < O(n) < O(nlogn) < O(nn) < O(nn*n) O(2的n次方) < O(n!) < O(n的n次方) 冒泡排序 最好时间复杂度:O(n) -> 一轮冒泡就排好 最坏时间复杂度:O(n*n) 线性表顺序表的基本操作顺序表的存储结构 plaintext#include <stdio.h>#include <stdlib.h>#define MAXSIZ...
