C语言大集团都有啥样开源项目~~~阿里,百度,腾讯,360,和讯,新浪,HUAWEI等

新民主主义革命字体是如今比较火的


奇虎360** https://github.com/Qihoo360**

C语言 1

1.MySQL中间层
Atlas

Atlas是由 Qihoo 360, 
Web平台部基础架构团队开发爱慕的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy
0.8.2本子的基础上,修改了大批量bug,添加了许多功能特色。方今该品种在360合营社内部得到了广泛应用,很多MySQL业务曾经接入了Atlas平台,每一日承载的读写请求数达几十亿条。

重中之重意义:
* 读写分离
* 从库负载均衡
* IP过滤
* SQL语句黑白名单
* 自动分表

越多内容:https://github.com/Qihoo360/Atlas

 

style=”font-size: 14pt; color: #00ccff;”>2.360黑科技=》DroidPlugin 

​DroidPlugin 是360手机帮手在 Android
系统上落实了一种新的插件机制:它可以在无需安装、修改的图景下运行APK文件,此编制对革新大型APP的架构,完成多社团同盟开发具有自然的利益。

特点:

  1. 支撑Androd 2.3以上系统

  2. 插件APK完全不需做其余修改,可以独自设置运行、也得以做插件运行。要以插件方式运行某个APK,你无需双重编译、无需明白其源码。

  3. 插件的四大组件完全不需要在Host程序中登记,扶助Service(Service)、Activity、布罗德(Broad)castReceiver、ContentProvider四大组件

  4. 插件之间、Host程序与插件之间会相互认为对方早已”安装”在系统上了。

  5. API低侵入性:极少的API。HOST程序只是索要一行代码即可集成Droid
    Plugin

  6. 超强隔离:插件之间、插件与Host之间完全的代码级其余割裂:不可以相互调用对方的代码。通信只可以采纳Android系统级其余简报方式。

  7. 援救具有系统API

  8. 资源完全切断:插件之间、与Host之间已毕了资源完全割裂,不会现出资源窜用的场合。

  9. 兑现了经过管理,插件的空过程会被当即回收,占用内存低。

  10. 插件的静态广播会被视作动态处理,假若插件没有运行(即没有插件进程运行),其静态广播也永远不回被触发。

更加多查看:https://github.com/Qihoo360/DroidPlugin/

 

style=”font-size: 14pt;”>3.高性能分布式存储服务
HustStore

huststore 是一个高性能的分布式存储服务,不但提供了 10w QPS 级其余kv 存储的效应,还提供了 hash、set
等一多样数据结构的辅助,并且帮助 二进制 的 kv 存储,可以完全代表
Redis 的功效。别的,huststore 还整合特有的 HA
模块完结了分布式讯息队列的成效,包涵新闻的流式推送,以及新闻的
揭橥-订阅 等功效,可以完全代替 RabbitMQ 的职能。

特性

huststore 分为 hustdb 以及 HA 模块两大一些。hustdb
(存储引擎)的平底设计使用了独立开发的 fastdb,通过一套特种的 md5 db
将QPS 升高至 10w 级其他水平(含网络层的开销)。HA 以 nginx
模块的办法支付。nginx 是工业级的 http server 标准,得益于此,huststore
具备以下特征:

  • 高吞吐量
    hustdb 的网络层拔取了开源的 libevhtp 来落实,结合自主研发的高性能
    fastdb 存储引擎,性能测试 QPS 在 10w 以上。

  • 高并发
    参照 nginx 的产出能力。

  • 高可用性
    huststore 整体架构协理 Replication (master-master),襄助 load
    balance 。
    HA 的可用性由nginx 的 master-worker 架构所保险。当某一个 worker
    意外挂掉时, master 会自动再开行一个 worker 进度,而且多个 worker
    之间是相互独立的,从而确保了 HA 的高可用性。
    huststore 的高可用性由其全体架构特点保障。由于 hustdb
    的贮存节点采取了 master-master 的结构,当某一个储存节点挂掉时,HA
    会自动将呼吁打到其它一台 master,同时 HA
    会依据活动进行负荷均衡,将数据分布存储在四个hustdb节点上,由此储存引擎不设有单点限制。
    并且 HA 集群本身也是分布式的统筹,而且每个 HA
    节点都是单独的,当某一台 HA 挂掉时, LVS
    会自动将请求打到其余可用的 HA 节点,从而化解了 HA 得单点限制。

  • 通用性的接口
    huststore 使用 http 作为通用协议,因而客户端的达成不限量于言语。

  • 协助二进制的 key-value

越多查看:https://github.com/Qihoo360/huststore

 

4.分布式配置管理工具
QConf

QConf 是奇虎 360
内部分布式配置管理工具。用来顶替传统的配备文件,使得配置音讯和程序代码分离,同时布置变化可以实时同步到客户端,而且有限支撑用户火速读取配置,这使的工程师从零星的布局修改、代码提交、配置上线流程中解放出来,极大地简化了配备管理工作。

特点

  • 一处改动,所有机器实时同步更新

  • 立刻读取配置

  • 设置配备方便,使用简单

  • 服务器宕机、网络中断、集群迁移等万分境况对用户透明

  • 支持c/c++、shell、php、python、lua 等语言

越多查看:https://github.com/Qihoo360/QConf

 

style=”color: #00ccff; font-size: 14pt;”>5.开源类Redis存储系统 Pika

Pika 是 360 DBA 和底蕴架构组联合开发的类 Redis 存储系统,完全扶助Redis 磋商,用户不需要修改任何代码,就可以将劳动迁移至 Pika。有维护
Redis 经验的 DBA 维护 Pika 不须求学习话费。

Pika 紧要解决的是用户采纳 Redis 的内存大小当先 50G、80G
等等那样的事态,会蒙受启动恢复生机时间长,一主多从代价大,硬件开销贵,缓冲区不难写满等题材。Pika
就是针对性那个现象的一个解决方案。

