谈点自己的一些想法,平时在实际的工作中做出的一些总结,可能东西不一定最适合每一个人。
程序员在平时写代码的时候比如说写脚本吧,怎么做到可运维呢?我觉得如果能够做到单进程控制服务是会比多进程服务要好管理一些,比如启动两个thrift端口来提供服务fork了两个进程那这样就不好管理了。即尽可能让你的系统简单一点,这样会好管理些。
另外一点是开发过程的时候要想到一些比较关键的点是否会出现问题,如果出了问题要怎么发现?这就是是需要这个系统能够告诉外面的人,或外面的系统说我出问题了。这怎么办呢?开发人员可以把一些关键的指标信息写到日志里面去,这样也好分析问题。
在做数据相关的项目的时候,怎么样保证数据的准确性?我觉得监控是非常关键的一点。比如在做整合项目的时候两边的数据如何能够保证没有问题,这就是需要做到可监控,哪条数据发生过变更,变更了什么,这个变更会有什么影响,为什么会有差异?这个差异会有什么影响。
开发人员写完了代码之后怎么将它发到线上去?怎么样可以简单高效地发布?我觉得这个也可以思考一下。可以写一个发布脚本来做这件事情,当脚本慢慢固定下来之后就可以做一个简单的发布自动化工具来实现它。我觉得简单、易用的发布工具就行。不需要太复杂。能够减轻发布工作量就是可运维了。
当项目上线跑了,那做为一个开发人员怎么知道这个系统好不好用?有没有人在用?有多少人在用?现在这个系统的健康状态怎么样?有多少台机器在跑?每台机器的负载怎么样?我调用了哪些第三方系统的接口,如果第三方挂了我怎么办?我觉得做为开发人员应该要能够为自己的系统保驾护航。比如可以在系统里面多埋一些点然后把数据采集回来监控起来。[监控是一个很好的东西!]自己要做好容灾。
阅读(1018) | 评论(0) | 转发(0) |