GiTC笔记整理
GiTC网站:http://www.thegitc.com
运维方面:
关于如何监控,叶骏强(上海绿岸运维总监)提到了flume作为收集工具,收集各种日志,然后进行分类分析。python+zabbix作为常规监控工具。安全上,fail2ban是一个不错的工具。
郑首帅分享了电魂网络运维部的一些经验。我认为最值得借鉴的是“将运维做成可量化的”。这里面提到了配置中心(CC)、自动化作业(IDO)、运营质量度量平台。他们有一个运维工作台,所有人都可以登录上去,然后各种需求可以做成一个个的App,这个概念就是“让提需求的人自己实现需求”。
小米的系统架构师孙寅从自动化部署这个方面讲了很多小米的实践经验。小米正在尝试三个里程碑:一键升级、一键部署、动态部署。动态部署是最高形式,要求所有的资源都能做到隔离,包括硬件(比如CPU、内存)、软件,甚至IP都需要能够动态化。这样的好处就是能够做到足够灵活。
大数据方面:
邓雄分享了人人网对于社交网络好友推荐的实践。社交网络里面一个很重要的环节就是如何建立“人脉”,推荐是一种比较高效的做法。借鉴facebook的做法,人人网采用了几种模式(算法)。本质上是基于朋友的朋友推荐,这里面涉及到二度人脉、共同好友与建立好友的时间,动态和静态亲密度、添加好友的趋势预估等等。最终可以做到智能分组。动态好友推荐的技术难度在于实时性,计算量非常大,所以算法的改进对于好友推荐的效果以及速度都是非常关键的。另外,对于热门事件,他们的分析不是简单的切词,切词方法是需要尝试词与词的组合,最终得出的热词是真正符合实际的。
客户端开发方面:
新浪微博的客户端开发经理张杰讲了一些微博客户端开发时遇到的囧事。比如流量监控类软件会拦截App的Http请求,然后去掉一些图片资源,导致微博行为不正常,但是用户根本不知道这个事情。他提到的几个值得参考的点:1.消息格式:客户端可以采用msgpac/probuf等更节省数据的消息格式甚至是二进制的消息格式,尽量减少传输量。另外对于客户端的图片格式,可以考虑采用webp格式,它相比png和jpg来说体积更小,更省流量。2.客户端响应速度上,可以考虑采用C库加快json的解析速度。另外在存储非常耗时的情况下,可以先渲染后存储或者用异步方式,来让界面的反映更快。3.客户端状态监控:要收集自己的crashlog、网络异常数据、api以及IO的异常数据。4.更新方式上,对于小的更新,可以采取只更新lib的方式,不需要整个apk都替换。5.客户端性能需要关注三大要素:电量、内存、安全。所有的优化都可以从这三方面考虑。
其他:
API化、SDN、智能玩具等都比较有意思。没有太多时间详细说了。
此文为原创,转发请注明来自zouyongjin的博客:
有兴趣的请与我交流:http://weibo.com/zouyongjin