特点

  • 容量大,帮助百G数据量的囤积

  • 包容redis,不用修改代码即可平滑从redis迁移到pika

  • 支持中央(slaveof)

  • 一应俱全的运维命令

更加多内容:https://github.com/Qihoo360/pika

 

style=”color: #00ccff;”>6.对象缓存服务器 kmemcache

分布式linux内核内存对象缓存服务器,完结基于memcached v1.4.15,基本相当memcached的保有操作。经发轫测试,内存数据操作比memcached快1倍,网络并发量比memcached的也大过多,近日处于alpha版本。

优点:由于在基本的socket层已毕,所有拍卖网络事件性质比epoll机制快,其它无需内存由用户空间到根本空间的正片。

症结:不提议在32bits下使用。

更多内容: https://github.com/Qihoo360/kmemcache

 

style=”color: #00ccff; font-size: 14pt;”>7.ngx_http_subrange_module

当Nginx作为文件下载服务的反向代理,用户请求一个格外大的文本的时候,它会平昔占满反向代理服务器与后端主机之间的带宽。因为nginx四回拿走整个文件,缓冲获取到的文书,导致客户端不可能登时读取到。带宽使用和iowait会很高。

ngx_http_subrange_module就是为了然决这么些题材,它能分开HTTP
requests。将命局据量的HTTP请求切分为三个子请求,当下载一个1
G的文书,subrange将从后端主机中下载文件块,比如先得到5 M,然后再拿走5
M,直到客户端下载完所有文件。

愈来愈多查看:https://github.com/Qihoo360/ngx_http_subrange_module

 

8.联机到异步的类库
Mario

Mario是一个让编写从一块到异步的类库,它的线程安全较大,易于使用。Mario
的最基本的想法就是为着减弱人士的计划,下降本钱和岁月投入。可是有了这几个类库,操作人员就可以腾出精力做其余事情了。所以
Mario 类库可以很自由的化解你的题目,你只要求你自己的音信效率。

引擎类型:

  • memory,那种类型就是将数据缓冲存储器留在内存里。

  • file,那种类型就是可以在地头日志路径里创造做出一个 write2file。

愈来愈多查看:https://github.com/Qihoo360/Mario

 

其他一体系请去360github库观察

 —————————————————————————————————————-

百度
Baidu**
 https://github.com/fex-team/**

C语言 2

https://github.com/ecomfe

 

1.UEditor
编辑器

UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,着重用户体验等特征。

主要特点:

轻量级:代码精简,加载高效。

定制化:
全新的分支理念,满意多元化的需求。
应用三层架构:

  1. 主题层: 为命令层提供底层API,如range/selection/domUtils类。
  2. 指令插件层: 基于主旨层开发command命令,命令之间互相独立。
  3. 界面层: 为命令层提供用户选择界面。
    满意不一致层次用户的急需。

https://github.com/fex-team/ueditor

https://github.com/fex-team/umeditor

 

style=”font-size: 14pt;”>2.ECharts 图表库

ECharts开源来自百度商贸前端数据可视化团队,基于html5
Canvas,是一个纯Javascript图表库,提供直观,生动,可相互,可个性化定制的多寡可视化图表。革新的拖拽重计算、数据视图、值域漫游等特色大大增强了用户体验,赋予了用户对数据开展开挖、整合的能力。提供商业产品常用图表,底层基于ZRender(一个簇新的轻量级canvas类库),制造了坐标系,图例,指示,工具箱等基础零部件,并在此上构建出折线图(区域图)、柱状图(条状图)、散点图(气泡图)、饼图(环形图)、K线图、地图、力导向布局图以及和弦图,同时协助任意维度的堆积和多图表混合表现。

更多:https://github.com/ecomfe/echarts

 

ECharts-X是 ECharts 团队生产的全新 3D 可视化库,它是依照 ECharts
的伸张,底层深度结合了 WebGL 库QTEK和 Canvas2D 库ZRender。

扩展:https://github.com/ecomfe/echarts-x

 

3.WebUploader
上传控件

WebUploader 是由Baidu
WebFE(FEX)团队支付的一个简单易行的以HTML5为主,FLASH为辅的现世文件上传组件。在当代的浏览器里面能丰富发挥HTML5的优势,同时又不放弃主流IE浏览器,延用原来的FLASH运行时,包容IE6+,Andorid
4+,IOS
6+。两套运行时,同样的调用格局,可供用户擅自选择。拔取大文件分片并发上传,极大的加强了文件上传成效。

https://github.com/fex-team/webuploader

 

style=”font-size: 14pt; color: #00ccff;”>4.百度脑图 基特yMinder

基特(Kit)yMinder
是百度FEX团队的f-cube小组(原UEditor小组)的又一绝唱。作为一款在线的脑图编辑工具,它具有广大Native编辑工具的竞相体验。KM与UE有着相同的要旨,就是吝惜最后用户的运用体验。同时,它充足发挥了Web云存储的优势,可以一贯将编制中的脑图同步到云端。其它,借由独创的
“云盘分享”功能,用户可以一键将眼前编写的脑图直接生成在线链接共享给其余用户,完结无缝互换。
KM是按照SVG技术达成,使用JavaScript+html落成。接济绝一大半的主流浏览器。
协助列表如下

  1. chrome
  2. firefox
  3. safari
  4. ie9-11

https://github.com/fex-team/kityminder

 

5.人工智能体系WARP-CTC

WARP-CTC 基于 CTC 方法,当前可用的部分 CTC
完毕平时要求多量的内存依然是慢十到几百倍。

百度研商所首席物理学家 安德鲁 Ng
称他的商讨重点是人工神经网络怎么样在图形处理单元 (GPUs) 上运行,让
WARP-CTC 完结对 GPUs 和 x86 CPUs 的支撑。

connectionist temporal classification (CTC) 方法可以追溯到 2006 年,在
Swiss AI 切磋所 IDSIA 杂文上有记录。 百度商讨所开发的 WARP-CTC 就根据CTC 方案,可是革新了其自己的语音识别作用

