微軟、谷歌、亞馬遜、Facebook等硅谷大廠91個(gè)開源軟件盤點(diǎn)(附下載地址)

開源軟件中有大量專家構(gòu)建的代碼,大大節(jié)省了開發(fā)人員的時(shí)間和成本,熱衷于開源的大廠們總是能夠帶給我們新的驚喜。2016年9月GitHub報(bào)告顯示,GitHub已經(jīng)有超過 520 萬的用戶和超 30 萬的組織。這十二個(gè)月以來,有超過 81 萬的人發(fā)起了人生第一個(gè) PR,更有 280 萬人創(chuàng)造了他自己的第一個(gè)倉庫,而中國,成為新注冊增長最多的國家。

Facebook開源項(xiàng)目負(fù)責(zé)人曾說過:

一是開源能夠幫助他人更快地開發(fā)軟件,促進(jìn)世界創(chuàng)新,主要是社會(huì)價(jià)值層面的考慮。二是開源能夠倒逼Facebook的工程師寫出更好的代碼。三是開源能夠更有效利用社區(qū)的力量,幫助Facebook一起解決難題。開源,讓世界更美好,不是嗎?

國內(nèi)外很多國家都為開源做出了很大的貢獻(xiàn),小編也秉著“開源”的心態(tài),整理了13個(gè)公司的開源軟件,這13個(gè)公司分別是微軟、Google、亞馬遜、IBM、VMware、Facebook、Twitter、ebay、騰訊、阿里、百度、美團(tuán)點(diǎn)評、華為等。分兩篇文章和大家共享,快點(diǎn)Mark起來并轉(zhuǎn)發(fā)給需要的人吧。

微軟開源軟件

1Visual Studio Code:跨平臺(tái)源代碼編輯器

Visual Studio Code是微軟于2015年正式發(fā)布的項(xiàng)目,可以運(yùn)行在Mac OS X、Windows和Linux之上,面向Web和云應(yīng)用的一款跨平臺(tái)源代碼編輯器。

雖然它的名字與Visual Studio相近,但前者是代碼編輯器,后者是集成開發(fā)環(huán)境(IDE)并且目前只運(yùn)行在Windows上。

GitHub主頁:

https://github.com/Microsoft/vscode

2CNTK: 深度學(xué)習(xí)開源工具包

CNTK全稱為The Microsoft Cognitive Toolkit, 將神經(jīng)網(wǎng)絡(luò)描述為計(jì)算機(jī)可處理的有向圖,有向圖的葉節(jié)點(diǎn)表示輸入值或網(wǎng)絡(luò)參數(shù),其他節(jié)點(diǎn)表示輸入對應(yīng)的矩陣運(yùn)算。CNTK便于實(shí)現(xiàn)并且也結(jié)合了很多流行計(jì)算模型如前饋DNN,卷積網(wǎng)(CNN)和復(fù)現(xiàn)網(wǎng)絡(luò)(RNN / LSTM)。它可以跨多個(gè)GPU和服務(wù)器實(shí)現(xiàn)隨機(jī)梯度下降(SGD,誤差反向傳播)學(xué)習(xí)與自動(dòng)微分和并行化。

可以在Python或者C++語言中如同庫版應(yīng)用,也可以使用其自有的描述語言BrainScript單機(jī)化使用。CNTK可適用于64位的Linux和Window,于2015年4月開源。

GitHub地址:

https://github.com/Microsoft/CNTK

3TypeScript:開源編程語言,JavaScript的超集

TypeScript是JavaScript強(qiáng)類型的超集,可以編譯成純JavaScript。由微軟開發(fā)的自由和開源的編程語言,可以運(yùn)行在各類瀏覽器和操作系統(tǒng)之上。

GitHub主頁:

https://github.com/Microsoft/TypeScript/

4Azure相關(guān):文檔、SDK和代碼示例

微軟支持開發(fā)者們將各種開源軟件工具和技術(shù)帶入Azure。Azure 應(yīng)用市場支持很多Linux 分發(fā),包括 Ubuntu、Debian 和 SUSE;也支持借助支持 Node.js、PHP、Python 和 Java 的 Azure 應(yīng)用服務(wù),生成 Web 和移動(dòng)應(yīng)用。在GitHub上Azure相關(guān)的存儲(chǔ)庫有1700+個(gè)。

地址:https://azure.microsoft.com/zh-cn/overview/open-source/

5BashOnWindows:解決Ubuntu Bash在Windows的使用問題

微軟在Build 2016大會(huì)上宣布了一條振奮人心的消息,大家驚呼Ubuntu on Windows。Bash on Windows 為開發(fā)者們提供了Bash shell、Linux類似環(huán)境,在不需要Linux虛擬機(jī)的情況下,大部分的Linux命令行工具基本上可以不經(jīng)修改地運(yùn)行在Windows上。

GitHub地址:

https://github.com/Microsoft/BashOnWindows

6Donnet:采用系統(tǒng)虛擬機(jī)運(yùn)行的編程平臺(tái)

