Cronet静态库编译解决方案 发表于 2017-10-08 背景由于公司产品需求,需要在iOS编译发布中支持静态库包,而我们默认的编译发布是动态库,chromium官方也是只支持动态库。 这个目标实际就是能使用ninja命令配合一定的编译参数就可以编译出静态库+在发布时能将静态产物抛给Agile。这里面预计设计两方面的改动:第一个就是我们的库代码,第二个是编译server。 阅读全文 »
Cronet双端持续集成发布实践 发表于 2017-10-08 背景 Cronet是chromium项目的网络协议栈,其编译产出环境需要Ubuntu系统加Chromium的编译工具。 公司内部无法提供满足需求的编译发布服务,因此只能自建编译产出系统。 团队已有的编译系统只能发布Cronet Android,随着iOS版开始接入产品,我们需要支持Cronet iOS的编译发布。 阅读全文 »
使用python unidiff库分析git diff 发表于 2017-10-06 背景这里分享一个python写的分离特定的git修改的方法。主要应用的问题是当时项目组需要同步chromium最新代码,结果带来了巨大量的改动,为了节省我们review新代码的时间,需要将一些不重要的修改(携带某种特征,例如新版本的chromium大量替换了智能指针,将自研的scoped_ptr变成了std::unique_ptr)分离出来,剩下的就是重要的修改了。 阅读全文 »
twemproxy部署效率的优化实践 发表于 2017-09-24 背景介绍twemproxy是twitter开源出来的一款用于存储集群的反向代理。常见于Redis集群,加入了twemproxy的Redis集群其请求流程可以简化为:用户->twemproxy->Redis,用户只需要与twemproxy建立连接并发送请求,twemproxy通过配置在自身的路由表及均衡策略,将请求转发至相应后端。 阅读全文 »
Redis-sync 发表于 2017-09-24 背景介绍Redis是一个内存型KV存储,以其高性能特性得到广泛应用。作为数据库,主从同步一直是一个非常核心的功能。其主从同步是基于最终一致性。 阅读全文 »