https://github.com/baidu-research/warp-ctc

 

其他一体系请去baidu github库观看

 —————————————————————————————————————-

腾讯 QQ http://alloyteam.github.io/

C语言 3

https://github.com/AlloyTeam/Mars

https://github.com/tencent-wechat

style=”font-size: 14pt; color: #ed0727;”>1.WeUI 为微信Web服务量身设计

WeUI
是一套同微信原生视觉感受一致的底子样式库,由微信官方布置团队为微信 Web
开发量身设计,能够令用户的利用感知尤其统一。包括buttoncelldialog、 progress、 toastarticleactionsheeticon等各式元素。

https://github.com/weui/weui

 

style=”font-size: 14pt; color: #ed0727;”>2.手机前端开发调试利器
vConsole

我们在付入手机版网页的时候,日常会出现下边的风貌:

 (1)
开发时,在祥和电脑上运行得美好的,在手机上开拓就挂了,可是手机上又看不到error
log; 

 (2)
上线后,某用户表示页面失灵,但大家团结又再次出现不出去,看不到用户侧的失误新闻。

若是说(1)还足以因此电脑两次三番手机以查看log来缓解,那(2)在未曾健全的前端上报连串时就尤其低落了。

用作开发者,大家的诉求很简短:有没有火速的不二法门在手机前端页面看到log日志?vConsole就那样出现了!

https://github.com/WechatFE/vConsole

 

style=”font-size: 14pt; color: #ed0727;”>3.规范级Web图像处理引擎
AlloyImage

AlloyImage是一个采纳Javascript语言开发的,基于Web的在线图像处理引擎,除了焦点底层图像处理引擎,还同时并入了有的方便火速的图像处理API,您可以将它概括高效的引用到你的Web网页中,做出与PhotoShop一样的美观效果。甚至,你可以用AlloyImage来开发一个Web在线图像处理软件。

https://github.com/AlloyTeam/AlloyImage

https://github.com/AlloyTeam/AlloyPhoto 

 

style=”color: #00ccff;”>4. GoPng 图片合并并生成CSS

Css
7-Up,有时也称之为Sprite图、天使图,是每一个前端开都会遇上的题材,也是常见的小图片加载优化手段。 

在线版本:https://alloyteam.github.io/gopng/

源码地址:https://github.com/AlloyTeam/gopng

style=”line-height: 1.5; background-color: initial;”>合成分解: style=”line-height: 1.5; background-color: initial;”>https://github.com/luyongfugx/hcSpriteCuter
(一个由多张小图合并而成的7-Up图中抠出里面一张或者几张图纸)

 

style=”color: #00ccff;”>5.可视化Web构建工具
AlloyDesigner

AlloyDesigner
是一款致力于加强前端生产成效的浏览器内运行工具,AlloyDesigner + Chrome
F12(Especially with WorkSpace)  打造前端新的支出和测试方式

https://github.com/AlloyTeam/AlloyDesigner

 

style=”font-size: 14pt; color: #ed0727;”>6.Koala跨平台图形编译工具

Koala是一款预处理器语言图形编译工具,支持Less、Sass、CoffeeScript、Compass
framework 的即时编译。
无需手动输入指令去编译,后台监听文件是还是不是有变动,如有修改会自动进行编译。可以大大升级 Web 开发中的工作功效。

功能特色

  • 多语言接济 支持Less、Sass、CoffeeScript 和 Compass Framework。

  • 实时编译 监听文件,当文件改变时自动执行编译,这一切都在后台运行,无需人工操作。

  • 编译选项 可以设置各种语言的编译选项。

  • 体系配置 帮助为项目开创一个大局配置,为文件设置统一编译选项。

  • 指鹿为马提醒 在编译时假若遇上语法的不当,koala将在右下角弹出错误音信,方便开发者定位代码错误地点。

  • 跨平台 Windows、Linux、Mac都能圆满运行。

系统帮助及需要

Koala协助跨平台运行,完美包容Windows、Linux与Mac 。
Linux系统下需安装好ruby运行环境, e.g. $ sudo apt-get install ruby.

https://github.com/oklai/koala

 

style=”font-size: 14pt;”>7.轻量级 CSS3 动画库
JX.Animate

JX.Animate
是一个开源的轻量级的CSS3动画库。动画可以运用规范的CSS3首要帧动画(KeyFrame)制作,也足以行使JavaScript制作,而且还足以支持在JavaScript中动态变化动画关键帧。

https://github.com/AlloyTeam/JXAnimate

 

style=”color: #00ccff;”>8.Fanvas swf转为html5 canvas

Fanvas是一个把swf转为html5
canvas动画的系统,由两部分构成:Actionscript落成的解析器、js运行库。Flash做动画是最成熟最高效的章程,但出于极端基本不援救Flash播放,那给终端的卡通片制作带来了多如牛毛劳碌。Fanvas是Flash和Canvas的圆满组合,可以把swf(包括矢量和位图)完美地倒车为canvas动画.

https://github.com/TencentOpen/Fanvas

 

9.随身调测平台
GT

GT(随身调)是APP的身上调测平台,它是间接运行在手机上的“集成调测环境”(IDTE,
Integrated Debug
Environment)。利用GT,仅凭一部无绳话机,无需三番五次电脑,您即可对APP进行火速的性质测试(CPU、内存、流量、电量、帧率/流畅度等等)、
开发日志的查看、Crash日志查看、网络数据包的抓取、APP内部参数的调剂、真机代码耗时计算等。若是您认为GT提供的成效还不够满意你的须求,您还能选择GT提供的基础API自行开发有特殊效果的GT插件,帮助您解决尤其扑朔迷离的APP调试问题。

https://github.com/TencentOpen/GT

 

10.Frozen
UI 移动端UI框架

Frozen
UI是一个开源的简要易用,轻量快速的活动端UI框架。基于手Q样式规范,选择最常用的组件,做成手Q公用离线包减弱请求,升级形式友好,文档完善,近日到家应用在腾讯手Q增值业务中。

