浅谈服务治理第一篇

服务治理目标

对于任何一个产品或者产品里面的某项功能来说,把东西开发出来只是一个开始,而这个产品或者功能被下线或者去除之前,都会有一个很长的维护期。

对于这个示意图,核心有两点关键:

  1. 开发阶段的成本是非常显性的,但是功能维护期,包括了功能迭代和售后维保,它的隐性成本往往更高。
  2. 产品的功能开发期虽然可能很短,但是它是起点,是源头。它每一分每一秒时间是怎么花的,很大程度上决定了这个产品或功能的最终维护代价。

以互联网为载体的软件,它不只是在功能上要满足用户需求,还要提供健康的24小时不间断服务。功能开发与维护的边界变得模糊,一些公司甚至每天都在发布新的版本。

而服务治理的核心目标,除了软件治理外,更重要的是考虑如何确保这些软件能够真正做到24小时不间断的服务。

服务治理系统

从服务治理角度来说,把软件做出来只是一个开始。接下来会需要涉及发布部署、升级、版本管理等等相关的话题。等软件在线上成功跑起来,为用户提供了服务,接着我们就要保证它不会挂掉,做到分布式高可用,对故障进行监控和告警等等。

服务治理并没有那么简单纯粹。虽然理想情况下我们应该尽可能自动化所有故障的恢复,但是故障的可能性太多,很多时候我们无法提前预知,这就意味着人工介入无可避免。所以,互联网不只是产生了服务端开发这样的工种,同时也产生了运维、业务SRE(Site Reliability Engineer网站可靠性工程师)这样的工种。

故障基本上是难以避免的。可能导致故障的因素非常多。大体可以分为这几类:

  • 软硬件升级与各类配置变更。变更是故障的第一大问题源头,保证系统不出问题的最简单方法就是不去升级,但从用户的服务体验和竞争力来看,升级又是必需的。这就需要服务端开发与SRE之间进行平衡。
  • 软硬件环境的故障引发服务异常。如:硬盘坏、内存坏、网卡坏、系统死机或重启,机房或机架故障如断网、断电等。
  • 终端用户的请求引发的故障。如秒杀类,短时间内大量的用户涌入,导致系统承载能力超过规划,产生服务的过载。

工程师思维

保障服务健康运行,必然有大量的事务性工作,运维或SRE这样的职业也由此诞生。

如果我们停留在事务中不能出来,那么随着我们所服务的用户数量增加,必然需要招聘大量的人员来应对繁重的事务工作。如果我们花在工程项目上的时间太少,你的职业发展会变慢,甚至停滞。我们可以鼓励那些做脏活累活的人,但仅仅限于在这些工作不可避免、并有巨大的正面影响的时候才会这样做。没有人可以通过不停地做脏累活实现自己的职业发展。

那么,什么是工程师思维?

从浅层的意义来说,工程师就是要实现业务的自动化。Don't repeat yourself! 某件重复发生的事情只干一次就好,以后也不需要再重复做。所体现的内在逻辑就是如何把问题闭环,如何把问题彻底解决掉,而编码只是一种工具。

工程师这种把问题闭环,彻底解决掉的思维,看重的是自己工作内容的长期价值。如果我们只是在做事务,而并没有在实质性解决一个问题,那么这件事情的长期价值就是零。

所以本质上,工程师文化也是产品文化,把问题以一种自动化的方式解决。这才是我们真正应该尊崇的工程师文化。

从更深层次来说,工程师思维是一种系统化的思维。仅仅是编码和自动化是不够的,很可能你编码也只是在实现某种事务性工作,而不是用系统性或者结构化的方案来解决问题。

真正优秀的工程师会系统化地考虑方案的有效性。他们追求的是用最小化的编码工作来解决更大范围的问题。坚持自我批判的精神,相信过往的经验但是也不迷信惯例和权威,寻求本源,以数据为指导,从根源出发去系统性解决问题。

相关推荐
㳺三才人子6 小时前
初探 Flask
后端·python·flask·html
星栈独行6 小时前
我在 Rust 全栈项目里用 JWT 做无状态认证
开发语言·后端·rust·前端框架·开源·github·web
Java爱好狂.6 小时前
Java程序员体系化学习路线(2026最新版)
java·后端·java面试·java架构师·java程序员·java八股文·java学习路线
陈随易6 小时前
Redis 8.8发布,一定要更新
前端·后端·程序员
装不满的克莱因瓶7 小时前
SpringBoot 如何将 lib 目录中jar包打包进最终的jar包里面
spring boot·后端·maven·jar·mvn
ltl7 小时前
Transformer 原论文实验结果:为什么 28.4 BLEU 足以改写路线图
后端
这是谁的博客?8 小时前
微服务架构设计模式深度解析:从拆分策略到容灾机制
微服务·设计模式·云原生·架构·架构设计·后端开发·分布式系统
excel8 小时前
为什么我推荐使用 Termius:现代 SSH 工具的完整体验
前端·后端
卷毛的技术笔记9 小时前
Java后端硬核实战:用Spring AI Alibaba+Redis给LLM装上“超强记忆中枢”
java·人工智能·redis·后端·spring·ai·系统架构
IT_陈寒10 小时前
Java的Optional差点让我掉坑里,这几个坑你别踩
前端·人工智能·后端