一些新技術簡介瞭解

1、WordPress
WordPress是一種使用PHP語言開發的博客平臺,用戶可以在支持PHP和MySQL數據庫的服務器上架設屬於自己的網站。也可以把 WordPress當作一個內容管理系統(CMS)來使用。

2、Node.js
互聯網的火熱使得JavaScript風光無限,且服務端的JavaScript也並不是什麼新技術了,相關的框架也有不少,只是node.js的成功讓他爆發式的出現在我們的視線中,讓很多前端工程師看到了從前端寫到後端的另一種實現希望。注:node.js 是一個允許開發人員使用 JavaScript 語言編寫服務器端代碼的框架。

在目前的web應用中,客戶端和服務器端之間有些交互可以認爲是基於事件的,那麼AJAX就是頁面及時響應的關鍵。每次發送一個請求時(不管請求的數據多麼小),都會在網絡裏走一個來回。服務器必須針對這個請求作出響應,通常是開闢一個新的進程。那麼越多用戶訪問這個頁面,所發起的請求個數就會越來越多,就會出現內存溢出、邏輯交錯帶來的衝突、網絡癱瘓、系統崩潰這些問題。Node的目標是提供一種構建可伸縮的網絡應用的方案,在hello world例子中,服務器可以同時處理很多客戶端連接。
http://www.cnblogs.com/Darren_code/archive/2011/10/31/2207063.html

3、Qos
QoS(Quality of Service,服務質量)指一個網絡能夠利用各種基礎技術,爲指定的網絡通信提供更好的服務能力, 是網絡的一種安全機制, 是用來解決網絡延遲和阻塞等問題的一種技術。 在正常情況下,如果網絡只用於特定的無時間限制的應用系統,並不需要QoS,比如Web應用,或E-mail設置等。但是對關鍵應用和多媒體應用就十分必要。當網絡過載或擁塞時,QoS 能確保重要業務量不受延遲或丟棄,同時保證網絡的高效運行。

4、Docker
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發佈到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iPhone 的 app)。幾乎沒有性能開銷,可以很容易地在機器和數據中心中運行。
docker設想是交付運行環境如同海運,OS如同一個貨輪,每一個在OS基礎上的軟件都如同一個集裝箱,用戶可以通過標準化手段自由組裝運行環境,同時集裝箱的內容可以由用戶自定義,也可以由專業人員製造。這樣,交付一個軟件,就是一系列標準化組件的集合的交付,如同樂高積木,用戶只需要選擇合適的積木組合,並且在最頂端署上自己的名字(最後個標準化組件是用戶的app)。這也就是基於docker的PaaS產品的原型。

5、Go語言
Docker就是基於Go語言。Go語言是谷歌2009發佈的第二款開源編程語言。Go語言專門針對多處理器系統應用程序的編程進行了優化,使用Go編譯的程序可以媲美C或C++代碼的速度,而且更加安全、支持並行進程。

6、BitNami
專業爲開源軟件包裝, 把好的開源軟件友好地呈現給用戶. 他們提供的安裝包可謂是真正的”傻瓜式”/”一站式” 安裝包. 即使不同技術的人也可以根據安裝嚮導”下一步”->….”安裝”->”完成” 成功安裝.這對於新手來說的確是一個好夥伴. 目前他們網站發佈的軟件包支持 Windows, Linux, Mac x86, Mac PPC
https://bitnami.com/learn_more

7、Scala
Scala運行於Java平臺(Java虛擬機),併兼容現有的Java程序。它也能運行於CLDC配置的Java ME中。目前還有另一.NET平臺的實現,不過該版本更新有些滯後。
Scala的編譯模型(獨立編譯,動態類加載)與Java和C#一樣,所以Scala代碼可以調用Java類庫(對於.NET實現則可調用.NET類庫)。
Scala包包括編譯器和類庫,以BSD許可證發佈。

無論是Ruby、Scala還是Groovy都有對應的Web框架,且對應的框架都是用各自對應的語言編寫的。這些框架分別是Rails、Lift和Grails。