https://github.com/frozenui/frozenui

 

11.LivePool  Web
开发调试工具

LivePool 是一个依照 NodeJS,类似 Fiddler 扶助抓包和地点替换的 Web
开发调试工具,是 Tencent AlloyTeam 在付出实践进程总括出的一套的省事的
WorkFlow 以及调节方案。

特性

  • 基于 NodeJS, 跨平台

  • 帮助 http 抓包和本地替换调试,Https/WebSockets
    间接代理转载(暂不协助地点替换)

  • 方便的 UI 管理界面,跟 Fiddler 类似,下落学习成本

  • 可以脱离 UI
    后台运行,适应于少数不必要抓包,只要求动用替换和精炼路由的现象

  • 据悉项目标更迭规则管理,方便高效,规则协助拖曳排序

  • 辅助基于请求路径的本土文件替换,协助基于请求路径的路由转载(host
    配置)

  • 轮换类型协理:文件/文件夹替换,combo合并替换,qzmin替换(批量combo),delay延时等

  • 帮衬活动安装系统代理

  • 帮忙规则过滤,只浮现关心的呼吁

  • 提供构建 http get/post 请求界面,方便接口调试

  • 特色效益:模拟gprs/3g等低网速(mac only)

  • 特性作用:帮忙离线站点到当地,并自行代码格式化

https://github.com/rehorn/livepool

 

style=”color: #00ccff; font-size: 14pt;”>**12.KNVProtoEngine 高性能树型协议处理引擎**

KNV是一个形式自由的高性能树型协议处理引擎,是对Key-Value的一个通用结构化扩张。

利用特性

正如NoSQL对SQL的绝望变革一样,KNV是对Key-Value的绝望变革!

世家都很熟练Key-Value系统,但KV操作极不方便:

您不得不自己做乐观锁(读重返seq->修改->带seq写->seq变化则重头伊始);
— 你不得不拉取一堆数据,然后再领取你想要的部分;
— 为了修改一个bit,你只好把一串数据拉取修改后再一同交给更新
而是现在有KNV,一切都解决了。KNV时代来了,你还在迟疑吗?

拔取场景

KNV是更加针对以Protocol
Buffers(或近乎树型结构)存储的积存系统开发的,有3个应用场景:

  1. 积存系统 处理用户请求的通用解决格局(Get/Set/Delete),可以适配任意用户自定义的数据结构。

  2. 代理/通用逻辑层 服务器处理Protocol Buffers协议的通用方法 –
    比如通用Proxy,透传多少个切磋,
    对请求包进行鉴权、限频、计算等等操作,还辅助对包体内容开展审计,使用KNV协议,
    那种办法就有可能还要很简单。

  3. 原生态 Protocol Buffers打解包库 的高性能代替品。

https://github.com/TencentOpen/KNVProtoEngine

 

13.Behaviac
游戏AI的开发框架组件

Behaviac是一日游AI的付出框架组件,也是玩玩原型的便捷设计工具。辅助作为树BT,状态机FSM,HTN等多种范式,方便的编排和调试。协助全平台,适用于客户端和服务器,助力游戏高速迭代开发。编辑器可以运作在PC上,操作便利直观可相信,匡助实时和离线调试;编辑器可以导出xml,bson等多种格式,更可以导出C++,C#源码,提供最高成效。运行时支持全平台,有C++和C#五个本子,原生协理Unity。

已被《每日炫斗》、《QQ飞车》、《全民突击》、《全民夺宝》、《九龙战》等游戏及其它越来越多预研项目接纳。

https://github.com/TencentOpen/behaviac

 

style=”color: #00ccff;”>14.现代构建系统 Typhoon Blade

Blade主要定位于linux下的巨型C++项目,密切同盟研发流程,比如单元测试,持续集成,覆盖率计算等。但像unix下的公文过滤程序一
样,保持相对的独立性,可以独自运行。如今最紧要辅助i386/x86_64
Linux,以后得以考虑协助任何的类Unix系统。

特点:

  • 机关分析头文件信赖关系,构建受影响的代码。

  • 增量编译和链接,只构建因改动受影响而须要构建的。

  • 自行总计库的直接信赖,库的小编只需求写出直接信赖,构建时自动检查所依靠的库是不是必要再次构建。

  • 在随机代码树的任意子目录下都能构建。

  • 援救几次递归构建两个目录下的有着目的,也支撑只构建任意的一定的目的。

  • 不论构建什么目标,那一个目的所珍重的目的也会被机关连坐更新。

  • 置于 debug/release 三种构建类型。

  • 色彩缤纷高亮构建进程中的错误音讯。

  • 支持 ccache

  • 支持 distcc

  • 帮衬基于构建多平台目标

  • 协理构建时精选编译器(分化版本的gcc,clang等)

  • 协理编译 protobuf,lex, yacc, swig

  • 支撑自定义规则

  • 支撑测试,在命令行跑七个测试

  • 支撑相互测试(多少个测试进度并发运行)

  • 扶助增量测试(无需重新运行的测试程序自动跳过)

  • 集成 gperftools,自动检测测试程序的内存走漏

  • 构建脚本 vim 语法高亮

  • svn 式的子命令命令行接口。

  • 支撑 bash 命令行补全

  • 用 Python 编写,无需编译,直接设置使用。

彻底避免以下问题:

  • 头文件更新,受影响的模块没有重新构建。

  • 被信赖的库须要立异,而构建时没有被更新,比如某子目录依赖遥远的某外部目录的代码,我在这些目录构建,外部目录的代码会被活动检查是不是也亟需重新构建。

https://github.com/chen3feng/typhoon-blade

 

style=”font-size: 14pt; color: #ed0727;”>15.RapidJSON C++的JSON开发包

Rapidjson 是一个 C++ 的飞快 JSON 解析器和生成器,使用 SAX/DOM 风格的
API 设计。

