大公司都有哪些开源项目?阿里,百度,腾讯,360,新浪,网易( 五 )


彻底避免以下问题:
头文件更新,受影响的模块没有重新构建 。
被依赖的库需要更新,而构建时没有被更新,比如某子目录依赖遥远的某外部目录的代码,我在这个目录构建,外部目录的代码会被自动检查是否也需要重新构建 。
15.RapidJSON C++的JSON开发包
Rapidjson 是一个 C++ 的快速 JSON 解析器和生成器,使用 SAX/DOM 风格的 API 设计 。
16. 微信开源PhxSQL
PhxSQL是一个兼容MySQL、服务高可用、数据强一致的关系型数据库集群 。PhxSQL以单Master多Slave方式部署,在集群内超过一半机器存活的情况下,可自身实现自动Master切换,且保证数据一致性 。
----------------------------------------------------------------------------------------------------------------
新浪:WeiBo

大公司都有哪些开源项目?阿里,百度,腾讯,360,新浪,网易

文章插图
 
1.分布式缓存服务器 memcachedb
memcachedb是 一个由新浪网的开发人员开放出来的开源项目,给memcached分布式缓存服务器添加了Berkeley DB的持久化存储机制和异步主辅复制机制,让memcached具备了事务恢复能力、持久化能力和分布式复制能力,非常适合于需要超高性能读写速度,但是 不需要严格事务约束,能够被持久化保存的应用场景,例如memcachedb被应用在新浪博客上面 。
2.动态流量管理方案 Upsync
Upsync,微博开源基于Nginx容器动态流量管理方案。Nginx 以其超高的性能与稳定性,在业界获得了广泛的使用,微博的七层就大量使用了 Nginx。结合 Nginx 的健康检查模块,以及动态 reload 机制,可以近乎无损的服务的升级上线与扩容 。这个时候扩容的频次比较低,大多数情况下是有计划的扩容 。Upsync,开发了模块 nginx-upsync-module,它的功能是拉取 consul 的后端 server 的列表,并更新 Nginx 的路由信息 。此模块不依赖于任何第三方模块 。consul 作为 Nginx 的 db,利用 consul 的 KV 服务,每个 Nginx work 进程独立的去拉取各个 upstream 的配置,并更新各自的路由 。
3.高性能的内核 Socket 实现 Fastsocket
Fastsocket 是一个高扩展性的 Socket 以及 Linux 内核的底层网络实现 。可以在多核机器上提供极好的性能,此外使用和维护还非常简单 。目前该项目已经在新浪的生产环境中使用 。该项目由清华大学和新浪网联合组成的 Fastos 团队开发,该团队的使命是提升 Linux 内核的效率 。Fastsocket 目前已经使用在新浪微博的生产环境上,主要用于提供负载均衡服务的 HAProxy,线上实际性能提升一倍,从2014年3月份稳定运行至今,预计2014年底完成负载均衡全部集群的 Fastsocket 升级 。Fastsocket 完全兼容 BSD Socket API,现有各类基于 Socket 的网络应用可以直接使用 Fastsockt 。目前经过兼容测试的常用服务软件有:HAProxy、Nginx、Lighttpd、Redis 和 Memcached 。
4.轻量级 RPC 框架 Motan
Motan 是一套高性能、易于使用的分布式远程服务调用(RPC)框架 。
功能 支持通过spring配置方式集成,无需额外编写代码即可为服务提供分布式调用能力 。支持集成consul、zookeeper等配置服务组件,提供集群环境的服务发现及治理能力 。支持动态自定义负载均衡、跨机房流量调整等高级服务调度能力 。基于高并发、高负载场景进行优化,保障生产环境下RPC服务高可用 。
5.TCP 性能剖析工具 Tcpdive
Tcpdive 是 TCP 性能剖析工具,主要特性:
更多 TCP 内部性能信息
定量评估 TCP 性能改进
描述在 TCP 层的 HTTP 处理,依赖于 HTTP Apps
容易部署,使用友好
Tcpdive 已经在新浪的生产环境上部署使用:
提高微博图片服务质量
提高微博视频服务质量
在有线和无线网络中比较 TCP 性能
记录不同应用的 TCP 流量
6.PHP框架 Yaf
Yaf是一个C语言编写的PHP框架,Yaf 的特点:
用C语言开发的PHP框架, 相比原生的PHP, 几乎不会带来额外的性能开销.
所有的框架类, 不需要编译, 在PHP启动的时候加载, 并常驻内存.
更短的内存周转周期, 提高内存利用率, 降低内存占用率.
灵巧的自动加载. 支持全局和局部两种加载规则, 方便类库共享.
高性能的视图引擎.
高度灵活可扩展的框架, 支持自定义视图引擎, 支持插件, 支持自定义路由等等.
内建多种路由, 可以兼容目前常见的各种路由协议.
强大而又高度灵活的配置文件支持. 并支持缓存配置文件, 避免复杂的配置结构带来的性能损失.
在框架本身,对危险的操作习惯做了禁止.
更快的执行速度, 更少的内存占用.


推荐阅读