记那些年我们走过蛮荒时代,运维旁观者说
运维本身是弹性较大的东西,但不管怎么样,他的地位越来越重要了。
我不是专业运维,我是专业看运维成长的。
发布方向:
最原始,硬写代码,没有版本。上线使用ftp,谁误改代码完全不知道。
然后,svn,git版本管理,提交记录有处查。继续使用ftp上线。
然后,接入jenkins打包工具,使用yum源安装包。全部配置自己!
然后,安装时替换配置文件,使测试环境与线上环境隔离开来。
安装集群环境,从一台台安装到使用for进行机器包的复制安装,到salt命令进行批量安装,批量操作。
然后,使用定制化的jenkins工具,进行打包部署,进行页面点击就进行部署操作。
然后,支持各个环境部署,指定版本部署,灰度发布,版本回滚等等。
各个上线步骤填写,各个上线资料填写,统一使用进行操作记录保留,以待后续查看。
权限申请,界面操作。
容器创建,界面操作。
工具导航,界面操作。
自动化测试,ruby自动化测试。
压力测试工具,jmeter,hp loadrunner。
容器方向:
最开始用物理机,一个服务一台。功能倒是很全,但同时只能一个团队在上面搞。
后来用虚拟机,一个物理机上搞多个虚拟机,机器占用稍微少点,可以多几个项目跑。
再后来,使用docker,一个机器上部署n个docker,而且采用复制环境的方式,让新建环境更快速更好。
监控方向:
最初,我们凭感觉排查问题,发现问题巨慢。
然后,我们打了各个访问点的日志,如果发现访问断了,那么就是这里有问题了。开始,我们不敢打太多日志,怕打太多无用日志,会导致服务器被撑爆。后来有了定时清理日志脚本,然后我们随便打日志了。
日志是事后处理,且有比较长的滞后性,于是有了埋点监控,当有异常情况时,向监控中心发送报警信息,cat。于是能够及时发现问题,根据堆栈信息可立马定位问题。
集群后,有些难的问题,需要查找整个访问过程日志,但是由于日志分散,无法有效截取信息,于是有了日志中心。
对于机器的运行情况,如内存,cpu,io等等,我们需要实时掌握,如有问题,及时处理,于是我们有了zabbix,grafana。
对服务调用情况监控,于是有了服务治理。
工具,是为解决问题而生。可能只有在遇到问题之后,才会想到去生产工具,所以工具其实是被动的。不过,了解过后,这些套路大可以指导自己提前规划。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
2017-06-22 如何使用spring配合mybatis配置多个数据源并应用?
2016-06-22 redis常用操作总结