.NET是微軟研發(fā)的XML Web services平臺(tái),此框架支持多種語言(如C#、F#、VB.Net、C++、Python等)的開發(fā)。.NET框架歷經(jīng)亟待,最終于2014年開源。C#通常被認(rèn)為是微軟專屬,是.NET框架上最常用的編程語言之一, 其著名競爭對手是Java。

GitHub主頁:

https://github.com/Microsoft/dotnet/network

7PowerShell :為任何系統(tǒng)提供Windows的命令行工具

一個(gè)跨平臺(tái)(Windows、Linux和macOS)自動(dòng)化和配置工具/框架,可與現(xiàn)有工具完美配合,并優(yōu)化用于處理結(jié)構(gòu)化數(shù)據(jù)(例如JSON,CSV,XML等)、REST API 和對象模型。 它包括命令行shell,相關(guān)的腳本語言和用于處理cmdlet的框架。

GitHub地址:

https://github.com/PowerShell/PowerShell

8MSOpenTech/redis: 在Windows使用Redis

官方只支持64位,可自行構(gòu)建32位版。該開源項(xiàng)目,在2.8版本中,替代UNIX fork()API中的內(nèi)存映射文件模擬寫時(shí)復(fù)制行為。 版本3.0類似,為了便于系統(tǒng)文件分頁,刪除了內(nèi)存映射文件,在管理堆碎片方面進(jìn)行了改進(jìn)。

Redis對文件描述符的值做了一些假設(shè),微軟構(gòu)建了一個(gè)虛擬文件描述符映射層。

GitHub地址:

https://github.com/MSOpenTech/redis

9WinObjc:Windows下的Objective-C

為Visual Studio提供了一個(gè)Objective-C開發(fā)環(huán)境并支持iOS API。通過重新使用Objective-C代碼和iOS API,配以Windows自有Cortana(中文名:微軟小娜,微軟發(fā)布的全球第一款個(gè)人智能助理)和通知等功能,用戶可以創(chuàng)建通用Windows平臺(tái)(UWP)應(yīng)用程序并運(yùn)行在Windows設(shè)備上。

GitHub地址:

https://github.com/Microsoft/WinObjC

GitHub地址:

https://github.com/Microsoft/api-guidelines

10ASP.NET之MVC核:模型(model)-視圖(view)-控制器(controller)框架

旨在TDD友好,用于創(chuàng)建符合最新Web標(biāo)準(zhǔn)的復(fù)雜應(yīng)用程序、構(gòu)建動(dòng)態(tài)網(wǎng)站,可以在IIS中托管或自我托管。

GitHub地址:

https://github.com/aspnet/Mvc

11.Net 開源核心類庫:運(yùn)行環(huán)境和編譯器

.Net的核心類庫,運(yùn)行環(huán)境和編譯器都已經(jīng)開源,如今整套.Net環(huán)境都可以在Linux,Mac下運(yùn)行。

Github主倉庫:

https://github.com/Microsoft/dotnet

12ChakraCore :開源JavaScript解釋器

隨著Windows10一起面世的Edge瀏覽器是微軟的洗心革面之作,運(yùn)行效率得到了極大的提升,多項(xiàng)測試中執(zhí)行效率甚至超過了Chrome。 ChakaraCore,作為Edge瀏覽器的JavaScript解釋器,是其中的秘密武器。在ChkraCore開源后,原本就火熱的JavaScript后端開發(fā)領(lǐng)域或許會(huì)迎來新的推動(dòng)力。

Github主倉庫:

https://github.com/Microsoft/ChakraCore

13PerfView:CPU 和內(nèi)存性能分析工具

PerfView 是微軟開源的?CPU 和內(nèi)存性能分析工具。它能以多種方式收集和觀察 ETL 文件,擁有強(qiáng)大的群組運(yùn)算能力。

在Visual Studio 中打開?src/PerfView/Perfview.sln 文件,選擇?Build -> Build Solution ,即可創(chuàng)建。生成的?PerfView.exe 文件是以?src/PerfView/bin/BuildType/PerfView.exe 命名,配置好后即可使用。

需要工具:Visual Studio 2013 或更高版本,建議 Visual Studio 2015 。

詳情:https://www.oschina.net/p/perfview

14vcpkg:VC++ 打包工具

vcpkg 是微軟 C++ 團(tuán)隊(duì)開發(fā)的在 Windows 上運(yùn)行的 C/C++ 項(xiàng)目包管理工具,可以在 Windows 平臺(tái)上獲取 C 和 C++ 庫.

vcpkg?自身也是使用 C++ 開發(fā)的,整合了 git,構(gòu)建系統(tǒng)整合的 CMake,并且 vcpkg 能夠幫助用戶在 Visual Studio 中更好的使用這些安裝好的庫.

詳情:https://www.oschina.net/p/vcpkg

15Checked C:C/C++ 更加安全的庫

Checked C允許程序員在C/C++中編寫“確保邊界檢查”的代碼。該規(guī)范確定了變量操作行為,包括指針類型的間接尋址、數(shù)組引用、賦值、指針加法、比較、取址(&)、含邊界檢查數(shù)組類型和指針類型的轉(zhuǎn)換等。編譯器可以通過增加參數(shù)在指針非正常使用時(shí)發(fā)出警告或者錯(cuò)誤。

Checked C 包含規(guī)范、一個(gè)clang的實(shí)現(xiàn)和一個(gè)LLVM的實(shí)現(xiàn)。

詳情:https://www.oschina.net/p/checked-c

16monaco-editor?:基于瀏覽器的代碼編輯器

Monaco Editor 是微軟開源的基于 VS Code 的代碼編輯器,運(yùn)行在瀏覽器環(huán)境中。編輯器提供代碼提示,智能建議等功能。供開發(fā)人員遠(yuǎn)程更方便的編寫代碼。

詳情:https://www.oschina.net/p/monaco-editor

亞馬遜開源軟件

1、DDSTNE:開源深度學(xué)習(xí)工具

DDSTNE是亞馬遜推薦系統(tǒng)中使用的深度學(xué)習(xí)工具,為多GPU節(jié)點(diǎn)和松散數(shù)據(jù)結(jié)構(gòu)進(jìn)行了專門優(yōu)化.

Github主倉庫:

https://github.com/amznlabs/amazon-dsstne

2opsworks-cookbooks:開源運(yùn)維輔助工具

亞馬遜為開源運(yùn)維工具Chef編寫的配置和運(yùn)維策略集。如果你想在AWS上嘗試Chef,這是亞馬遜為你進(jìn)行的專門定制。在其他平臺(tái)上嘗試Chef,亞馬遜的opsworks-chookbooks也有一定的參考意義.

Github主倉庫:

https://github.com/aws/opsworks-cookbooks

3Amazon Ion:開源數(shù)據(jù)存儲(chǔ)格式

亞馬遜開源的數(shù)據(jù)存儲(chǔ)格式,同時(shí)支持便于查看的文本格式和便于高效存儲(chǔ)和傳輸?shù)亩M(jìn)制格式。提供了C,Java,Python語言的支持。

Github主倉庫:

https://github.com/amznlabs/ion-java

谷歌開源軟件

1Android:開源移動(dòng)操作系統(tǒng)

世界最流行的操作系統(tǒng),市場占有量甚至超過了Windows。 成功很大程度來源Android操作系統(tǒng)相比競爭對手采用了開源的策略,使得手機(jī)制造商能夠大量生產(chǎn)基于Android操作系統(tǒng)的手機(jī)。

地址:

https://source.android.com

2Chromium:開源瀏覽器

Chromium是Chrome的開源版本,幾乎所有的瀏覽器新特性都會(huì)首先出現(xiàn)在Chromium上再逐步往Chrome“下放”。由于Chromium的開源屬性,幾乎所有的國產(chǎn)瀏覽器里都有著Chromium的開源代碼。

地址:

https://www.chromium.org/

3TensorFlow:AI和機(jī)器學(xué)習(xí)

TensorFlow是Google開源的用于機(jī)器學(xué)習(xí)庫。用于構(gòu)建和訓(xùn)練神經(jīng)網(wǎng)絡(luò),編寫AI程序。去年橫掃人類圍棋高手的Google AI程序,就是基于TensorFlow編寫的。TensorFlow可以運(yùn)行在CPU,也可以運(yùn)行在GPU之上。

Github主倉庫:

https://github.com/tensorflow/tensorflow

4Go:開源編程語言

發(fā)布于2007年的編程語言。Go嘗試成為一種在保留住靈活性和性能的同時(shí)最大程度去處C系編程語言復(fù)雜度的新系統(tǒng)語言。雖然社區(qū)里一直有對Go特性不足的抱怨,但創(chuàng)始人堅(jiān)決認(rèn)為這對保持這一語言的成功是必不可少的。 Go語言目前主要運(yùn)用于服務(wù)器編程領(lǐng)域。

Github主倉庫:

https://github.com/golang/go

5AngularJS:前端框架

AngularJS是一個(gè)用來編寫單頁Web應(yīng)用的前端框架。雖然AngularJS的目標(biāo)是簡化Web應(yīng)用的開發(fā)過程,但其自身引入的眾多概念帶來的復(fù)雜性也受不少詬病。

Github主倉庫:

https://github.com/angular/angular/

6Kubernetes:容器集群管理系統(tǒng)

Kubernetes 是來自 Google 云平臺(tái)的開源容器集群管理系統(tǒng)。基于?Docker?構(gòu)建一個(gè)容器的調(diào)度服務(wù)。該系統(tǒng)可以自動(dòng)在一個(gè)容器集群中選擇一個(gè)工作容器供使用。其核心概念是 Container Pod。

Github地址:

https://github.com/kubernetes/kubernetes

7Protocol Buffers:分布式計(jì)算

用于不同進(jìn)程和服務(wù)器之間進(jìn)行數(shù)據(jù)通信的數(shù)據(jù)序列化工具。服務(wù)器上不同的程序能通過Protocol Buffers來進(jìn)行通信和分工協(xié)作。相比XML和JSON,Protocal Buffers有著更高的性能,但你也不再能僅憑文本編輯器就查看到自己的數(shù)據(jù)。

Github主倉庫:

https://github.com/google/protobuf

8Dart:開源編程語言

另一個(gè)由Google支持的開源編程語言。Dart著力于Web應(yīng)用,移動(dòng)App和物聯(lián)網(wǎng)設(shè)備。和Go不同,Dart不是一種編譯型語言。它和Python或Java一樣運(yùn)行在自己的虛擬機(jī)之上,但也能轉(zhuǎn)換成JavaScript放入瀏覽器中運(yùn)行。

Github主倉庫:

https://github.com/dart-lang/sdk

9Fuchsia OS:操作系統(tǒng)

神秘的全新開源操作系統(tǒng),和之前的Android不同,F(xiàn)uchsia OS沒有基于Linux內(nèi)核,而是另起爐灶打造里一套更能被Google控制的操作系統(tǒng)內(nèi)核. Google是準(zhǔn)備打造IOT(物聯(lián)網(wǎng))領(lǐng)域的新Android,還是僅僅是個(gè)試驗(yàn)項(xiàng)目,現(xiàn)在還不得而知。

地址:https://fuchsia.googlesource.com

10GWT:Google web工具包

Google 網(wǎng)頁工具包——GWT 提供了一組基于Java語言的開發(fā)包,

開發(fā)出來的Java應(yīng)用將由GWT開發(fā)包提供的編譯工具編譯后聲生成對應(yīng)的、應(yīng)用了Ajax技術(shù)的Web應(yīng)用,Java應(yīng)用中出現(xiàn)的、和服務(wù)器之間的交互動(dòng)作被自動(dòng)生成的異步調(diào)用代碼所代替。

