前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何培养解决复杂问题的能力

如何培养解决复杂问题的能力

作者头像
SRE运维实践
发布2019-07-08 12:22:54
6600
发布2019-07-08 12:22:54
举报
文章被收录于专栏:SRE运维实践

序言

天气晴朗,蓝天无云。

想躺在床上挣钱,转念一想,挣钱又不是目的,所以躺在哪里都无所谓了。。。

日思夜想,时刻念叨,看书没意义,出门浪没意义,那么什么是有价值的事呢?

从问题说起

最近在看容器的监控系统,监控系统无非就是需要几个方面的功能。

数据如何采集?是服务端主动到监控节点拉取信息?还是客户端主动上报相关的信息,从而划分为两种类型,一种是有专门的客户端,一种是使用主机自带的协议,例如snmp协议。在进行网络设备的监控的时候,好像只能用snmp协议了,因为。。。不能安装客户端,容器中可以使用cadvisor或者使用prometheus的各种exporters。专用的客户端。

数据如何存储?数据存储在文件中?还是数据存储在数据库中?还是数据存储在分布式文件系统中?zabbix是存储在数据库中,那么需要考虑的问题是,如果存储在数据库中,保存多久的数据?一年还是更久,使用什么样的方式来定时清理数据?数据库influxdb不错,prometheus也还好。

数据如何展现?使用图表来显示?使用表格来显示?柱状图?饼图?主要取决于你关心的数据而已,例如容器总量是多少个,容器停止状态的有几个,容器运行状态有几个,容器使用的内存,CPU等相关的性能数据。。。人嘛,总是喜欢花花绿绿的,这样才能吸引眼球,grafana还是很不错的。

告警如何通知?使用短信通知?使用邮件通知?使用电话通知?是否支持这样的通知机制,使用prometheus这是一套解决方案。

那么如果是我写一套监控系统我能怎么做

语言使用python?我要使用docker模块?我怎么使用docker的方法?我如何远程监控?

使用专用的客户端,那么就会有一个agent,在每个监控节点上运行,那么这个接口采用restful接口?

数据存储在mysql中,那么mysql如何来清理数据?

数据展现框架?flask?django?tornado?

数据通知机制,怎么设置阀值?怎么通知?邮件的模块?短信的模块?还是其他的模块?

那么问题来了,想做一件事需要考虑这么多东西,复杂的问题该怎么办???

世间万物,均有联系

每天各种杂事缠身,每天花费时间处理各种琐事,然而就是这些组成了你的一天。。。

有的人躺在床上一天,有的人出去浪一天,有的人出去做头发一天。。。时间都是均衡的,每个人每天都是那么长的时间。。。

有的人过一天是一天,第二天太阳一样升起,有的人过一天是新的一天,第二天能力提升一点。。。

不好好对生活,生活就会好好怼你,投资多少,会回报多少。

可曾分析了每一天时间的消耗?例如消耗在一件琐事上,下次如何更好的处理?下次更加有效率的处理?下次是否可以不处理?下次是否可以一句话解决?有没有想过更好的方法来处理。。。动脑总是头疼,因为脑子不见了么?

可曾想过一天的时间构成?每天浪了多久,怎么浪,如何浪的更加有意思?会更有创意?会更有想法?会想到更好玩的事情。。。。怎么改进也是需要动脑子的,但是你的脑子呢?

日积月累。。。那么怎么日积月累?

在空闲时间,我写了一个restful接口,可曾分析过我以后怎么用?非要书到用时方恨少。。。

在闲暇时间,我写了一个通信接口,使用http协议,可曾想过使用的场景?非要到用的时候才去看?

在碎片化时间,我看了一个片段信息,可曾想过如果是你,你怎么去设计,你怎么去写,你怎么去考虑,在以后碰到了类似的问题,如何去解决?

一阵妖风吹过

一阵妖风吹过。。。。那么怎么解决复杂问题?积累。。。反思。。。应用。。。反馈、、、循环。。。

看到容器的时候,就会想起来,容器的网络是什么样的,桥接?主机模式?ingress网络?

看到容器的时候,就会思考到,容器的存储是什么样的,分布式存储?共享存储?volume存储?

看到容器的时候,就会有念想,容器怎么做资源隔离?和vm一样资源隔离?和process一样做资源隔离?

看到容器的时候,就会考虑到,容器怎么做成集群?服务怎么调度?服务怎么分布?和其他的分布式系统一样有区别?

我想要的我都有!!!

我要网络,啪,给你一个网络分布图,给你分配一个网络段;我要负载均衡,给我VIP;我要存储,分你几个bucket;我要我的脑子。。。那不可能。。。你本身就没有脑子!!!

对于复杂问题,一个能力在于拆解,就像微服务一样,一个庞大的系统,拆拆拆,拆成一堆的积木;一个能力在于组合,将各种积木进行搭建,组建成功能强大的系统

当没有基础的时候,多看看别人是怎么做的,去反思,去应用,去思考,去找脑子。。。多看,多问,多做。

当有基础的时候,多改进,多优化。。。这也就是为什么面试的时候需要优化的技能,明知道用不上,为什么还要问。。。因为只有优化的时候,才会发现你动了脑子。。。

总结

对于复杂的东西,要进行拆解,拆解之后,有目的的进行强化练习,时刻不要忘记你做这种练习的目的是什么,是为了在以后的使用。

对于简单的东西,要进行组合,联系过往,在哪个地方使用了,使用的场景是什么,为什么要那么做,做的动机是什么,达成了什么效果,怎么改进。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SRE运维实践 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档