技术分享活动的小结

作者: admin 分类: 公众号存档            0 次浏览 发布时间: 2018-05-30 22:58

公众号:杨建荣的学习笔记 · 作者:r16笔记第38天 · 发布:2018-05-30 22:58:25 · 原文链接

    今天参加了下团队的一些经验交流,在这个过程中自己也想了一些东西。

    其实对于技术分享来说,我最大的感受就是整个过程如果能够引起共鸣,那么这个过程中对于理念和实践经验的所得效果要好很多,就比如别人描述了一个蓝图,对你来说,从你的理解可能是另外一个事物,通过反馈和讨论,能够把这个认知边界缩小,我想技术分享中几乎很难精确的锁定某一个问题,但是能够理清问题的边界,这也是我对于技术分享的一个基本期望,短短的几十分钟里,如果能够吸收了理念或者能够佐证一些自己的思想,那就值了。

    对我来说,其实我在整个过程中一直在思考一个问题,我的核心竞争力是什么,对于公司来说我的核心竞争力是什么,这看起来是类似的问题,但是答案可能有所不同。

     举个例子来说,前段时间读了一篇文章,我觉得说的很有道理,公司请你来,不是让你证明是领导错了,而是你要解决问题,通泛来说,这是我们在现今岗位上工作的意义所在。从标准化或者敏捷的角度来说,我们存在太多的问题,很多细节在实践中都有很多的差异,所以大家说的和实际的情况会有一些出入,我们能够提出并且发现很多问题,如何解决,提出解决方案是我们真正需要做的事情。

    所以任何事情不能只看到不好的一面,其实通过一个基本的沟通,我发现对于彼此的业务其实是有一个隔离的,我们不大清楚别人在做的事情,不知道哪些事情可能可以复用别人的产品,或者说在最初设计的时候,标准有所差异,这样就会明显导致在后期集成的时候做成本的权衡。

    所以对于公司来说我们工作的意义就是能够发现问题,解决问题,那么核心就是如何提前发现问题,并且能够高效快速的解决问题。

    然后回到第一个问题,我的核心竞争力是什么?这个问题其实因人而异,从我的理解来说,最起码的要求是独当一面,能够形成一套完善的解决方案体系,并且能够高效快速的解决问题。所以继续提炼第一条就是技术要有大局观,要有全局意识,从架构的角度来设计和解决问题,主线依然是基于业务价值。第二是技术能力,个人技术能力要过硬,同时能够影响团队,带动团队提高技术水平,主线是技术价值和团队合作。

    其实今年对自己也是一个蛮大的挑战,不光要去接手MySQL方面的工作,还要去更多的接手运维开发和Greenplum方面的内容,整个过程中我是非常焦灼的,因为进度和资源的问题,让我感觉事情总是达不到预期,最开始提出想法,似乎是提前了一些,不断的磨合,也是在最近,明显感觉到情况有了好转,我说一些后期的想法同事也能够领会了,从不断的磨合和实践中,我发现,可能是自己在前期的时候对于个人的要求太高了些,所以很容易产生落差,这一点上如果能够梳理出一个比较合适的流程,那么每个人都可以尽可能投入在一些专注的事情和环节上,这样后期的推进就是持续集成,而且每个人都可以根据自己的能力和水平做适合的事情,我的要求是全栈,但是显然不能要求所有人都要负责所有的事情。

    对于故障,我的理解尤其深,每每看到一些高可用的指标或者性能问题,自己都会想起自己曾经踩过的一些坑,有些坑是如此的沉痛。比如举一个比较典型的,也是下午在讨论环节我说到的一个真实案例。

    有一天客服反馈某个业务无法充值了,因为时间已经很晚了,所以协调资源相对要慢很多,而问题的关键是我们没有梳理业务边界,业务接口人,导致去排查问题的时候,几乎无法确定边界,这是一个平台型业务,上面的业务实在太多,就这样逐个梳理,大概花了近3个小时,最后锁定到是某个应用服务器所在的业务抛出的问题,然后继续定位,发现是访问数据库失败,继续下钻,发现是一个数据库集群中的某一个节点发生了故障,直接OOM宕机了。为什么没有报警,因为是刚做过的维护,元数据信息没有及时同步,所以问题一环扣一环,最后都暴露了出来。当然可以根据这问题继续追究更深层次的原因,其实和公司的文化,团队协作,流程安排等都有一定的联系。问题的修复其实很简单,大概只有了不到5分钟即可搞定。

    怎么快速的定位问题,如何进一步排查问题,并解决问题,可以分为三个层次来说。第一个是我们需要梳理业务,理清业务边界,比如这个数据库是哪个业务的,业务接口人是谁,对于业务也要有一些基本的认识。这样发生问题的时候我们能够很快锁定业务影响范围,而不是黑盒的处理放肆。第二是我们对于故障的定位,其实一种快捷的方法论就是可视化,比如发现了一个问题,我们可以基于具体的一些维度来定位,比如服务器这个维度,其实会包含多个子维度,我们通过可视化的结果得知某个业务存在问题,然后可以继续下钻,比如网络层面,比如系统层面,数据库层面等等来定位问题。

第三个想法就是可以通过APM或者业务全链路监控的角度来解决,这个需要协调更多的资源,整合上下游团队来解决。这个工作量巨大,对于阿里,京东来说投入了很多人力精力来做这个事情,收益是巨大的。

admin

杨建荣,《Oracle DBA工作笔记》《MySQL DBA工作笔记》作者,dbaplus社群发起人之一,腾讯云TVP,现任竞技世界系统部经理,拥有十多年数据库开发和运维经验,目前专注于开源技术、运维自动化和性能调优

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注