詳情:http://www.oschina.net/p/google-web-toolkit/

11Google Mock:C++模擬測試框架

Google Mock在google內(nèi)部超過100個(gè)項(xiàng)目中使用過,這個(gè)框架能夠在Linux,Windows 和Mac OS X上使用。

下載地址:

http://download.csdn.net/download/liulangren615/4681174

12GRPC:RPC 框架

GRPC 是一個(gè)高性能、開源和通用的 RPC 框架,面向移動(dòng)和 HTTP/2 設(shè)計(jì)。目前提供 C、Java 和 Go 語言版本,分別是:grpc,grpc-java,grpc-go。其中 C 版本支持?C,C++,Node.js,Python,Ruby,Objective-C,PHP?和?C#?支持。

GRPC 基于 HTTP/2 標(biāo)準(zhǔn)設(shè)計(jì),帶來諸如雙向流、流控、頭部壓縮、單 TCP 連接上的多復(fù)用請求等特。這些特性使得其在移動(dòng)設(shè)備上表現(xiàn)更好,更省電和節(jié)省空間占用。

開源中國組織翻譯的《gRPC 官方文檔中文版》:

http://doc.oschina.net/grpc

13Gumbo:純C語言實(shí)現(xiàn)的HTML5解析庫

Gumbo 是 Google 的一款用C語言實(shí)現(xiàn)的HTML5解析庫,無需任何外部依賴。目標(biāo)及特征:

遵循HTML5 規(guī)范

功能強(qiáng)大,可處理一些不規(guī)范的HTML 標(biāo)簽

簡單的API

支持源位置和指針回到原始文本

輕巧、沒有外部依賴

通過html5lib-0.95 兼容測試

已在超過25億個(gè)來自谷歌索引的頁面中進(jìn)行過測試

Github地址:

https://github.com/google/gumbo-parser

14Google API for Java

Google API Client Library for Java 是由Google開發(fā)的一個(gè)Java客戶端類庫,用于訪問其提供的各種基于HTTP的服務(wù)。具有靈活、高效、強(qiáng)大等特點(diǎn)。這是訪問基于REST或JSON-RPC的Google API推薦類庫。

Github地址:

https://github.com/google/google-api-java-client

15MDL:前端開發(fā)工具組

MDL (Material Design Lite) 是 Google 推出的網(wǎng)站前端開發(fā)工具組。Material Design Lite (MDL)可以讓你添加一個(gè) Material Design 的外觀和感覺到你的靜態(tài)內(nèi)容網(wǎng)站,不依賴于任何的 JavaScript 框架和庫。MDL 可以優(yōu)化跨設(shè)備的使用體驗(yàn),可以在舊版的瀏覽器進(jìn)行平滑的切換,提供非常快速的訪問體驗(yàn)。

瀏覽器支持:

IE9-11,Chrome,Opera,F(xiàn)irefox,Safari,Chrome(Android),Mobile Safari。

詳情:https://www.oschina.net/p/mdl

16Google JS Test

Google JS Test是一個(gè)運(yùn)行于V8 JavaScript引擎下的Javascript單元測試框架,其在Google內(nèi)部負(fù)責(zé)對Chrome的快速JS執(zhí)行速度進(jìn)行測試。

詳情:https://www.oschina.net/p/google-js-test

17Bazel:代碼構(gòu)建工具

Bazel 是 Google 的一款可再生的代碼構(gòu)建工具。它主要是用于構(gòu)建 Google 的軟件,處理出現(xiàn)在谷歌的開發(fā)環(huán)境的構(gòu)建問題,比如說:大規(guī)模數(shù)據(jù)構(gòu)建問題,共享代碼庫問題,從源代碼構(gòu)建的軟件的相關(guān)問題。

Bazel 支持多種語言并且跨平臺(tái),還支持自動(dòng)化測試和部署、具有再現(xiàn)性(Reproducibility)和規(guī)模化等特征。Bazel 在谷歌大規(guī)模軟件開發(fā)實(shí)踐能力方面起著至關(guān)重要的作用。

詳情:https://www.oschina.net/p/bazel

GitHub地址:

https://github.com/bazelbuild/bazel

18SyntaxNet:全球最精準(zhǔn)自然語言解析器

SyntaxNet 是一個(gè)框架,即學(xué)術(shù)圈所指的SyntacticParser,他是許多NLU系統(tǒng)中的關(guān)鍵組件。在這個(gè)系統(tǒng)中輸入一個(gè)句子,他會(huì)自動(dòng)給句子中的每一個(gè)單詞 打上POS(part-of-Speech)標(biāo)簽,用來描述這些詞的句法功能,并在依存句法樹中呈現(xiàn)。這些句法關(guān)系直接涉及句子的潛在含義。

詳情:https://www.oschina.net/p/syntaxnet

19AnyPixel.js:可令用戶自己創(chuàng)造交互展示

AnyPixel.js 是 Google 開源的一個(gè)軟件和硬件框架,可以用來構(gòu)建各種由“像素”構(gòu)成的展示,每個(gè)像素可以是任何一種可交互的實(shí)體對象,如 LED 燈、氣球等。

詳情:https://www.oschina.net/p/anypixel-js

20PerfKit:云基準(zhǔn)測試工具

PerfKit 提供一組基準(zhǔn)測試方法用來測量和比較云服務(wù)。當(dāng)前支持 Google 自己的 Compute Engine、亞馬遜的 AWS 和微軟的 Azure 云。PerfKit 同時(shí)還提供一個(gè)可視化工具?PerfKit Explorer?用來比較測試結(jié)果。

詳情:https://www.oschina.net/p/perfkit

21Gson:Java的JSON類庫

Gson 是 Google 提供的用來在 Java 對象和 JSON 數(shù)據(jù)之間進(jìn)行映射的 Java 類庫。可以將一個(gè) JSON 字符串轉(zhuǎn)成一個(gè) Java 對象,或者反過來。

詳情:https://www.oschina.net/p/google-json

GitHub地址:

https://github.com/google/gson

22Eclipse ADT:Eclipse ADT logoAndroid開發(fā)插件

Eclipse ADT 是 Eclipse 平臺(tái)下用來開發(fā) Android 應(yīng)用程序的插件。

在線安裝地址:

https://dl-ssl.google.com/android/eclipse/

23LevelDB:K/V數(shù)據(jù)庫

Leveldb是一個(gè)google實(shí)現(xiàn)的非常高效的kv數(shù)據(jù)庫,目前的版本1.2能夠支持billion級別的數(shù)據(jù)量了。 在這個(gè)數(shù)量級別下還有著非常高的性能,主要?dú)w功于它的良好的設(shè)計(jì)。特別是LSM算法。

LevelDB 是單進(jìn)程的服務(wù),性能非常之高,在一臺(tái)4個(gè)Q6600的CPU機(jī)器上,每秒鐘寫數(shù)據(jù)超過40w,而隨機(jī)讀的性能每秒鐘超過10w。

Github地址:

https://github.com/google/leveldb/

在企業(yè)使用開源和貢獻(xiàn)開源方面,Google一直是行業(yè)的典范。一直以來,Google都在極力推廣和倡導(dǎo)開源,并發(fā)布了一系列開源項(xiàng)目。開源中國社區(qū)目前收錄了Google 259 款開源軟件,此處不一一列舉。

IBM開源軟件

1Apache SystemML :機(jī)器學(xué)習(xí)語言

SystemML 是靈活的,可伸縮機(jī)器學(xué)習(xí) (ML) 語言,使用 Java 編寫。機(jī)器學(xué)習(xí) (ML) 是指無需顯式的編程即可讓計(jì)算機(jī)學(xué)習(xí)的能力。

SystemML?先進(jìn)的機(jī)器學(xué)習(xí)主要基于兩方面:SystemML 語言,聲明式機(jī)器學(xué)習(xí) (DML)。

SystemML 包含線性代數(shù)原語,統(tǒng)計(jì)功能和 ML 指定結(jié)構(gòu),可以更容易也更原生的表達(dá) ML 算法。算法通過 R 類型或者 Python 類型的語法進(jìn)行表達(dá)。DML 通過提供靈活的定制分析表達(dá)和獨(dú)立于底層輸入格式和物理數(shù)據(jù)表示的數(shù)據(jù)顯著提升數(shù)據(jù)科學(xué)的生產(chǎn)力。