https://github.com/miloyip/rapidjson

 

style=”font-size: 14pt;”>16. 微信开源PhxSQL

PhxSQL是一个包容MySQL、服务高可用、数据强一致的关系型数据库集群。PhxSQL以单Master多Slave格局安插,在集群内大部分机器存活的场地下,可自我完毕自动Master切换,且有限支撑数据一致性。

https://github.com/tencent-wechat/phxsql

 

 更多请自行查看:http://alloyteam.github.io/ https://github.com/tencent-wechat

 —————————————————————————————————————-

新浪:WeiBo https://github.com/weibocom

C语言 4

style=”font-size: 14pt;”>1.分布式缓存服务器 memcachedb

class=”hilite1″>memcachedb是
一个由新浪网的开发人士开放出来的开源项目,给memcached分布式缓存服务器添加了伯克利DB的持久化存储机制和异步主辅复制机制,让memcached具备了业务恢复生机能力、持久化能力和分布式复制能力,分外适合于必要超高性能读写速度,不过不需求严厉工作约束,能够被持久化保存的选择场景,例如 class=”hilite1″>memcachedb被运用在乐乎博客上边。

class=”hilite1″> class=”hilite1″>https://github.com/stvchu/memcachedb

2.动态流量管理方案
Upsync

Upsync,乐乎开源基于Nginx容器动态流量管理方案 。Nginx
以其超高的性能与稳定,在业界得到了周边的利用,博客园的七层就多量使用了
Nginx 。结合 Nginx 的健康检查模块,以及动态 reload
机制,可以接近无损的劳务的升官上线与扩容。那么些时候扩容的频次比较低,超过一半情景下是有安顿的扩容。Upsync,开发了模块
nginx-upsync-module,它的功力是拉取 consul 的后端 server
的列表,并更新 Nginx 的路由音信。此模块不爱抚于其它第三方模块。consul
作为 Nginx 的 db,利用 consul 的 KV 服务,每个 Nginx work
过程独立的去拉取各样 upstream 的配备,并更新各自的路由。

https://github.com/weibocom/nginx-upsync-module

3.高性能的基本 Socket
达成 法斯特socket

法斯特(Fast)socket 是一个高伸张性的 Socket 以及 Linux
内核的平底网络完毕。可以在多核机器上提供极好的特性,其余使用和保安还非凡简单。近期该类型早就在新浪的生育环境中采用。该品种由南开大学和微博网联合组成的
法斯特(Fast)os 团队开发,该团体的职务是进步 Linux 内核的功能。法斯特(Fast)socket
最近早就运用在搜狐腾讯网的生育环境上,紧要用于提供负载均衡服务的
HAProxy,线上实在性能进步一倍,从二〇一四年5月份稳定运行至今,估量二零一四年初到位负载均衡全体集群的
法斯特socket 升级。法斯特socket 完全合作 BSD Socket API,现有各项基于
Socket 的网络选拔可以直接运用
法斯特(Fast)sockt。 近日经过分外测试的常用服务软件有:HAProxy、Nginx、Lighttpd、Redis
和 Memcached。

https://github.com/fastos/fastsocket

4.轻量级 RPC 框架
Motan

Motan 是一套高性能、易于使用的分布式远程服务调用(RPC)框架。

功能

  • 支撑通过spring配置格局集成,无需额外编写代码即可为劳动提供分布式调用能力。

  • 支撑集成consul、zookeeper等布置服务组件,提供集群环境的劳动意识及治理能力。

  • 支撑动态自定义负载均衡、跨机房流量调整等高级服务调度能力。

  • 据悉高并发、高负载场景举行优化,有限支撑生产环境下RPC服务高可用。

https://github.com/weibocom/motan

5.TCP
性能剖析工具 Tcpdive

Tcpdive 是 TCP 性能剖析工具,紧要特色:

  • 越来越多 TCP 内部性能新闻

  • 定量评估 TCP 性能立异

  • 描述在 TCP 层的 HTTP 处理,依赖于 HTTP Apps

  • 不难安插,使用自己

Tcpdive 已经在天涯论坛的生产条件上配置使用:

  • 增加天涯论坛图片服务质量

  • 增强今日头条视频服务质地

  • 在无线和有线网络中相比 TCP 性能

  • 笔录差异应用的 TCP 流量

https://github.com/fastos/tcpdive

style=”font-size: 14pt;”>6.PHP框架 Yaf

Yaf是一个C语言编写的PHP框架,Yaf 的表征:

  1. 用C语言开发的PHP框架, 比较原生的PHP, 几乎不会带动卓殊的习性开支.

  2. 享有的框架类, 不必要编译, 在PHP启动的时候加载, 并常驻内存.

  3. 更短的内存周转周期, 提升内存利用率, 下落内存占用率.

  4. 灵活的全自动加载. 帮助全局和局地三种加载规则, 方便类库共享.

  5. 高性能的视图引擎.

  6. 惊人灵活可增加的框架, 帮助自定义视图引擎, 支持插件,
    扶助自定义路由等等.

  7. 内建多种路由, 可以匹配近日普遍的各类路由协议.

  8. 强大而又中度灵活的陈设文件扶助. 并襄助缓存配置文件,
    防止复杂的布署结构带来的属性损失.

  9. 在框架本身,对危险的操作习惯做了禁止.

  10. 更快的实践进程, 更少的内存占用.

https://github.com/laruence/yaf


小米:XiaoMi https://github.com/XiaoMi

C语言 5

style=”color: #00ccff; font-size: 14pt;”>1.分布式的揭发和督察连串Minos

Minos
是红米公司付出的一个分布式的宣布和监理种类。最初是三星(Samsung)开发的用来在
Hadoop 和 ZooKeeper 集群上颁发和保管的工具。Minos
可轻松增加来支持其余的系统,近日早就帮忙包罗 HDFS、YARN 和 Impala 。

https://github.com/XiaoMi/minos

 

style=”color: #ed0727; font-size: 14pt;”>2.互联网商家级监督系统
OpenFalcon

