运维就要无所不能,无所不会
副标题: 如何成为更优秀的自己。
大家好,我是史丹利「Stanley」.今天我们来聊如果你遇到的问题是10年前已经遇到过的,你该怎么做?其实,我更想聊的是如何成为更优秀的自己。
本次希望能为大家如下一些收获:
今天遇到一个非常经典的问题,详情描述如下「PS: 稍微有点复杂,可能需要大家多一点耐心」:
测试同学功能性测试某的icon点击后没反应
不知道该问题找谁处理!
非常简单!
nginx
入口gateway
白名单即可
但是!大家看看问题处理的详细流程,有什么感觉,太难了,日了狗的感觉有没有!。。。这么一个小破问题,Block了2天。
而我们公司总共才不到3000人。上海所有的IT团队也不过400人!。。明明没有大公司的实力,却得了大公司的病。
这个场景不禁让我想起10年在腾讯的工作经历,我们当时经常遇到这样的问题:
一个问题A找B,B找C,C找D,D找E,E找,F找A。留下一脸蒙逼的A...
A觉得太冤了呀。本来是自己遇到的问题,最后竟然还需要小A处理,而且小A还不知道怎么处理。。。。
我原以为这是个故事,后来发现就是发生在我身上的真事,还是两次。。。
当我再次遇到这个的时候,我的第一反应是这个问题很经典。相比10年前只有一脸蒙逼,现在多了很多方案。
![企业微信截图](http://oss-qiniu.ssforce.cn/Screen Shot 2021-01-14 at 12.11.33 PM.png)
明显:
公司组织架构不是我们本次要讨论的话题。重点是本次我是如何处理的。
原则上问题解决后,这个问题就可以结束了,但作为运维部落的粉丝,怎么可能会放弃这么好的学习机会。结合这么多年的工作经验,我脑海里冒出来一个词: 服务治理。
这个词我一直知道,但也只是仅仅是知道的层面。我在公司问了15年左右工作履历的java开发负责人。没想到这货和我是一个理解程度,甚至还要反问我 什么是服务治理。。。。哭.gif.
于是,昨天研究到凌晨,结合开发同学现在的微服务治理的工作模型,我结合自己的粗浅理解,斗胆给大家普及下服务治理的
首先,作为10年老司机,我先斗胆预测大家对服务治理也只是字面理解。这里有个好消息,大家不必焦虑,据我研究市场无论是职场体系还是学术体系,对服务治理都没有一个统一的标准和理解,各公司各自为营。总的适用标准,合适就是最好的。
服务治理其实是随互联网的高并发特色衍生出来的。 即,当技术架构复杂到一定程度时,都需要对问题梳理、改进优化。服务治理的本质其实是对复杂度的管理。无论是人月神话,还是人们常讲的技术银弹都是和复杂对抗的过程。
摘自infoq李鑫服务治理分享-侵删
业务早期流量不大时,多为单体应用,即所有模块AllInOne,即可满足应用所需。随着流量不断增长及微服务、容器化、网格服务的越来越流行,庞大的服务节点数量、日趋复杂的服务分层、离散的组织协同、扁平化的管理模式让服务治理的广度、深度、难度都达到前所未有的程度。单纯依靠微服务框架层面的治理是远远不够的,需要构建贯穿研发、测试、运维、管理各领域的立体式的深度治理体系
这个阶段谈不上服务治理,svn,chm文档,接口查询接入即能完成接口管理。说白了,就是文档管理的过程
svn文档列表
接口标准文档
随着IT的建设,各部门之间互联互通的需求越来越多,常规提供api接口方式管理难度效果随数量直线下降。
后来IBM提出的SOA面向服务开发架构兴极一时。并制定了一系列的标准。SOA 最核心的诉求就是构建一条企业服务总线(ESB)。通过 SCA 规范开发服务适配器,将不同的异构系统接入服务总线,通过 SDO 标准进行请求数据封装,服务之间通过 WebService 协议进行互相调用,通过 BPEL 流程标准对服务进行流程化的编排,创建出来的服务可以通过 UDDI 协议对外暴露,以供第三方应用或服务调用。由于涉及的软、硬件资源越来越多,“治理”的需求也就应运而生。事实上,服务治理这个概念是随着 SOA 技术的兴起被同步提出来的。
本段援引自info[1]
SOA架构,援引自infoq-侵删
简单点说,就是通过技术架构来解决人治的问题。但同步有如下问题,致使SOA架构并未在业内广泛推广。
基本上解决了老问题,引入了新问题。
新一代的spring Cloud 相对SOA,单纯从技术角度实现简化版分布式系统。从架构设计上为开发人员提供快速构建分布式系统架构的工具,例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁定,领导选举,分布式会话,集群状态等。大大降低大型项目管理门槛
spring cloud
sping cloud 解决了大部分Java应用的微服务场景,但其它非工程性言语有微服务之路全靠经验和技术。随着容器化的逐渐普及。微服务治理也日益成熟。
后端架构演变图-援引自csdn-侵删
随着近几年容器技术的快速发展,服务封装及部署的成本越来越低。一方面,微服务的模块越来越小,另外一方面,随着互联网行业发展,平台规模越来越大。微服务管理难度更大,量变导致质变,我们的开发模式、测试模式、运维模式都会受到冲击。
容器化编排服务为容器化可用和拓展铺平道路,但微服务的开发,上线,运维,各部门之间的协调仍离不开人。像文章伊始的问题依然无法解决。
这个问题,李鑫老师则给出了更为专业的技术解决方案。这比我伊始想到的网关架构角度又有了更高维度的提升。线下管理->分析度量->线上管控,实现线上线下链接闭环。
援引自infoq-李鑫服务治理-侵删
参考如上的架构,其实我司在技术栈的应用很全面,在今年容器化后,技术栈也追上业内平均水平,但综合公司业务特色、组织构架、文化氛围,有很多问题依然在路上:
当然了,每家公司必然存在各类问题,如上这些问题必然也不是我司个例, 李老师的这篇微服务治理思想[2]值得学习10遍。希望能从中找到更佳解决方案。
但《精进——如何成为一个很厉害的人》 和《程序员修炼之道: 从小工到专家》里的几句话送给自己,分享给大家:
over~ 希望大家今天有所收获
[1]
援引自infoq: https://www.infoq.cn/article/q65ddirtdsbfe6ki2p4*
[2]
微服务治理思想: https://www.infoq.cn/article/q65ddirtdsbfe6ki2p4*