其次,SystemML 提供自動(dòng)優(yōu)化功能,通過數(shù)據(jù)和集群特性保證高效和可伸縮。SystemML 可以在 MapReduce 或者 Spark 環(huán)境運(yùn)行。

詳情:https://www.oschina.net/p/systemml

2Kitura:Swift 的 Web 框架

Kitura,來自IBM的基于Swift的Web框架,也是一個(gè)HTTP服務(wù)器。

特性:

URL路由(GET, POST, PUT, DELETE)

URL參數(shù)

靜態(tài)文件服務(wù)

支持FastCGI

支持SSL/TLS

JSON解析

可插拔的中間件

詳情:https://www.oschina.net/p/kitura

GitHub地址:

https://github.com/IBM-Swift/Kitura

3TJ Bot:開源 DIY 紙板機(jī)器人

TJBot 延續(xù)了手工社區(qū)的精神,它是一套 DIY 工具包,可讓你建立由 Waston 驅(qū)動(dòng)的可編程紙板機(jī)器人。該機(jī)器人由一塊切割的紙板(可以是 3D 打印或者激光切割)、Raspberry Pi 和多種插件(包括一個(gè) RGB LED 燈、一個(gè)麥克風(fēng)、一個(gè)伺服電機(jī)和一個(gè)攝像頭)構(gòu)成。

詳情:https://www.oschina.net/p/tj-bot

4OpenWhisk:無服務(wù)器計(jì)算平臺(tái)

OpenWhisk 是一個(gè)由 IBM 開源的、事件驅(qū)動(dòng)的無服務(wù)器計(jì)算平臺(tái),你可以將操作代碼發(fā)送給 OpenWhisk,然后提供 OpenWhisk 代碼要處理的數(shù)據(jù)流。OpenWhisk 負(fù)責(zé)處理計(jì)算資源的擴(kuò)展,這些資源是處理工作負(fù)載所需要的;你只需要處理操作代碼以及觸發(fā)這些操作的數(shù)據(jù)。

OpenWhisk 簡化了微服務(wù)的部署,消除了管理自己的消息代理或部署自己的工作服務(wù)器的需求。OpenWhisk 適用于你不希望管理任何基礎(chǔ)架構(gòu)的項(xiàng)目,只需為已完成的工作付費(fèi),不會(huì)將金錢浪費(fèi)在空閑的服務(wù)器上。OpenWhisk 很容易管理活動(dòng)峰值,因?yàn)樗梢酝鈹U(kuò)來滿足該需求。

詳情:https://www.oschina.net/p/openwhisk

GitHub地址:

https://github.com/bjustin-ibm/openwhisk

5Quarks:物聯(lián)網(wǎng)傳感器數(shù)據(jù)應(yīng)用開發(fā)工具

Quarks 是 IBM 開發(fā)的一個(gè)開源開發(fā)工具,用于幫助制造商和程序員開發(fā)高效的基于物聯(lián)網(wǎng)傳感器數(shù)據(jù)的應(yīng)用。

詳情:https://www.oschina.net/p/quarks

6Node Application Metrics:Node.js 應(yīng)用監(jiān)控工具

Node Application Metrics 提供了一個(gè)基礎(chǔ)設(shè)施,來為基于 Node.js 的應(yīng)用收集資源和性能監(jiān)控?cái)?shù)據(jù)。Node Application Metrics 創(chuàng)建所基于的數(shù)據(jù)收集性能,是 Health Center 開發(fā)工具所使用的,同時(shí)也是基于 Eclipse 的 IBM 監(jiān)控和診斷工具的一部分。

Node Application Metrics 公開了 JavaScript 和 C 的 API,這使得開發(fā)者工具、管理和擴(kuò)展工具、性能監(jiān)控工具,比如 StatsD with Graphite 或 Elasticsearch with Kibana,都可以實(shí)現(xiàn)數(shù)據(jù)采集。

詳情:https://www.oschina.net/p/node-application-metrics

7Clouseau:全文搜索庫

Clouseau 通過類似 Erlang 的節(jié)點(diǎn)使用 Scalang 來公開 Lucene 的功能。在每個(gè)獨(dú)立的終端窗口運(yùn)行。

詳情:https://www.oschina.net/p/clouseau

8Dreyfus:全文搜索庫

Dreyfus 管理 Clouseau 節(jié)點(diǎn)來表現(xiàn)全文搜索特性。

詳情:https://www.oschina.net/p/dreyfus

Facebook開源軟件

1React Native:移動(dòng)開發(fā)框架

React Native是Facebook在2015年開源的基于React.js的移動(dòng)開發(fā)框架,它的設(shè)計(jì)理念是讓移動(dòng)應(yīng)用既擁有Native的用戶體驗(yàn),同時(shí)又可以保留React的開發(fā)效率,提高代碼的復(fù)用率。React Native的宗旨是,學(xué)習(xí)一次,高效編寫跨平臺(tái)原生應(yīng)用。開發(fā)者可以使用JavaScript編寫應(yīng)用,并利用相同的核心代碼就可以創(chuàng)建Web、iOS 和Android平臺(tái)的原生應(yīng)用,目前已經(jīng)實(shí)現(xiàn)了對iOS和Android兩大平臺(tái)的支持。

GitHub主頁:

https://github.com/facebook/react-native

2GraphQL:數(shù)據(jù)查詢語言

GraphQL是Facebook開源的數(shù)據(jù)查詢語言。Facebook在構(gòu)建移動(dòng)應(yīng)用程序時(shí),需要用API獲取足夠強(qiáng)大的數(shù)據(jù)來描述所有的臉譜,同時(shí)簡單易學(xué)易用,于是開發(fā)了GraphQL,并支持每天千億級的調(diào)用。GraphQL不是像MySQL或Redis這樣直接面向數(shù)據(jù)的接口,而是面向已經(jīng)存在的應(yīng)用代碼的接口。你可以把GraphQL看作是為了調(diào)用應(yīng)用服務(wù)器上的方法的一些內(nèi)嵌的RPC。

GitHub主頁:

https://github.com/facebook/graphql

3Presto:大數(shù)據(jù)查詢引擎

Presto是Facebook開發(fā)的一款分布式SQL引擎,主要用于針對各種大小的數(shù)據(jù)源(從GB到PB)來運(yùn)行交互式分析查詢。Facebook創(chuàng)建Presto的主要目的在于幫助他們更快地分析數(shù)據(jù),因?yàn)镕acebook的數(shù)據(jù)量一直在持續(xù)增長,產(chǎn)品周期的節(jié)奏也變得越來越快。自從2013年11月開源后,Presto的用戶量呈現(xiàn)了爆發(fā)式增長。諸如Airbnb、京東、Dropbox以及Netflix等公司都將Presto作為自己的交互式查詢引擎。

GitHub主頁:

https://github.com/prestodb/presto

4HHVM:PHP執(zhí)行引擎

HHVM(HipHop Virtual Machine)是Facebook于2013年開源的PHP執(zhí)行引擎。它采用一種JIT(just-in-time)的編譯機(jī)制實(shí)現(xiàn)了高性能,同時(shí)又保持對 PHP 語法的充分支持。HHVM常常用作獨(dú)立的服務(wù)器,用于替代Apache與mod_php,旨在執(zhí)行使用Hack與PHP所編寫的程序。它使用了即時(shí)編譯方法來實(shí)現(xiàn)超高的性能,同時(shí)又保持了PHP開發(fā)者所習(xí)慣的靈活性。

GitHub主頁:

https://github.com/facebook/hhvm

5React:JavaScript庫

React是Facebook開發(fā)的用于構(gòu)建用戶界面的JavaScript庫,現(xiàn)已為很多公司所用,因?yàn)樗捎昧艘环N不同的方式來構(gòu)建應(yīng)用:借助于React,開發(fā)者可以將應(yīng)用分解為彼此解耦的獨(dú)立組件,這樣就可以獨(dú)立維護(hù)并迭代各種組件了。2015年,React有兩個(gè)主要的發(fā)布,同時(shí)還發(fā)布了React Native,并且發(fā)布了新的開發(fā)者工具。現(xiàn)在已經(jīng)有越來越多的公司(包括Netflix與WordPress)開始使用React構(gòu)建自己的產(chǎn)品了。

GitHub主頁:

https://github.com/facebook/react

6RocksDB:鍵值存儲(chǔ)系統(tǒng)

RocksDB是Facebook開源的嵌入式、可持久化鍵值存儲(chǔ)系統(tǒng),它基于Google的LevelDB,但提高了擴(kuò)展性可以運(yùn)行在多核處理器上,可以有效使用快速存儲(chǔ),支持IO綁定、內(nèi)存和一次寫負(fù)荷。過去一段時(shí)間,RocksDB在社區(qū)非常流行,F(xiàn)acebook分析其原因在于它能夠?qū)τ捎诰W(wǎng)絡(luò)延遲等原因造成的慢查詢響應(yīng)時(shí)間起到消除的作用,RocksDB非常靈活,完全可以針對各種新興的硬件發(fā)展趨勢進(jìn)行定制。LinkedIn與Yahoo都是RocksDB的重度使用者。

GitHub主頁:

https://github.com/facebook/rocksdb

7Big Sur:人工智能硬件平臺(tái)

近些年,人工智能和機(jī)器學(xué)習(xí)方向取得了長足的發(fā)展。據(jù)Kevin Lee透露,F(xiàn)acebook的AI軟件已經(jīng)能夠閱讀故事、回答相關(guān)場景的問題、玩游戲以及通過一些例子來學(xué)習(xí)非指定的內(nèi)容。作為計(jì)算密集型的應(yīng)用,AI軟件的性能與數(shù)據(jù)集規(guī)模/硬件性能密切相關(guān)。尤其是硬件方面,高性能微處理器、存儲(chǔ)器以及圖形處理器(Graphics Processing Unit,GPU)的發(fā)展為AI算法的快速運(yùn)行提供了堅(jiān)實(shí)基礎(chǔ)。為了進(jìn)一步更好地服務(wù)大規(guī)模AI計(jì)算,F(xiàn)acebook推出了基于GPU的、用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)的“Big Sur”硬件系統(tǒng)。

8ATC:網(wǎng)絡(luò)模擬測試工具

Augmented Traffic Control(ATC)能夠利用Wi-Fi網(wǎng)絡(luò)模擬2G、2.5G(Edge)、3G以及LTE 4G移動(dòng)網(wǎng)絡(luò)環(huán)境,測試工程師們可以快速在各種不同的模擬網(wǎng)絡(luò)環(huán)境中切換,從而實(shí)現(xiàn)對智能手機(jī)和App在不同國家地區(qū)和應(yīng)用環(huán)境下的性能表現(xiàn)進(jìn)行測試。ATC是Facebook內(nèi)部團(tuán)隊(duì)在2013年的一次Hackathon活動(dòng)上開發(fā)出來的工具,其原理實(shí)際是利用了Linux流量控制系統(tǒng),通過純Python的網(wǎng)絡(luò)庫pyroute2調(diào)用netlink的API控制,而開發(fā)其的目的是為了確保更多的用戶獲得最好的應(yīng)用體驗(yàn)。

GitHub主頁:

https://github.com/facebook/augmented-traffic-control

9HydraBase:開源數(shù)據(jù)庫

HydraBase是HBase數(shù)據(jù)庫的升級版。Facebook是HBase的重度用戶,F(xiàn)acebook的HBase數(shù)據(jù)庫系統(tǒng)存儲(chǔ)著Facebook的很多關(guān)鍵業(yè)務(wù)數(shù)據(jù),包括內(nèi)部監(jiān)控系統(tǒng)、搜索索 引、流數(shù)據(jù)分析以及數(shù)據(jù)抓取等。HydraBase相比HBase穩(wěn)定性和可用性更高,可以減少服務(wù)器宕機(jī)時(shí)間。HydraBase能夠讓一個(gè)數(shù)據(jù)域分布在多個(gè)域服務(wù)器中,域服務(wù)器之間能相互備份,因此能夠大大減少數(shù)據(jù)恢復(fù)所用的時(shí)間。Facebook聲稱HydraBase能將Facebook全年的宕機(jī)時(shí)間縮減到不到5分鐘。

Facebook已經(jīng)將HydraBase捐贈(zèng)給Apache,目前很多代碼都已經(jīng)被合并到HBase中。

詳情:https://www.oschina.net/p/hydrabase

10WebScaleSQL:關(guān)系型數(shù)據(jù)庫

WebScaleSQL是基于MySQL 5.6 社區(qū)版本改編的MySQL通用分支,基于GPL開源協(xié)議發(fā)布。WebScaleSQL目前已經(jīng)做了很多性能改進(jìn)工作,包括:客戶端異步協(xié)調(diào)、邏輯預(yù)讀、查詢限流、服務(wù)端線程池優(yōu)化、InnoDB大頁支持等等。WebScaleSQL上的功能都是很“Web Scale”和接地氣的。比如線程池優(yōu)化,WebScaleSQL基于Mariadb的線程池實(shí)現(xiàn)進(jìn)行重寫并優(yōu)化,對讀寫隊(duì)列進(jìn)行分離,重新設(shè)計(jì)隊(duì)列優(yōu)先級策略,避免了餓死現(xiàn)象。要知道線程餓死在有些場景下是很嚴(yán)重的。尤其是在并發(fā)連接數(shù)往往很大的互聯(lián)網(wǎng)應(yīng)用里面。

GitHub主頁:

https://github.com/webscalesql/webscalesql-5.6

11Phabricator:代碼審查工具

代碼審查方面,F(xiàn)acebook開源了可視化工具Phabricator。工程師可以在頁面上非常方便的針對每一段(單行或者多行)代碼進(jìn)行交互討論;負(fù)責(zé)審查的工程師可以接受代碼改變,可以提出疑問要求原作者繼續(xù)修改,可以提出自己不適合以推出該代碼審查,等等。只有代碼被明確接受之后才能被工程師提交到服務(wù)器端的代碼庫,這一點(diǎn)集成到提交工具中強(qiáng)制執(zhí)行。

GitHub主頁:

https://github.com/phacility/phabricator

12Proxygen:C++HTTP框架

Proxygen是一款Facebook開源的支持SPDY 3.1的HTTP框架。其目的不是替換Apache,而是有能力創(chuàng)建一個(gè)專用的高性能Web服務(wù)器,使其可以嵌入到Facebook提供Web服務(wù)的現(xiàn)有應(yīng)用中。Facebook從2011年開始構(gòu)建一款代理服務(wù)器(Proxygen這個(gè)名字也是由此而來),在該項(xiàng)目演進(jìn)并在生產(chǎn)環(huán)境中測試了數(shù)年之后,F(xiàn)acebook將其代碼開源了。 Facebook內(nèi)部做的基準(zhǔn)測試表明,在一個(gè)Proxygen echo服務(wù)器上,每秒可以支撐多達(dá)304 197次基于SPDY 3.1的內(nèi)存GET請求。

GitHub主頁:

https://github.com/facebook/proxygen

13Pop:開源動(dòng)畫庫

Pop是Facebook推出的一個(gè)可擴(kuò)展的iOS 和OS X動(dòng)畫庫,其新聞聚合閱讀應(yīng)用Paper背后的核心技術(shù)就是由Pop支持。除了增加基本的靜態(tài)動(dòng)畫外,還支持Spring和衰變動(dòng)態(tài)動(dòng)畫,可非常方便的構(gòu)建現(xiàn)實(shí)的、基于物理的交互。Pop動(dòng)畫庫的動(dòng)畫效果非常流暢,因?yàn)樗褂昧薈ADisplayLink來刷新畫面(幀),一秒鐘刷新幀數(shù)為60幀,接近于游戲開發(fā)引擎。Pop動(dòng)畫的自成體系,與系統(tǒng)的CoreAnimation有很大的區(qū)別,但使用上非常相似。

GitHub主頁:

https://github.com/facebook/pop

14Infer:靜態(tài)代碼分析工具

Infer是Facebook的開發(fā)團(tuán)隊(duì)在代碼提交內(nèi)部評審時(shí),用來執(zhí)行增量分析的一款靜態(tài)分析工具,在代碼提交到代碼庫或者部署到用戶的設(shè)備之前找出bug。由OCaml語言編寫的Infer目前能檢測出空指針訪問、資源泄露以及內(nèi)存泄露,可對C、Java或Objective-C代碼進(jìn)行檢測。

