• 微博工作半年记(2012.2.27-2012.8.27)


    代码patch +行:  10958

    上线次数:总计27次,每周一次的频率

    工作内容:微博短链,短链统计项目。  10亿+pv,后台进程2000+qps 数据流处理。没完没了的第三方接入,苦逼的性能优化,mysql批处理,hbase数据库方案,倒库,双写,下双写。。。

    应用技术:memcache redis mysql HBase分布式系统架构,vanish,concurrent多线程用法,jvm内存模型、内存分配调优和内存状况跟踪

    工作收获:

    1. 减少无聊重复工作占用的时间:刚开始三个月都被耗了,自己也瞎玩浪费时间。现在有规则库后台,省得走改两行代码测试上线的苦逼费劲流程了
    2. 开始懂得做事考虑成本,估算资源消耗,考虑带宽,考虑怎么省机器
    3. 搞清楚问题所在,了解整个系统再去做优化:刚开始说是系统负载问题,改批处理减少IO,后来发现数据库容量也有问题,改hbase,探索,减少往后的开发维护。所以数据库容量,缓存消耗命中率,访问量统计,错误状况都要做了解才好动手。
    4. 搞清楚当前系统状况再去改代码:log你熟悉了吗就去改?改完了读数据源有延时也不清楚之前是不是也有,苦逼搞了一个月才蠔。jvm状况你清楚吗?改完发现内存溢出,查查查改改改,最后发现还是写数据库慢导致的对象不能销毁。当前系统是否有坑你知道吗?自以为是获取全量list,最后发现一个key对应的list之前系统根本没有删到500,一下取出几十万,把HBase给卡死。熟悉再动手,而不是像《cube》一样,转了一圈,死了大半,其实出口就在原点。
    5. 引进新技术充分考虑风险,问清楚目前应用状况。 已经应用但没有上线的项目,宣称很稳定使用的hbase,在你没熟悉它时去应用,会导致很多问题,引进新技术充分学习掌握它再动手,考虑学习时间,考虑好它的优缺点。
    6.  遇事淡定,技术人员,关注自己能控制的东西,遇到问题解决问题(这条by军伟);从每天纠结苦逼的要死,被电话和不稳定因素折腾得快疯掉到最*的*稳无事,一路走来,心态心态!

    技术收获:

    1. 高并发经验,培养上亿pv的感觉
    2. 多线程实战
    3. HBase源码学习阅读,看别人怎么写的,自己模仿写写,算是有点起步深入的味道;HBase问题解决,每天和DBA一起分析日志,快速上线迭代,慢慢解决掉各种误用和本身HBase的参数设置问题

    其他收获:

    1. 学会了游泳,每周两次,坚持生活节奏
    2. 20公里暴走雾灵山,35公里暴走五台山,不禁感慨团队生命力之旺盛。。。
    3. 认识各种疯子技术狂人
  • 相关阅读:
    vertical-align
    剑指offer刷题
    ES6 promise
    wangyi准备
    spring定时器
    xshell下linux常用操作
    HSSFWorkbook生成excel文件
    梳理并分解继承体系
    JSON格式数据转换
    部署项目
  • 原文地址:https://www.cnblogs.com/shenguanpu/p/2658717.html
Copyright © 2020-2023  润新知