Open-Falcon 是中兴运维部开源的一款互联网商家级督查系列缓解方案.

监理连串是整套运维环节,乃至整个产品生命周期中最要害的一环,事前立时预警发现故障,事后提供翔实的数额用于追查定位问题。监控系列作为一个早熟的运维产品,业界有广大开源的贯彻可供采纳。当集团刚好启动,业务规模较小,运维团队也刚刚确立的初期,拔取一款开源的督查体系,是一个省时省力,功用最高的方案。之后,随着事情规模的接踵而至 蜂拥而至快速拉长,监控的对象也愈加多,越来越复杂,监控连串的运用对象也从早期少数的多少个SRE,增加为更多的DEVS,SRE。那时候,监控体系的容量和用户的“使用频率”成精通则非凡的问题。

督察连串业界有很多优秀的开源监控系统。我们在先前时期,平昔在用zabbix,可是随着事情的短平快前进,以及互联网公司有意的片段必要,现有的开源的监察体系在性能、增添性、和用户的行使频率方面,已经力不从心支撑了。

故而,大家在过去的一年里,从互联网商家的一部分须要出发,从各位SRE、SA、DEVS的接纳经验和申报出发,结合业界的部分大的互联网商家做监控,用监督的有些心想出发,设计开发了三星(Samsung)的监督系统:Open-Falcon。

Highlights and features

  • 数码搜集免布局:agent自发现、帮助Plugin、主动推送情势
  • 容量水平增加:生产条件每秒50万次数据收集、告警、存储、绘图,可不止水平增添。
  • 报警策略自发现:Web界面、协理政策模板、模板继承和遮住、多种报警方式、协理回调动作。
  • 报警设置人性化:扶助最大告警次数、告警级别设置、告警復苏文告、告警暂停、分歧时段分化阈值、匡助爱惜周期,扶助告警合并。
  • 历史数据快捷查询:秒级再次来到上百个目的一年的野史数据。
  • Dashboard人性化:多维度的多寡突显,用户自定义Dashboard等效率。
  • 架构设计高可用:整个系统无大旨单点,易运维,易计划。

https://github.com/XiaoMi/open-falcon

 

3.物联网框架
IoT.js

IoT.js 意在为物联网提供一个根据 Web 技术的可交互操作的服务平台。IoT.js
的目的是要在资源受限的设备上地道运转,例如只有几 KB 的
RAM。所以它支持周边的物联。

https://github.com/Samsung/iotjs


豆瓣 DouBan https://github.com/douban

C语言 6

 

1.分布式总括框架
DPark

DPark 是 斯帕克 的 Python
克隆,是一个Python完毕的分布式总计框架,可以充裕方便地完成广泛数据处理和迭代划算。
DPark 由豆瓣已毕,近日豆瓣内部的多数多少解析都拔取DPark
已毕,正日趋完善。

https://github.com/douban/dpark

 

style=”color: #00ccff;”>2.iOS/Mac 音频播放器
DOU奥迪oStreamer

DOUAudioStreamer 是 iOS 和 Mac 的根据主旨音频的流媒体音频播放器。

https://github.com/douban/DOUAudioStreamer

 

3.CODE
豆子代码托管连串

Douban CODE 是豆瓣开发的一个基于 git 版本控制系统的通力合营平台。

CODE —— C: Community O: Original D: Developer E: Eldamar

当下 CODE 仅开放了一个框架,帮助:

  • clone & push project

  • create project

  • create user

准备条件

  • MySQL

  • Memcached

  • Python >= 2.7

  • pip >= 1.4.1

  • virtualenv

  • git

https://github.com/douban/code

 


网易
NetEase
 https://github.com/netease

 C语言 7

style=”font-size: 14pt; color: #ed0727;”>1.分布式TCP压力测试工具
tcpcopy

tcpcopy是一种采用请求复制(基于tcp的packets)工具,其应用领域较广,近年来一度选用于国内各大互联网集团。

总体说来,tcpcopy主要有如下效果:

1)分布式压力测试工具,利用在线数据,可以测试系统可以经受的下压力大小(远比ab压力测试工具真实地多),也可以提前意识有的bug
2)普通上线测试,可以发现新系统是还是不是平安,提前意识上线进度中会出现的浩大题材,让开发者有信心上线
3)比较试验,同样请求,针对不一样或分歧版本程序,可以做性能比较等试验
4)利用多种手腕,构造无限在线压力,满足中小网站压力测试须要
5)实战演习(架构师必备)

https://github.com/session-replay-tools/tcpcopy

 

style=”color: #ff0000; font-size: 14pt;”>2.桌面利用软件的跨平台解决方案
heX

heX
是天涯论坛有道搜索部门支出的一个同意你使用前端技术(HTML,CSS,JavaScript)开发桌面应用软件的跨平台解决方案,基于HTML5
+ node.js,类似appjs。是您付出桌面应用的一种新的取舍,目的在于缓解传统桌面应用开发中繁琐的UI和相互开发工作,使其变的简短而疾速。更加契合重UI,重交互的桌面应用软件。

https://github.com/netease-youdao/hex

https://github.com/netease-youdao/hex-samples

 

3.Android性能测试工具
艾玛gee

埃玛(Emma)gee是监控指定被测应用在利用进度中占据机器的CPU、内存、流量资源的特性测试小工具。

支撑SDK:Android2.2以及上述版本

艾玛(Emma)gee作用介绍

1、检测当前时光被测应用占用的CPU使用率以及完整CPU使用量

2、检测当前几日子被测应用占用的内存量,以及占用的完好内存百分比,剩余内存量

3、检测拔取从起步上马到方今时刻消耗的流量数

4、测试数据写入到CSV文件中,同时储存在小叔子大中

5、可以接纳开启浮窗成效,浮窗中实时展现被测应用占用性能数据消息

6、在浮窗中得以长足启动或者关闭手机的wifi网络

https://github.com/NetEase/Emmagee

 