Facebook使用Infer自動(dòng)驗(yàn)證iOS和安卓上的移動(dòng)應(yīng)用的代碼,bug報(bào)告的正確率達(dá)80%。Infer通過捕獲編譯命令,把要被編譯的文件轉(zhuǎn)換為可用于分析潛在錯(cuò)誤的中間語言格式。整個(gè)過程是增量進(jìn)行的,意味著通常只有那些有修改過并提交編譯的文件才會(huì)被Infer分析。Infer還集成了大量的構(gòu)建或編譯工具,包括Gradle、Maven、Buck、Xcodebuild、clang、make和javac。

GitHub主頁:

https://github.com/facebook/infer

15osquery:操作系統(tǒng)監(jiān)控工具

osquery是一款面向OSX和Linux的操作系統(tǒng)檢測框架。它將操作系統(tǒng)暴露為一個(gè)高性能的關(guān)系型數(shù)據(jù)庫,允許用戶編寫SQL查詢查看操作系統(tǒng)數(shù)據(jù)。在osquery中,SQL表代表像下面這樣的抽象概念:

正在運(yùn)行的進(jìn)程

已加載的內(nèi)核模塊

打開的網(wǎng)絡(luò)連接

GitHub主頁:

https://github.com/facebook/osquery

16Flow:JavaScript靜態(tài)類型檢查工具

Flow是Facebook出品的一個(gè)JavaScript代碼的靜態(tài)類型檢查工具,該工具采用開放源碼的OCaml(Objective Caml)語言開發(fā),。Flow能夠幫助開發(fā)人員查找出JavaScript代碼中的類型錯(cuò)誤,從而提高開發(fā)效率和代碼質(zhì)量。Flow已經(jīng)能夠捕獲JavaScript代碼中的常見問題,如靜態(tài)類型轉(zhuǎn)換不匹配、空指針引用等問題。同時(shí),F(xiàn)low還為JavaScript新增了類型語法,如類型別名。

GitHub主頁:

https://github.com/facebook/flow

17Flux:Web應(yīng)用架構(gòu)

Flux是一個(gè)Facebook開發(fā)的、利用單向數(shù)據(jù)流實(shí)現(xiàn)的應(yīng)用架構(gòu),用于 React。Flux應(yīng)用有三個(gè)主要的部分組成:調(diào)度程序、存儲(chǔ)和視圖(React 組件)。

GitHub主頁:

https://github.com/facebook/flux

18Stetho:Android調(diào)試工具

Stetho是一個(gè)Android應(yīng)用的調(diào)試工具。當(dāng)Android應(yīng)用集成Stetho時(shí),開發(fā)者可以通過訪問Chrome,在Chrome Developer Tools中查看應(yīng)用布局、網(wǎng)絡(luò)請求、sqlite、preference等等,可視化一切應(yīng)用操作(更重要的是不用root)。開發(fā)者也可通過它的dumpapp工具提供的命令行接口來訪問應(yīng)用內(nèi)部。

GitHub主頁:

https://github.com/facebook/stetho

VMware開源軟件

1Cloud Foundry:開源PaaS平臺(tái)

Cloud Foundry是VMware于2011年4月12日推出的業(yè)界第一個(gè)開源PaaS云平臺(tái),它支持多種框架、語言、運(yùn)行時(shí)環(huán)境、云平臺(tái)及應(yīng)用服務(wù),使開發(fā) 人員能夠在幾秒鐘內(nèi)進(jìn)行應(yīng)用程序的部署和擴(kuò)展,無需擔(dān)心任何基礎(chǔ)架構(gòu)的問題。

同時(shí),它本身是一個(gè)基于Ruby on Rails的由多個(gè)相對獨(dú)立的子系統(tǒng)通過消息機(jī)制組成的分布式系統(tǒng),使平臺(tái)在各層級都可水平擴(kuò)展,既能在大型數(shù)據(jù)中心里運(yùn)行,也能運(yùn)行在一臺(tái)桌面電腦中, 二者使用相同的代碼庫。

作為新一代云應(yīng)用平臺(tái),Cloud Foundry專為私有云計(jì)算環(huán)境、企業(yè)級數(shù)據(jù)中心和公有云服務(wù)提供商所打造。Cloud Foundry云平臺(tái)可以簡化現(xiàn)代應(yīng)用程序的開發(fā)、交付和運(yùn)行過程,在面對多種公有云和私有云選擇、符合業(yè)界標(biāo)準(zhǔn)的高效開發(fā)框架以及應(yīng)用基礎(chǔ)設(shè)施服務(wù)時(shí), 可以顯著提高開發(fā)者在云環(huán)境中部署和運(yùn)行應(yīng)用程序的能力。

Cloud Foundry為開發(fā)者構(gòu)建了具有足夠選擇性的PaaS云平臺(tái),它同時(shí)支持多種開發(fā)框架、編程語言、應(yīng)用服務(wù)以及多種云部署環(huán)境的靈活選擇

詳情:https://www.oschina.net/p/cloud+foundry

2ESXi:虛擬化系統(tǒng)

ESXi (VMware vSphere Hypervisor)專為運(yùn)行虛擬機(jī)、最大限度降低配置要求和簡化部署而設(shè)計(jì)。只需幾分鐘時(shí)間,客戶便可完成從安裝到運(yùn)行虛擬機(jī)的全過程,特別是在下載并安裝預(yù)配置虛擬設(shè)備的時(shí)候。在VMware Virtual Appliance Marketplace 上有800多款為VMware hypervisor 創(chuàng)建的虛擬設(shè)備,如今,ESXi已經(jīng)實(shí)現(xiàn)了與Virtual Appliance Marketplace的直接整合,使用戶能夠即刻下載并運(yùn)行虛擬設(shè)備。這為即插即用型軟件的交付與安裝提供了一種全新和極其簡化的方式。

詳情:https://www.oschina.net/p/esxi

3Harbor:企業(yè)級 Registry 服務(wù)器

Harbor 包括了權(quán)限管理(RBAC)、LDAP、審計(jì)、管理界面、自我注冊、HA 等企業(yè)必需的功能,同時(shí)針對中國用戶的特點(diǎn),設(shè)計(jì)鏡像復(fù)制和中文支持等功能,歡迎使用和反饋意見。

作為一個(gè)企業(yè)級私有Registry 服務(wù)器,Harbor 提供了更好的性能和安全。提升用戶使用 Registry 構(gòu)建和運(yùn)行環(huán)境傳輸鏡像的效率。Harbor 支持安裝在多個(gè) Registry 節(jié)點(diǎn)的鏡像資源復(fù)制,鏡像全部保存在私有 Registry 中, 確保數(shù)據(jù)和知識產(chǎn)權(quán)在公司內(nèi)部網(wǎng)絡(luò)中管控。另外,Harbor 也提供了高級的安全特性,諸如用戶管理,訪問控制和活動(dòng)審計(jì)等。

詳情:https://www.oschina.net/p/harbor

4VMware View Open Client:虛擬桌面環(huán)境

VMware View Open Clien 是 VMware 以 LGPL V2.1 許可發(fā)布了一個(gè)開源的 Linux VDI(virtual desktop infrastructure)客戶端。主要用于訪問由 VMware View 所管理的個(gè)性化虛擬桌面環(huán)境。目前 VMware View Open Clien 提供下列功能:

支持使用SSL 創(chuàng)建安全隧道

支持利用RSA SecurID 進(jìn)行雙重認(rèn)證

提供Novell SLETC Add-On RPM 包

全命令行界面

詳情:https://www.oschina.net/p/vmware_view_open_client

5Photon Controller:集群管理系統(tǒng)

Photon Controller 是開源的硬件,容器和集群管理系統(tǒng)。是一套分布式、API 驅(qū)動(dòng)型多租戶控制平臺(tái),旨在最大程度提升擴(kuò)展能力與容器承載量,且能夠根據(jù)開發(fā)者的實(shí)際需要支持 Docker Swarm、Cloud Foundry、Kubernetes 以及 Mesos 等多種相關(guān)方案。

詳情:https://www.oschina.net/p/photon-controller

6Serengeti:Hadoop部署管理和擴(kuò)展

支持企業(yè)能夠在虛擬和云環(huán)境中快速部署、管理和擴(kuò)展Apache Hadoop。此外,VMware與Apache Hadoop社區(qū)共同合作研發(fā)擴(kuò)展功能,讓主要組件可以“感知虛擬化”以支持靈活擴(kuò)展,并進(jìn)一步提高Hadoop在虛擬化環(huán)境中的性能。