8、Quora
Quora是一個問答SNS網站,由Facebook前僱員查理·切沃(Charlie Cheever)和亞當·安捷羅(Adam D’ Angelo)於2009年6月創辦。
Quora是怎樣將SNS模式融入於問答中的呢,鍵入Quora.com,簡潔的頁面讓初來者有些不知所措,但Quora的粉絲則對其獨特的訂閱功能非常着迷,通過對問題、問題的答案或者回答問題的某些人的活動的訂閱功能以及投票和關注功能,Quora打破了以往問答網站信息對接信息的模式,真正實現了信息與人的對接。

9、LAMP
Linux+Apache+Mysql/MariaDB+Perl/PHP/Python

10、LVS+keepalived+nginx+apache+php+eaccelerator
LVS是Linux Virtual Server的簡寫,意即Linux虛擬服務器,是一個虛擬的服務器集羣系統。
eAccelerator是一個自由開放源碼php加速器,優化和動態內容緩存,提高了php腳本的緩存性能,使得PHP腳本在編譯的狀態下,對服務器的開銷幾乎完全消除。

11、Tomcat和Apache的區別
打個比方:Apache是一輛卡車,上面可以裝一些東西如html等。但是不能裝水,要裝水必須要有容器(桶),Tomcat就是一個桶(裝像Java這樣的水),而這個桶也可以不放在卡車上。
Apache只支持靜態網頁,但像asp,php,cgi,jsp等動態網頁就需要Tomcat來處理。
Apache和Tomcat整合使用:如果客戶端請求的是靜態頁面,則只需要Apache服務器響應請求;如果客戶端請求動態頁面,則是Tomcat服務器響應請求;因爲jsp是服務器端解釋代碼的,這樣整合就可以減少Tomcat的服務開銷 。
Apache是世界使用排名第一的Web服務器。它可以運行在幾乎所有廣泛使用的計算機平臺上。

12、Spark
Spark是UC Berkeley AMP lab所開源的類Hadoop MapReduce的通用的並行計算框架,Spark基於map reduce算法實現的分佈式計算,擁有Hadoop MapReduce所具有的優點;但不同於MapReduce的是Job中間輸出和結果可以保存在內存中,從而不再需要讀寫HDFS,因此Spark能更好地適用於數據挖掘與機器學習等需要迭代的map reduce的算法。

◆ Spark的中間數據放到內存中,對於迭代運算效率更高。
Spark更適合於迭代運算比較多的ML和DM運算。因爲在Spark裏面,有RDD的抽象概念。

RDD是什麼?
RDD is a fault-tolerant collection of elements that can be operated on in parallel。彈性分佈式數據集,全稱Resilient Distributed Datasets。RDD 只讀、可分區,這個數據集的全部或部分可以緩存在內存中,在多次計算間重用。 所謂彈性,是指內存不夠時可以與磁盤進行交換。這涉及到了RDD的另一特性:內存計算,就是將數據保存到內存中。同時,爲解決內存容量限制問題,Spark爲我們提供了最大的自由度,所有數據均可由我們來進行cache的設置,包括是否cache和如何cache。

◆ Spark比Hadoop更通用。
Spark提供的數據集操作類型有很多種,不像Hadoop只提供了Map和Reduce兩種操作。比如map, filter, flatMap, sample, groupByKey, reduceByKey, union, join, cogroup, mapValues, sort,partionBy等多種操作類型,Spark把這些操作稱爲Transformations。同時還提供Count, collect, reduce, lookup, save等多種actions操作。
這些多種多樣的數據集操作類型,給給開發上層應用的用戶提供了方便。各個處理節點之間的通信模型不再像Hadoop那樣就是唯一的Data Shuffle一種模式。用戶可以命名,物化,控制中間結果的存儲、分區等。可以說編程模型比Hadoop更靈活。
不過由於RDD的特性,Spark不適用那種異步細粒度更新狀態的應用,例如web服務的存儲或者是增量的web爬蟲和索引。就是對於那種增量修改的應用模型不適合。

◆ 容錯性。
在分佈式數據集計算時通過checkpoint來實現容錯,而checkpoint有兩種方式,一個是checkpoint data,一個是logging the updates。用戶可以控制採用哪種方式來實現容錯。

◆ 可用性。
Spark通過提供豐富的Scala, Java,Python API及交互式Shell來提高可用性。

後期會慢慢完善~~~^_^

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章