style=”font-size: 14pt; color: #00ccff;”>4.基于udp的请求复制工具
udpcopy

udpcopy用来解决udp应用的一个开源软件,与tcpcopy同属于xcopy种类,可以导入udp流量到测试系统中去,那样就可以使得地对系统举办各类测试,比如压力测试,冒烟测试等等。

https://github.com/wangbin579/udpcopy

 

style=”font-size: 14pt;”>5.实时编辑刷新的前端服务器 Puer style=”font-size: 18px; color: #000000;”>( style=”color: #ff6600;”>推荐: style=”color: #ff6600;”>browser-sync  style=”font-size: 15px;”>https://github.com/BrowserSync/browser-sync

粗略,Puer是一个得以实时编辑刷新的前端服务器。特性一览:

  • 提供一个当下或指定路线的静态服务器

  • 装有浏览器的实时刷新:编辑css实时更新(update)页面样式,此外文件则重载(reload)页面

  • 提供容易熟谙的mock请求的布署功用,并且布置也是自动更新。

  • 可用作代理服务器,调试开发既有服务器的页面,可与mock功效合营使用

  • 合龙了weinre,并提供二维码地址,方便移动端的调试

  • 可以视作connect中间件使用(前提是后端为nodejs,否则请使用代理方式)

https://github.com/leeluolee/puer

————————–阿里巴巴开源的好软件太多,请自行选用所需,我列多少个大家用的————————-

阿里巴巴(阿里巴巴)阿里巴巴 https://github.com/alibaba/ https://github.com/thx

C语言 8

style=”font-size: 14pt;”>1.分布式key/value存储系统
Tair

Tair是由天猫商城网自主开发的Key/Value结构数据存储系统,在天猫商城网有着广阔的使用。您在报到天猫、查看商品详情页面或者在淘江湖和好友“捣浆糊”的时候,都在素来或直接地和Tair交互。Tair是一个Key/Value结构数据的解决方案,它默认支持基于内存和文书的二种存储形式,分别和大家数见不鲜所说的缓存和持久化存储对应。

Tair除了平时Key/Value系统提供的作用,比如get、put、delete以及批量接口外,还有部分叠加的实用功用,使得其有更广的适用场景,包括:

  • Version支持

  • 原子计数器

  • Item支持

https://github.com/alibaba/tair

 

style=”font-size: 14pt; color: #ff0000;”>2.TFS 分布式文件系统

TFS(天猫商城FileSystem)是一个高可扩充、高可用、高性能、面向互联网服务的分布式文件系统,其设计目的是支撑海量的非结构化数据。

时下,国内自主研发的文件系统可谓凤毛麟角。天猫商城在这一世界做了实用的探究和推行,TmallFile
System(TFS)作为Taobao内部使用的分布式文件系统,针对海量小文件的随意读写访问性能做了出格优化,承载着天猫商城主站所有图片、商品描述等数码存储。

https://github.com/alibaba/tfs

 

3.音信中间件
RocketMQ

style=”font-size: 14pt; color: #ff0000;”>C语言 9

https://github.com/alibaba/RocketMQ

https://github.com/alibaba/RocketMQ-docs

 

style=”font-size: 14pt; color: #ff0000;”>4.分布式计算体系 JStorm

 Jstorm是参照storm的实时流式统计框架,在网络IO、线程模型、资源调度、可用性及平安上做了源源创新,已被越多商家运用

https://github.com/alibaba/jstorm

 

5.淘宝Web服务器
Tengine

Tengine是由天猫网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的须要,添加了广大高档功能和特性。Tengine的性质和安乐已经在巨型的网站如Tmall网,Tmall等得到了很好的考查。它的最后目标是创立一个疾速、稳定、安全、易用的Web平台。

 

以下沿引项目主页上的特性介绍:

 

  • 继续Nginx-1.2.8的享有特性,100%匹配Nginx的布署;

  • 动态模块加载(DSO)辅助。插手一个模块不再需求再行编译整个Tengine;

  • 愈多负载均衡算法帮衬。如会话保持,一致性hash等;

  • 输入过滤器机制支持。通过利用那种体制Web应用防火墙的编写更为有利于;

  • 动态脚本语言Lua援助。扩张成效尤其飞快简明;

  • 匡助管道(pipe)和syslog(本地和远端)形式的日记以及日志抽样;

  • 组成三个CSS、JavaScript文件的走访请求变成一个呼吁;

  • 能够对后端的服务器举行主动健康检查,依据服务器状态自动上线下线;

  • 自动按照CPU数目设置进度个数和绑定CPU亲缘性;

  • 监控种类的负载和资源占用从而对系统进行有限支持;

  • 突显对运维人员更友善的失误音信,便于定位出错机器;

  • 更强大的防攻击(访问速度限制)模块;

  • 更方便的命令行参数,如列出编译的模块列表、协助的通令等;

  • 能够根据访问文件类型设置过期时间;

https://github.com/alibaba/tengine

  

6.SeaJS
模块加载框架

Sea.JS
是一个循序渐进 CommonJS 规范的模块加载框架,可用来轻松欢跃地加载任意
JavaScript 模块。SeaJS 援助的科班模块遵守 Modules/Wrappings 规范的
define 格局,可运行于 Web 浏览器以及 node.JS 等环境中。

https://github.com/seajs/seajs

 

style=”font-size: 14pt; color: #00ccff;”>7.阿里巴巴(Alibaba)分布式数据库同步系统
otter

otter
基于数据库增量日志解析,准实时协同到本机房或异地机房的mysql/oracle数据库.
一个分布式数据库同步系统。

https://github.com/alibaba/otter

 

8.Taobao Open API
客户端 TOP
(有Net版)

TOP 是 Taobao Open API 客户端。

APIs

User

  • taobao.user.buyer.get 查询买家信息API

  • taobao.user.get 获取单个用户消息

  • taobao.user.seller.get 查询卖家用户音信

  • taobao.users.get 获取多少个用户新闻