Serengeti基于Apache 2.0許可證。它是一鍵式部署工具包,支持企業(yè)能夠利用VMware vSphere平臺(tái)在幾分鐘內(nèi)部署高度可用的Apache Hadoop集群,包括Apache Pig和Apache Hive等常見的Hadoop組件。通過使用Serengeti在VMware vSphere上運(yùn)行Hadoop,企業(yè)可以輕松享受到值得信賴、廣泛部署的全球虛擬化平臺(tái)的高可用性、容錯(cuò)性和現(xiàn)場遷移能力,從而實(shí)現(xiàn)Hadoop集群的可用性和可管理性。

詳情:https://www.oschina.net/p/serengeti

GitHub地址:

https://github.com/vmware-serengeti

eBay開源軟件

1Apache Griffin:開源數(shù)據(jù)質(zhì)量解決方案

Apache Griffin是一個(gè)應(yīng)用于分布式數(shù)據(jù)系統(tǒng)中的開源數(shù)據(jù)質(zhì)量解決方案。在Hadoop, Spark, Storm等分布式系統(tǒng)中,提供了一整套統(tǒng)一的流程來定義和檢測數(shù)據(jù)集的質(zhì)量并及時(shí)報(bào)告問題。

Apache Griffin填補(bǔ)了開源世界里在大數(shù)據(jù)質(zhì)量領(lǐng)域的空白。就像空氣質(zhì)量,水和食品安全等無時(shí)不刻地在影響人類的生命一樣,數(shù)據(jù)質(zhì)量在數(shù)據(jù)科學(xué)領(lǐng)域是至關(guān)重要的。在大數(shù)據(jù)時(shí)代,企業(yè)決策調(diào)整,商機(jī)發(fā)現(xiàn)等越來越依賴于大數(shù)據(jù)的數(shù)據(jù)分析和數(shù)據(jù)挖掘,而數(shù)據(jù)質(zhì)量的保證是所有一切數(shù)據(jù)分析和數(shù)據(jù)挖掘的基礎(chǔ)。

詳情:https://www.oschina.net/p/griffin

2Turmeric:開源SOA平臺(tái)

Turmeric是eBay公司開發(fā)的SOA開源平臺(tái)。這個(gè)平臺(tái)擁有一個(gè)完整的安全措施驅(qū)動(dòng)的保安系統(tǒng),它基于Java,遵守WSDL, SOAP, XML, JSON, XACML, REST等主要標(biāo)準(zhǔn),支持各種協(xié)議和數(shù)據(jù)格式的可插拔,可用于SOA的服務(wù)端以及應(yīng)用端的開發(fā)、部署、安全保護(hù)、運(yùn)行和監(jiān)控。平臺(tái)提供了Eclipse 插件,輔助SOASOA的服務(wù)端以及應(yīng)用端程序的開發(fā)。當(dāng)前發(fā)布的版本是1.0.0 GA,包括eBay公司內(nèi)部使用的類似平臺(tái)的大部分組件,只是將其中依賴于商業(yè)產(chǎn)品的一些功能去除,并代之以開源的等價(jià)實(shí)現(xiàn)。

詳情:https://www.oschina.net/p/turmeric

3REST Superman:Web服務(wù)器監(jiān)控和管理

REST Superman 已改名REST Commander是 eBay 開發(fā)的一個(gè)使用快速并行的異步 HTTP/REST/SOAP 客戶端開發(fā)的服務(wù)用來監(jiān)控和管理10000臺(tái) Web 服務(wù)器,可在 10 秒內(nèi)發(fā)送請求到 1000 臺(tái)服務(wù)器,或者 50 秒內(nèi)發(fā)送請求到 10000 臺(tái)服務(wù)器。

詳情:https://www.oschina.net/p/restsuperman

GitHub地址:

https://github.com/eBay/restcommander

4Apache Eagle:Hadoop 數(shù)據(jù)安全方案

Apache Eagle提供一套高效分布式的流式策略引擎,具有高實(shí)時(shí)、可伸縮、易擴(kuò)展、交互友好等特點(diǎn),同時(shí)集成機(jī)器學(xué)習(xí)對用戶行為建立Profile以實(shí)現(xiàn)實(shí)時(shí)智能實(shí)時(shí)地保護(hù)Hadoop生態(tài)系統(tǒng)中大數(shù)據(jù)的安全。

Eagle 是開源分布式實(shí)時(shí)Hadoop數(shù)據(jù)安全方案,支持?jǐn)?shù)據(jù)行為實(shí)時(shí)監(jiān)控,能立即監(jiān)測出對敏感數(shù)據(jù)的訪問或惡意的操作,并立即采取應(yīng)對的措施。Eagle具有如下特點(diǎn):高實(shí)時(shí)、可伸縮、簡單易用、用戶Profile。

詳情:https://www.oschina.net/p/apache-eagle

5Parallec:HTTP/SSH/TCP/Ping并行客戶端

Parallec是一個(gè)基于Akka的快速并行異步HTTP(S)/SSH/TCP/UDP/Ping 客戶端的Java庫。它是eBay云計(jì)算部門開發(fā)并在REST Superman基礎(chǔ)上開源的。

詳情:https://www.oschina.net/p/parallec

GitHub地址:

https://github.com/eBay/parallec

6fabio:HTTP(S) 路由器

fabio 由 eBay Classifieds Group 開發(fā), 用于處理 marktplaats.nl 和 kijiji.it 的流量。Marktplaats 所有的流量都經(jīng)過 fabio ,每秒有數(shù)千個(gè)請求,分發(fā)于數(shù)個(gè) fabio 實(shí)例。但我們并沒有觀察到任何延遲。

詳情:https://www.oschina.net/p/fabio

GitHub地址:

https://github.com/fabiolb/fabio

7Ebay Pulsar:實(shí)時(shí)大數(shù)據(jù)分析平臺(tái)

Pulsar 作為一個(gè)復(fù)雜事件處理平臺(tái),具有快速,準(zhǔn)確,靈活的特性,保證點(diǎn)到點(diǎn)的低延時(shí)和高可靠,從而很好得滿足了的eBay秒級實(shí)時(shí)數(shù)據(jù)分析的需求。同時(shí)每秒百萬級流量處理能力,給客戶帶來更好的個(gè)性化體驗(yàn),幫助客戶監(jiān)控實(shí)時(shí)業(yè)務(wù)信息并定制實(shí)時(shí)營銷策路,及時(shí)監(jiān)測網(wǎng)絡(luò)欺詐行為并減少機(jī)器人干預(yù)。并且Pulsar是基于標(biāo)準(zhǔn)的分布式云架構(gòu)部署并跨越多個(gè)數(shù)據(jù)中心,從而保證了在系統(tǒng)升級和拓?fù)涓聲r(shí)沒有集群停機(jī)時(shí)間。

詳情:https://www.oschina.net/p/ebay-pulsar

Twitter開源軟件

1Typeahead.js:jQuery插件,快速、全功能的自動(dòng)完成庫

Typeahead.js是Twitter的一個(gè)jQuery插件,支持遠(yuǎn)程和本地的數(shù)據(jù)集。比較有特色的地方在于,你可以將數(shù)據(jù)集使用本地存儲(chǔ)(local storage)來保存在本地,有效的提高用戶體驗(yàn)。同時(shí)也擁有很多遠(yuǎn)程數(shù)據(jù)集的處理選項(xiàng),例如請求頻率,最大的并發(fā)請求數(shù),等等。

GitHub主頁:

https://github.com/twitter/typeahead.js

2Twemoji:JavaScript庫

Twemoji是Twitter于2014年開源的完整的Emoji表情圖片,Twemoji包含872個(gè)表情,兼容最新的Unicode 7.0。Emoji,來自日本的小巧符號,通過圖像表達(dá)感情,已經(jīng)征服了移動(dòng)互聯(lián)網(wǎng)的信息世界。現(xiàn)在,你可以在虛擬世界中隨處使用它們。開發(fā)者可以去GitHub下載完整的表情庫,并把這些表情加入到自己的應(yīng)用或網(wǎng)頁中。

GitHub主頁:

https://github.com/twitter/twemoji

3Hogan.js:JavaScript模板引擎

