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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/TM6zNf87MDG7Bo/article/details/79546474

序言

    天气晴朗,蓝天无云。


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

    

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


从问题说起

    

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


    数据如何采集?是服务端主动到监控节点拉取信息?还是客户端主动上报相关的信息,从而划分为两种类型,一种是有专门的客户端,一种是使用主机自带的协议,例如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;我要我的脑子。。。那不可能。。。你本身就没有脑子!!!


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


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


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


    

总结


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


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


    关于价值的定义:改变生活,改变行为,改变思维,在以后的将来,我会用到



    

640?wx_fmt=jpeg


    但是。。。我的脑子不见了。。。。


    如果你看了这个文章,有所思考,那说明。。。你还有点脑子。。。如果你能在生活中用上,那说明,你的脑子还在。。。


    准备。。。是为了将来能用上。。。如果用不上,那就没有价值。。。还不如躺在床上发呆,做白日梦。。。而我。。。此刻还在床上。。。哈哈。。。我在思考人生。。。天为什么这么蓝。。。

    

640?wx_fmt=jpeg

    

    

展开阅读全文

没有更多推荐了,返回首页