A. 如果說只學一門Web編程語言和框架,那推薦哪種組合呢
姑且分為三種情況:
第一,做WEB後端。如果你只做WEB後端,就不得不考慮今後的發展,最好學一門語言,這種語言可以在中間件和伺服器開發底層都能用到,而且能有優勢。推薦Python,Go,這兩種都比較穩,而且在中間件的開發中也有優勢。當然如果你是個喜歡新鮮事物的人,想學習新的技術語言,推薦Scala。
最後我想說,無論是選擇什麼語言,都必須認真學習,學得扎實是進行下一步的必要條件,這是進行下一步的基礎,萬萬不能忽視。同時,可以多掌握和涉獵幾種語言,掌握的種類和熟練程度越多越好,在今後的工作中必將大有裨益的。
B. 如何看待reactive web框架binding.scala
這東西的目標人群應該是從Java轉到Scala的後端程序員,並且剛好又想做點前端的事情,感覺這個圈子太小了!
前端工程師基本不會投向Scala的懷抱。Scala本身後期的學習曲線就很陡峭,再加上JS也在進化,各種新特性慢慢能讓前端開發變得高效優雅,所以前端工程師不會有動力轉向Scala。
另外,這種東西要進入生產,還需要考慮很多問題,包括:
1、開發過程是否友好,是否方便debug。
2、轉換出來的JS代碼會不會臃腫。
C. 系統開發框架有哪些
系統開發框架有:
1、Spring MVC & Spring Boot
Spring MVC應該最常用的。 Spring Web MVC框架( 簡稱Spring MVC)是一個豐富的模型視圖控制Web框架。使用 DispatcherServlet發布請求處理,他使用可配置的處理程序映射,視圖解析和主題解決方案。Spring MVC 用戶似乎都商量好的,大約40%的開發都使用Spring。
2、Grails
知名Java虛擬機Web應用程序開源框架。Grails是一個開源、全棧JVM Web開發框架。吸取Groovy語言精華,對於Java虛擬機來說是一個敏捷和動態語言,為開發者提供一個高效開發經驗。
3、Spring
Spring Framework 是一個開源的Java/Java EE全功能棧(full-stack)的應用程序框架,以Apache許可證形式發布,也有.NET平台上的移植版本。
4、JFinal 快速開發平台 EOVA
基於JFinal開發,首創JFinal 快速開發平台,JFinal最佳實踐!
5、JavaEE應用基礎平台 AOS
AOS平台簡介 AOS應用基礎平台基於JavaEE技術體系,以「標准功能可復用、通用模塊可配置、行業需求快速開發、異構系統無縫集成」為目標,為軟體開發團隊提供高 效可控、隨需應變、快速實現業務需求的全棧式技術解決方案。
6、Spring Scala
Spring Scala 項目的目的是為了簡化在 Scala 應用中使用 Spring 框架。
(3)scalaweb框架推薦擴展閱讀:
計算機系統開發是根據計算機用戶對應用系統的技術要求,分析原系統,設計新的計算機系統的內部結構並加以實現和維護的過程。計算機系統開發也是一個管理科學問題,自始至終貫穿著人員組織、工程化、標准化等管理工作,而且在很大程度上影響系統的性能和開發工作的效率。
計算機系統可信性是描述系統所提交服務的性質的一種定性量度,用於表徵系統可提交用戶有足夠理由依賴的期望服務能力。 所謂系統提交的服務是指所有由用戶察覺到的系統行為。可信性作為一種定性量度需根據不同應用來對其屬性具體化或定量化。典型的可信性定性/定量量度包括:可靠度、可用度、安全度。可維修度、可測性、完整性等。
D. 最近工作會用scala,請指條明路,該怎麼解決
學唄!
經常有人問應該怎樣學習Scala編程語言。通常的回答是看Scala的相關書籍,並學習Scala視頻課程。但是澄清一點,即使你最終學會了Scala編程,也並不意味著你是最高效地掌握了Scala。
1、Scala書籍
一提Scala編程書籍,最容易提到的是《Programming in Scala》,這本書是由Martin Odersky、Lex Spoon、Bill Venners三位作者合寫的書籍。其中,Martin Odersky是Scala語言的發明人。最近該書發布了第三版,內容覆蓋了Scala 2.12版的新特性,但是在內容上和第一版差別不大。盡管如此,這本書可能是有關Scala編程的最全面、最權威的指導書籍。在這本書中,Martin不僅講述了該如何使用,而且還有他在語言上會這么設計的解釋。這本書接近900頁,閱讀不算難,建議三周學完它。這本書主要聚焦於Scala的語言特性,並沒有深入到Scala的整個生態系統中。
這本書《Moder Web Development with Scala》就是基於以上觀點編寫的Scala學習書籍。作者Denis Kalinin。該書少量介紹了Scala語言本身,主要聚焦於怎樣使用Play框架構建Web應用,使用ScalikeJDBC庫訪問資料庫,使用Scala Future和Akka Actor執行非同步任務,使用MacWire連接依賴,使用BCrypt庫實現對用戶的授權認證,使用ScalaTest和Mockito測試自己的Scala代碼,還有使用Gradle和SBT構建和管理項目,最後講述了怎樣集成最新的前端工具,比如Webpack和React。
E. java框架有哪些
java框架實在是太多了,網上一抄一大段,根本就了解不到什麼。我還是以我的經驗來說一下j2ee的框架。
1.首先力推struts2框架,這是最經典的框架(可以說沒有「之一」)。可以幫你快速搭建出一個MVC模型出來。(註:struts1已經很少用了,且問題也很多,強烈推薦使用struts2).
2.Spring框架,這是排行第二的框架(我個人排得,非權威),這個框架出彩的地方就在於它的「依賴注入」和「控制反轉」。簡單的說,就是在程序運行的時候才將參數注入到容器里。
3.持久層框架選Hibernate和Ibatis。 Hibernate自動化能力強,開發大型應用可以節約開發時間,ibatis小巧簡潔,靈活。
4.Jquery是繼prototype之後又一個優秀的Javacript框架,封裝了很多javascript方法,是開發jsp用的框架,目前很流行
一般開發,都是使用Struts2+Spring+Hibernate(ibatis)整合,前端用jquery或者其他類似框架。對於簡單的系統,有時用Spring MVC一個框架即可。
F. Scala 是一門怎樣的語言,具有哪些優勢
曾經有人問Java的創始人高斯林這樣一個問題,「除了Java語言以外,您現在還使用JVM平台上的哪種編程語言?」他毫不猶豫的說是Scala。
Scala到底是什麼?在目前眾多的JVM語言當中,Scala無疑是最引人注意的語言之一。Scala是一個靜態語言,更適合大型工程項目,Scala直接編譯成Java位元組碼,性能接近Java。Scala是一個多範式的語言,你可以混合使用函數式和面向對象編程,混合使用可變類和不變類,混合使用Actor和傳統的Java並發庫。
短短一個月的時間,Scala於本月沖進了TIOBE的前五十名。一個 Twitter 的開發人員說過,Scala 將會成為現代 Web2.0 的發起語言。LinkedIn 也用這種語言。同樣許多其他大的公司如 Sony Picture, EDF, SAP 也開始使用這種語言。為什麼Scala發展這么迅猛,可以獲得如此熱烈的社區支持。
曾冠東還表示,Scala不是Java的殺手,它無法取代Java的地位,也突破不了JVM的限制、Java實現不了的功能它也實現不了。我們可以將Scala形象的理解成大量語法糖的Java。
Scala 開發團隊發布了最新的2.9.2穩定版本,Scala 語言的特性有許多,例如高階函數和對象、抽象類型綁定,actor 使得函數在 Scala 中能是一個子類成為可能,Scala 中的設計模式使得面向對象和函數編程無縫結合。Akka 是一個用 Scala 編寫的庫,用於簡化編寫容錯的、高可伸縮性的 Java 和 Scala 的 Actor 模型應用。它已經成功運用在電信行業。Spark 是一種可擴展的數據分析平台,它整合了內存計算的基元,因此,相對於 Hadoop 的集群存儲方法,它在性能方面更具優勢。Spark 是在 Scala 語言中實現的,並且利用了該語言,為數據處理提供了獨一無二的環境。Scala 編譯器可以生成位元組碼,直接運行在使用JVM上。該語言(它實際上代表了可擴展語言)被定義為可直接集成到語言中的簡單擴展。
Scala作為一門靜態語言,它的主要特性有哪些?
· Scala是面向對象的
Scala是一個純面向對象語言,在某種意義上來講所有數值都是對象。對象的類型和行為是由class和trait來描述的。Class的抽象可由子類化和一種靈活的基於mixin的組合機制(它可作為多重繼承的簡單替代方案)來擴展。
· Scala是函數式的
Scala還是一個函數式語言,在某種意義上來講所有函數都是數值。Scala為定義匿名函數提供了一種輕量級的語法,它支持高階(higher-order)函數、允許函數嵌套、支持局部套用(currying)。Scala的case類及其內置支持的模式匹配模型代數類型在許多函數式編程語言中都被使用。
· Scala是靜態類型的
Scala配備了一套富有表現力的類型系統,該抽象概念以一種安全的和一致的方式被使用。
· Scala是可擴展的
Scala的設計承認了實踐事實,領域特定應用開發通常需要領域特定語言擴展。Scala提供了一個獨特的語言組合機制,這可以更加容易地以類庫的形式增加新的語言結構:
任何方式可以被用作中綴(infix)或後綴(postfix)操作符閉包按照所期望的類型(目標類型)自動地被構造
兩者結合使用可方便地定義新語句,無需擴展語法,也無需使用類似宏的元編程工具。
· Scala可與Java和.NET進行互操作
Scala設計時就考慮了與流行編程環境良好交互,如Java 2運行時環境(JRE)和 .NET框架(CLR)。特別是與主流面向對象語言,如Java和C#盡量無縫交互。Scala有像Java和C#一樣的編譯模型(獨立編譯,動態裝載類),允許訪問成千上萬的高質量類庫。
在並發性方面,與 Scala 在 .NET 領域中的姐妹語言 F# 相似,Scala 是針對 「並發性問題」 的解決方案之一,讓開發人員能夠更加輕松地專注於問題的實質,而不用考慮並發編程的低級細節。Actor 編程模式讓高度並行應用程序的開發更加簡單。Scala把Erlang風格的基於actor的並發帶進了JVM。我們可以利用Scala的actor模型在JVM上設計具伸縮性的並發應用程序,以自動獲得多核心處理器帶來的優勢,而不必依照復雜的Java線程模型來編寫程序。Scala 為並發性提供了兩種級別的支持,這與其他與 Java 相關的主題極為類似:
首先,對底層庫的完全訪問(比如說 java.util.concurrent)以及對 「傳統」 Java 並發性語義的支持(比如說監控程序和wait()/notifyAll())。其次,這些基本機制上面有一個抽象層
Scala 提供了在穩定的高性能平台(Java 虛擬機)上生成的能力同時也是一門敏捷性語言。這一類型的語言也有其他的選擇,例如 Jython, JRuby, Groovy 和 Clojure, 但是這些都是運行在 JVM 上的動態類型語言。Open Class 的效果讓大家會覺得Scala是動態語言,但它是選擇隱式轉換來實現的,這也正好證明了Scala是靜態語言。隱式轉換(Implicit conversion)使 Scala 具有類型安全性,正如擴展方法(extension method)之於 C#,開放類(open class)之於 ruby。即:向未曾定義的類型添加方法(如字元串、列表、整數)。這是使得 Scala 符合 DSL(特定領域語言)模型的特性之一。
Scala結合了面向對象和函數編程的優勢,函數編程的一個好處就是你能夠像運用一個數據那樣運用函數,可以用來定義真正高層級的庫,或者去定義新的領域特殊語言(DSL)。
在談及Java與Scala的對比時,曾冠東表示,Scala能調用絕大部分的Java,而Java調用Scala獨有的東西會比較難。Java 擁有非常強的概念規范,因此任何一個 Java 程序之間具有非常多的相似之處,並且這樣能夠方便的進行程序員交替。但是 Scala 並沒有這樣的統一性,因為這是一門很有表現力的語言。現場曾冠東為我們演示了實際案例,如下圖所示:
正所謂,金無足赤,人無完人。Scala對二進制不兼容,語法也越來越復雜,不能突破Bytecode的限制、編譯速度有所緩慢。當它被廣泛用於單元測試、開發工具、Socket開發、以及面對多核挑戰的並發應用。總而言之,Scala是一種函數式面向對象語言,它融匯了許多前所未有的特性,而同時又運行於JVM之上。正如JRuby 創建者之一Charles Nutter 所宣稱的那樣Scala就是 Java 王位的合法繼承人。隨著開發者對Scala的興趣日增,以及越來越多的工具支持,無疑Scala語言將成為廣大軟體工程師手上一件必不可少的工具。更多精彩內容,請關注專題:http://www.it168.com/remen/qcon/
G. lift的簡介
它是一種在 Scala 編程語言上構建的可伸縮框架。它非常適合 Apache Geronimo 這樣的可伸縮應用伺服器,尤其是在 Scala 編譯為與 Java™ 語言非常相似的位元組碼並使用 Java 平台之後。
lift是一個非常優雅的web框架,基於Scala編程語言,使用Apache 2.0 license許可發布。lift 提供開發者最好的方式創建交互的,高性能的web應用。基於lift 的應用能夠部署為WAR文件進入 J2EE 容器,類似Jetty, Tomcat, 和 Weblogic。基於lift 的應用擁有高性能和能夠使用你現存的Java庫。
H. scala中web開發框架,哪一個能最後一統scala天下
最近研究了一下被很多人吹噓的Play Framework,當然,是它的最新版本2.0,完全基於Scala開發,Typesafe官方推薦,號稱scala開發web應用的不二選擇。我的基本感覺是,just like a toy。。。
1. 不支持j2ee
Play號稱基於nio的event驅動,自行實現了http協議,比之傳統j2ee應用性能高出無數雲雲,因此,使用Play,無需用到j2ee容器,也沒有servlet/jsp的概念,只需要jvm,然後run就可以了。看上去的確很美好,然後一個很基本的事實是,除了個人的玩具應用,有哪個企業的IT管理員會願意在已經熟悉的j2ee環境上在出現一個新的環境?更基本的事實是,從管理的角度來說,play提供的容器,能夠達到j2ee規范的高度嗎?更更基本的事實是,你能夠相信它的安全性嗎?雖然tomcat也會有安全漏洞,雖然jetty也不見得就真的安全,雖然websphere和weblogic都是要花錢的,但是比起他們來,你會更相信play的容器嗎?我相信99%的答案是No。
(當然,有一個第三方插件項目在試圖幫助Play部署war,但就其官方的態度而言,我是完全無法贊同的,而且,那個插件項目,遠未到成熟的地步,因為Play從根子上就沒有打算遵循j2ee規范)
2. 沒有服務端session
Play的口號是stateless,但我並不認為這個可以成為不提供服務端session的理由,現實生活中大部分的網站還是需要session的,你哪怕提供一個插件來提供session功能也好啊,可是很遺憾,沒有,官方的文檔上說,請自行處理。。。自行處理。。。這個世界上還有程序員有興趣去實現一個session管理嗎?
3. 編譯成函數的模板
Play認為這是它的優點,靜態編譯的模板,類型安全的參數傳遞。但我卻被它徹底的打敗了,為了向被各個頁面復用的page top傳遞幾個參數,我需要在每一個直接引用到它的模板,以及每一個間接引用到它的模板上添加所有的參數以便傳遞,因為,調用模板其實就是調用函數啊,我必須傳遞參數啊。。。當然,幸運的是,我們用的是scala,scala有implict參數定義,oh my God,我不需要傳遞參數了。。。可惜的是,我仍然需要在每一個層次的模板上聲明必須的參數,這是怎樣的一種精神,這是精神分裂的前兆。。。更加麻煩的是國際化與本地化處理,
Play提供了一個getmessage的函數讓我們可以取得本地化字元串並且填入參數,功能很簡單,當然,這並不妨礙我直接使用JDK的國際化API,因此這倒算不上它有多罪惡,然而,在表現層,或者說view層,當我希望根據locale選擇一個不同的模板文件的時候,問題就麻煩了,靜態編譯的模板,類型安全。。。似乎我需要用到反射才能夠根據locale選擇模板了。
I. Java目前主流框架都有哪些
1.Spring
這是其他Java框架中的絕對領導者。 掌握Spring是Java開發人員職位最普遍的要求之一。 造成這種情況的原因很多,但主要的原因是普遍性。
2.Play
Play是大多數開發人員喜歡的另一個輕量級框架。 它允許您使用Java和Scala構建Web應用程序。 它是為滿足現代移動和Web應用程序的需求而設計的。
3.Spark
Spark Framework是Java和Kotlin編程語言的一種微框架和特定於領域的語言。 Kotlin也可以在JVM上運行,並且可以與Java 100%互操作。 使用Spark,您可以輕松開發Web應用程序,微服務和REST API。
4. JHipster
Jhipster是最新的Java框架之一。 它於2013年發布。Jhipster將Spring Boot,Angular和React集成到一個大型框架中。 它使您可以輕松構建基於Java的現代Web應用程序。
5.Blade
Blade是一個輕量級的Java 8+ MVC框架。 當我們談論Blade的輕巧性時,是指其源代碼的大小,該大小不超過500KB。
6.Hibernate
在談論最佳的Java Web框架時,不能忽視Hibernate。
Hibernate是一個ORM(對象/關系映射)框架。 它允許您不使用sql而是使用Java將查詢寫到資料庫伺服器,這通常會改變資料庫的常規外觀。
7. MyBatis
MyBatis是用於Java編程的映射框架。 它簡化了將Java應用程序與SQL資料庫鏈接的過程:它充當它們之間的中間件。
8.Struts
Struts是用於創建企業級Java Web應用程序的開源MVC(模型-視圖-控制器)框架。 最初的Struts框架(Struts 1.x)在2007年與WebWork框架合並時進行了重建。 Struts 1.x和Struts 2.x不可互換,因為它們之間存在重要區別。 您可以從Struts的Releases頁面下載。
9.Vaadin
Vaadin是一個開放源代碼客戶端伺服器框架,可讓您使用預先設計的UI組件創建Web應用程序。 它是專門針對業務應用程序而構建的,重點是可訪問,美觀且直觀的用戶界面。
10. JavaServer Faces(JSF)
JSF是一種JCP標准技術,用於在Java EE平台上創作基於組件的用戶界面。 該框架可能不是最好的框架,但是最大的好處是Oracle支持,許多其他工具,出色的文檔以及友好的社區。
J. scala的SQL資料庫框架怎麼用比較好
以下是Twitter所使用的開源項目,簡要瀏覽之後,我覺得是一個很好的關於分布式架構,大數據,非同步網路傳輸(客戶端,服務端)學習的list,做個備份,以便後用。
1. 分析和搜索服務
Twitter的搜索服務每天支持超過10億次的查詢,其背後的開源項目包括:
Apache Cassandra:一套分布式NoSQL資料庫系統,以Amazon專有的完全分布式的Dynamo為基礎,結合了Google BigTable基於列族(Column Family)的數據模型,是一個網路社交雲計算方面理想的資料庫。該項目最初由Facebook開發,於2008開源並捐贈給Apache基金會。
Apache Hadoop:由Apache基金會所開發的分布式系統基礎架構,可使應用程序充分利用集群的威力高速運算和存儲,用戶可以在不了解分布式底層細節的情況下,開發分布式程序。
Apache Lucene:一個全文檢索引擎工具包,目的是為軟體開發人員提供一個簡單易用的工具包,以方便的在目標系統中實現全文檢索的功能,或者是以此為基礎建立起完整的全文檢索引擎。
Apache Pig:一個基於Hadoop的大規模數據分析平台,它提供的類SQL語言稱為Pig Latin,該語言的編譯器會把類SQL的數據分析請求轉換為一系列經過優化處理的MapRece運算。Pig為復雜的海量數據並行計算提供了一個簡單的操作和編程介面。
2. 伺服器和存儲
Twitter需要將每天用戶發送的推文存儲到資料庫,並推送給其他相關的用戶。該過程用到的開源項目包括:
Linux:主要用於Twitter伺服器。
Memcached:主要用於Twitter的緩存基礎設施,作用是加速動態Web應用程序,減輕資料庫負載。
Mysql:流行的開源關系型資料庫,被Twitter大量用於存儲Twitter消息。
Node.js:一套用來編寫高性能網路伺服器的JavaScript工具包,在Twitter中用於隊列處理(接收推文並寫入資料庫),使伺服器能處理每個連接而不會阻塞通道。
3. Twitter工程師的工具箱
Apache Subversion:開源的版本控制系統
Git:一個分布式的版本控制系統
Eclipse:大名鼎鼎的Java IDE。
Gerrit:一個基於Web的代碼評審和項目管理的工具,主要面向基於Git版本控制系統的項目
Jenkins:一個持續集成引擎,主要用於持續、自動地構建/測試軟體項目,以及監控一些定時執行的任務
RSpec:一個BDD 測試工具
4. Twitter背後的編程語言和框架
OpenJDK:Java的開源版本。Twitter陸續將一些項目從Rails遷移到了Java。
Python:一種高效的動態解釋型Web編程語言。
Ruby和Ruby on Rails:Twitter最初主要由Ruby和Rails開發。
Scala:Twitter使用的主要應用編程語言之一,很多Twitter的基礎架構都是用Scala編寫。
Clojure:Clojure是一種運行在Java平台上的Lisp方言,在任何具備Java虛擬機的地方,都可以利用Lisp的強大功能。Twitter的大數據處理系統Storm就是基於Clojure。
Drupal:使用PHP語言編寫的開源內容管理框架(CMF),由內容管理系統(CMS)和PHP開發框架共同構成。Twitter的開發者社區基於Drupal構建。
Sinatra:一個輕量、快速的Ruby開發框架。
5. Twitter的前端解決方案
jQuery:全球使用最廣泛的JavaScript框架。
Less:一個使用廣泛的CSS預處理器,通過簡單的語法和變數對CSS進行擴展,可減少很多CSS的代碼量。
MooTools:一個簡潔、模塊化、面向對象的開源JavaScript框架,為開發者提供了一個跨瀏覽器的JS解決方案
Zepto.js:一個輕量級的Javascript框架,主要用於移動開發
6. Twitter服務開發框架
TwistedMatrix:一個Python 框架,用來開發非阻塞非同步的網路服務和應用程序。
Netty:一個非同步的、事件驅動的Web應用框架和工具,用於快速開發高性能、高可靠性的網路伺服器和客戶端程序。Netty目前作為Twitter的核心隊列Kestrel的通信模塊。
Apache Thrift:一個由Facebook開源的遠程服務調用框架,採用介面描述語言定義並創建服務,支持可擴展的跨語言服務開發,所包含的代碼生成引擎可以在多種語言中創建高效的、無縫的服務。
Important remarks: Thrift 這篇文章對Thrift做了綜合性的介紹,值得我思考的是這篇文章:「Thrift與其他框架的比較」,以前對於分布式系統中的服務開發框架,我一直在想為什麼不用rest或者webservice來進行通訊?而主流的卻是選擇RPC? 文章用圖表來展示了Thrift在網路傳輸性能上與rest-jason,xml的優勢。所以,是不是可以這樣理解:Thrift從協議的定義上就使用了高效壓縮數據格式TCompactProtocol(就算不用壓縮,只用TBinaryProtocol 二進制流的數據格式,其傳輸性能也高於jason和xml),從而避免了傳輸,序列化jason或者xml 造成的代價。
Twitter公司所開源的項目
Twitter從開源社區中獲得了大量的好處,而Twitter也在不斷地回饋社區,開源了大量基礎設施和工具,使得其他企業和開發者不必重新發明輪子,在這些開源項目的基礎上更加快速地實現自己所需。
1. 大數據處理
scalding:一個用於Cascading的Scala API。Cascading是一個構建於Hadoop上的API,用來創建復雜和容錯數據處理工作流,它抽象了集群拓撲結構和配置,允許開發者快速開發復雜分布式的應用,而不用考慮背後的MapRece。
summingbird:允許開發者以類似於本地Scala或Java的方式編寫MapRece程序,並在大部分著名的分布式MapRece平台(包括Storm和Scalding)中執行它們。
2. 前端項目
Bootstrap:一個用於前端開發的工具包,包含了基本的CSS、HTML組件,包括排版、表單、按鈕、表格、網格、導航等。
TwUI:針對Mac平台的、支持硬體加速的UI框架,受到了UIKit的啟發。
typeahead.js:一個快速、全功能的自動完成庫
hogan.js:一個Mustache模板語言的編譯器
3. 後端服務
Twitter Mysql:Twitter的MySQL分支
Parquet:一種Twitter內部供Hadoop使用的列式存儲格式,為Hadoop生態系統中的所有項目提供支持高效率壓縮的列式數據表達,而且與數據處理框架、數據模型或編程語言無關。
Finagle:一個允許開發者使用Java、Scala或其他JVM語言來構建非同步RPC伺服器和客戶端的庫,主要用於Twitter的後端服務。
iago:一個負載生成器,用來在產品正式發布前做流量負載測試。
twemproxy:一個快速、輕量級的memcached和redis代理伺服器
zipkin:一個分布式的跟蹤系統。在Twitter中用於收集各個服務上的監控數據,並提供查詢介面。
4. Twitter基礎設施通用庫
commons:Twitter的Python、JVM公共庫
util:Twitter的一些可重用的代碼庫
cassovary:一個基於JVM的簡單的大圖形處理庫