Hogan.js是Twitter團(tuán)隊(duì)所制作的一個(gè)針對mustache模板的語法解析器。Hogan.js不依賴其他任何庫或框架,同時(shí)保證了高效率的模板解析,而其體積卻僅有2.5K。用它作為你的一部分資產(chǎn)打包編譯模板提前或?qū)⑺ㄔ谀愕臑g覽器來處理動(dòng)態(tài)模板。

GitHub主頁:

http://twitter.github.com/hogan.js

4Finagle:RPC框架

Finagle是一個(gè)允許開發(fā)者使用Java、Scala或其他JVM語言來構(gòu)建異步RPC服務(wù)器和客戶端的庫,主要用于Twitter的后端服務(wù)。Finagle是Twitter基于Netty開發(fā)的支持容錯(cuò)的、協(xié)議無關(guān)的RPC框架,該框架支撐了Twitter的核心服務(wù)。

Twitter面向服務(wù)的架構(gòu)是由一個(gè)龐大的Ruby on Rails應(yīng)用轉(zhuǎn)化而來的。為了適應(yīng)這種架構(gòu)的變化,需要有一個(gè)高性能的、支持容錯(cuò)的、協(xié)議無關(guān)且異步的RPC框架。在面向服務(wù)的架構(gòu)之中,服務(wù)會(huì)將大多數(shù)的時(shí)間花費(fèi)在等待上游服務(wù)的響應(yīng)上,因此使用異步的庫能夠讓服務(wù)并發(fā)地處理請求,從而充分發(fā)揮硬件的潛能。Finagle構(gòu)建在Netty之上,并不是直接在原生NIO之上構(gòu)建的,這是因?yàn)镹etty已經(jīng)解決了許多Twitter所遇到的問題并提供了干凈整潔的API。

GitHub主頁:

https://github.com/twitter/finagle

5Diffy:自動(dòng)化測試工具

Diffy是一個(gè)開源的自動(dòng)化測試工具,它能夠自動(dòng)檢測基于Apache Thrift或者基于HTTP的服務(wù)。使用Diffy,只需要進(jìn)行簡單的配置,之后不需要再編寫測試代碼。

Diffy主要基于穩(wěn)定版本和它的副本的輸出,對候選版本的輸出進(jìn)行比較,以檢查候選版本是否正確。因此,Diffy首先假設(shè)候選版本應(yīng)該和穩(wěn)定版本有“相似”的輸出。即不論候選版本和穩(wěn)定版本系統(tǒng)模塊是否相同,他們的最終輸出應(yīng)該是“相似”的。這里一直使用“相似”,而不是使用相同,是因?yàn)橄嗤埱罂赡軙?huì)有一些Diffy不需要關(guān)心的干擾。

GitHub主頁:

https://github.com/twitter/diffy

6Scalding:Scala庫

Scalding是一個(gè)Scala庫,簡化了Hadoop MapReduce作業(yè)開發(fā),基于Cascading構(gòu)建。Scalding跟Pig類似,但提供更緊密的Scala集成。Scalding是用于Cascading的Scala API。Cascading是一個(gè)構(gòu)建于Hadoop上的API,用來創(chuàng)建復(fù)雜和容錯(cuò)數(shù)據(jù)處理工作流,它抽象了集群拓?fù)浣Y(jié)構(gòu)和配置,允許開發(fā)者快速開發(fā)復(fù)雜分布式的應(yīng)用,而不用考慮背后的MapReduce。

GitHub主頁:

https://github.com/twitter/scalding

7Heron:數(shù)據(jù)實(shí)時(shí)分析平臺(tái)

在Twitter,Heron作為主要的流媒體系統(tǒng),運(yùn)行數(shù)以百萬計(jì)的開發(fā)和生產(chǎn)topologies。由于Heron可高效使用資源,在遷移Twitter所有的topologies后,整體硬件減少了3倍,導(dǎo)致Twitter的基礎(chǔ)設(shè)置效率有了顯著的提升。

GitHub主頁:

https://github.com/twitter/heron

8SecureHeaders:Web安全開發(fā)工具

SecureHeaders是Twitter送給Web開發(fā)者的一份大禮,作為一款Web安全開發(fā)工具,Secureheaders能夠自動(dòng)實(shí)施安全相關(guān)的header規(guī)則,包括內(nèi)容安全政策(CSP),防止XSS、HSTS等攻擊,防止火綿羊(Firesheep)攻擊以及XFO點(diǎn)擊劫持等。

GitHub主頁:

https://github.com/twitter/secureheaders

9Twemproxy:代理服務(wù)器

Twemproxy是一個(gè)快速的單線程代理程序,支持Memcached ASCII協(xié)議和更新的Redis協(xié)議。它全部用C寫成,使用Apache 2.0 License授權(quán)。Twemproxy的強(qiáng)大之處在于可以通過配置的方式讓它禁用掉失敗的結(jié)點(diǎn),同時(shí)還能在一段時(shí)間后進(jìn)行重試,抑或使用指定的鍵->服務(wù)器映射。這意味著在將Redis用作數(shù)據(jù)存儲(chǔ)時(shí),它可以對Redis數(shù)據(jù)集進(jìn)行分片(禁用掉結(jié)點(diǎn)驅(qū)逐);在將Redis用作緩存時(shí),它可以啟用結(jié)點(diǎn)驅(qū)逐以實(shí)現(xiàn)簡單的高可用性。

GitHub主頁:

https://github.com/twitter/twemproxy

10Bootstrap:Web 前端 UI 框架

Bootstrap 是快速開發(fā) Web 應(yīng)用程序的前端工具包。它是一個(gè) CSS,HTML 和 JS 的集合,它使用了最新的瀏覽器技術(shù),給你的 Web 開發(fā)提供了時(shí)尚的版式,表單,buttons,表格,網(wǎng)格系統(tǒng)等等。

GitHub地址:

https://github.com/twbs/bootstrap

從Twitter的GitHub賬戶中可以看到,Twitter已經(jīng)開源的開源項(xiàng)目有近200個(gè),領(lǐng)域涉及分布式架構(gòu)、大數(shù)據(jù)、異步網(wǎng)絡(luò)傳輸(客戶端、服務(wù)端)、Web、工具等,本文列舉常用到的項(xiàng)目。

寫給讀者

越來越多的公司正走向開源,編程語言、操作系統(tǒng)、框架、平臺(tái)、數(shù)據(jù)庫等方方面面開源軟件也越來越多,這些開源項(xiàng)目為我們的工作帶來很多方便,可以直接“拿來”解決技術(shù)問題,不用重復(fù)造輪子,提高效率的同時(shí)也極大地降低了研發(fā)成本。

除了軟件可以開源之外,研發(fā)實(shí)踐也可以開源共享,第六屆TOP100全球軟件案例研究峰會(huì)將于11月9-12日在北京國家會(huì)議中心舉辦,甄選100個(gè)本年度最具行業(yè)代表性的軟件研發(fā)案例,現(xiàn)場解讀其解決方案和背后的技術(shù)邏輯,幫助研發(fā)團(tuán)隊(duì)快速提高效能。

更多TOP100案例信息及日程請前往[官網(wǎng)]查閱。4天時(shí)間集中分享2017年最值得學(xué)習(xí)的100個(gè)研發(fā)案例實(shí)踐。本平臺(tái)共送出10張開幕式單天免費(fèi)體驗(yàn)票,登錄TOP100summit官網(wǎng)即可申請,數(shù)量有限,先到先得。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,268評論 25 708
  • 深夜,月亮顯得格外明亮格外圓,一縷皎潔的月光透過窗簾撒進(jìn)屋內(nèi),寧靜祥和,對面屋頂?shù)钠叩[反射著月光,猶如湖中泛起...
    范范范先生閱讀 248評論 0 1
  • 你祈求著遠(yuǎn)方 一團(tuán)火的照亮 然而早已有一只或許多只手 在歲月間布下數(shù)不清的透鏡 因此光的旅程只是 一場無休無止的變...
    陌西突圍閱讀 420評論 9 13
  • 《魔女宅急便》是講述了一個(gè)時(shí)間,善意與占有,為人所需的故事 琪琪今年13歲了,按照魔法界的規(guī)矩,魔法少女年滿13歲...
    lamanly閱讀 325評論 0 0
  • 愛好福安閱讀 230評論 0 0