Category (Working)

  • taobao.itemcats.authorize.get 查询商家被授权品牌列表和类目列表

  • taobao.itemcats.get 获取后台供卖家揭橥商品的正规化商品类目

  • taobao.itemcats.increment.get 增量获取后台类目数据

  • taobao.itemprops.get 获取标准商品类目属性

  • taobao.itempropvalues.get 获取标准类目属性值

  • taobao.topats.itemcats.get 全量获取后台类目数据

Shop

  • taobao.shop.get (白名单用户才能调用)

style=”color: #00ccff;”>9.模拟数据生成器 Mock.js

Mock.js
是一款仿照数据生成器,旨在救助前端攻城师独立于后端举行付出,辅助编写单元测试。提供了以下模拟效用:

  • 据悉数据模板生成模拟数据

  • 宪章 Ajax 请求,生成并赶回模拟数据

  • 据悉 HTML 模板生成模拟数据

https://github.com/nuysoft/Mock

 

style=”font-size: 14pt;”>10.服务框架 Dubbo

Dubbo
是阿里巴巴(阿里巴巴)公司开源的一个高性能良好的服务框架,使得应用可由此高性能的
RPC 落成服务的输出和输入功效,可以和 Spring框架无缝集成。

第一宗旨部件:

  • Remoting: 网络通讯框架,完结了 sync-over-async 和
    request-response 信息机制.

  • RPC: 一个长距离进度调用的无济于事,支持负载均衡、容灾和集群效应

  • Registry: 服务目录框架用于服务的挂号和劳务事件公布和订阅

https://github.com/alibaba/dubbo

 

11.接口文档管理工具
RAP

 

RAP通过GUI工具帮忙WEB工程师更便捷的治本接口文档,同时通过分析接口结构自动生成Mock数据、校验真实接口的不错,使接口文档成为费用流程中的强倚重。有了结构化的API数据,RAP可以做的越来越多,而大家可以幸免越多重复劳动。

 

https://github.com/thx/RAP

 

Nginx7天入门:https://github.com/taobao/nginx-book

 


其余门类:

style=”color: #ff6600;”>1.去哪儿:

style=”color: #00ccff;”>MySQL自动化运维工具
Inception

MySQL语句的核查,在业界都早就基本被认可了,实际上也是对MySQL语句写法的统一化,标准化,而以前的人为审批,针对业内这些题材实际上是很
吃力的,标准越多,DBA越累,开发也越累。
那么在这些都追求自动化运维的时代,审核也不可能不要跟上步履,由此Inception诞生了。而Inception可以做的劳作远不止是一个自动化审核工
具,同时还拥有实施,生成对影响多少的回滚语句(类似闪回的机能),那样一条龙服务的工具,将会给DBA的干活带来颠覆的变更,DBA从此就从繁重的
审核、登上去执行,出错了很难回滚(就算提前没有备份的话)的被动局面解放了出来,突然意识,做DBA原来可以这么轻松,工作得以不饱和了,那就有愈来愈多的
自由时间攻读、进一步向自动化运维平台的兑现等更智能化的方向去发展,是享有里程碑意义的。

https://github.com/mysql-inception/inception

style=”color: #ff6600; font-size: 14pt;”>2.民众点评

实时应用监控平台
CAT

CAT 由群众点评开发的,基于 Java
的实时应用监控平台,包含实时应用监控,业务监控。

CAT 协助的督查音信类型包涵:

  • Transaction 适合记录跨越系统边界的次第访问行为,比如远程调用,数据库调用,也切合施行时间较长的政工逻辑监控,Transaction用来记录一段代码的举办时间和次数。

  • Event 用来记录一件事时有爆发的次数,比如记录系统更加,它和transaction相比较紧缺了光阴的计算,用度比transaction要小。

  • Heartbeat   代表程序内定期发生的总结信息, 如CPU%, MEM%,
    连接池状态, 系统负荷等。

  • Metric 用于记录业务目的、目的或者包蕴对一个目标记录次数、记录平均值、记录总和,业务目的最低统计粒度为1分钟。

  • Trace 用于记录基本的trace音信,类似于log4j的info信息,这几个音讯仅用于查看一些相关音信

消息树

CAT监控系统将每便URL、Service(Service)的伸手内部实施情形都打包为一个完整的音讯树、消息树可能包罗Transaction、伊芙(Eve)nt、Heartbeat、Metric和Trace音信。

https://github.com/dianping/cat

 

style=”font-size: 14pt;”>3.搜狐:

Redis云管理平台
CacheCloud

CacheCloud提供一个Redis云管理平台:落成多系列型(Redis
Standalone
Redis SentinelRedis
Cluster
)自动安插、解决Redis实例碎片化现象、提供周密计算、监控、运维功用、减弱开发人员的运维费用和误操作,提升机器的利用率,提供灵活的紧缩性,提供方便的连结客户端。

https://github.com/sohutv/cachecloud

基于
MySQL 的数据库中间件 SOHU-DBProxy

SOHU-DBProxy 是由 网易数据库团队开发尊敬的一个按照MySQL协议的多寡中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.3本子的基础上,
修改了大量bug,添加了千千万万功能特色。现在一度在sohu的多个业务线上运用

DBProxy 主要效率:

1 不怕在同一个接二连三(只要不在同一个政工中)也能一连复用

2 负载均衡升高读性能,支持动态增添

3
动态增进的SQL审核和过滤。可以计算的SQL长日子运作影响属性,并且阻止其运作

4 用户连接限制

5 自动摘除宕机的DB

6 读写分离(当前版本没有,代码和测试已经形成,没有统一到如今版本)

https://github.com/SOHUDBA/SOHU-DBProxy

 

style=”font-size: 18px;”>58https://github.com/58code

style=”font-size: 18px;”>民众点评https://github.com/dianping

style=”font-size: 18px;”>豌豆荚https://github.com/wandoulabs

style=”font-size: 18px;”>华为https://github.com/HuaweiBigData