這7個開源技術 支撐起整個網際網路時代

tmtpost發表於2015-02-08

  開源軟體現在成為整個網際網路時代的支撐技術,你可能已經無法離開由開源軟體構建起來的網路世界了。下面我們就來看看一些最重要的開源技術。

  為網際網路而生的作業系統linux

  Linux是一款免費的作業系統,誕生於1991年,使用者可以通過網路或其他途徑免費獲得,並可以任意修改其原始碼。

  它能執行主要的UNIX工具軟體、應用程式和網路協議。它支援32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個效能穩定的多使用者網路作業系統。這個系統是由全世界各地的成千上萬的程式設計師設計和實現的。其目的是建立不受任何商品化軟體的版權制約的、全世界都能自由使用的Unix相容產品。

  Linux可以說是已經無處不在,像Android手機就是以Linux為基礎開發的,世界上大多的超級計算機也都採用的Linux系統,大多數的資料中心使用Linux作為其支撐作業系統。谷歌、百度、淘寶等都通過Linuxt提供了我們每天用的網際網路服務。Linux在航空控制系統中也扮演著重要角色。

  加密網際網路的安全協議OpenSSL

  OpenSSL是套開放原始碼的軟體庫包,實現了SSL與TLS協議。OpenSSL可以說是一個基於密碼學的安全開發包,囊括了主要的密碼演算法、常用的金鑰和證照封裝管理功能以及SSL協議,並提供了豐富的應用程式供測試或其它目的使用。

  也可以說OpenSSL是網路通訊提供安全及資料完整性的一種安全協議,SSL可以在Internet上提供祕密性傳輸,能使使用者/伺服器應用之間的通訊不被攻擊者竊聽。OpenSSL被網銀、線上支付、電商網站、入口網站、電子郵件等重要網站廣泛使用。

  去年OpenSSL爆出安全漏洞,因為其應用如此之廣,該漏洞爆出讓整個網際網路都為之震顫。

  網際網路的記憶——MySQL

  MySQL是一個開源的小型的資料庫管理系統,原開發者為瑞典的MySQL AB公司,該公司於2008年被Sun公司收購。2009年,甲骨文公司(Oracle)收購Sun公司,MySQL成為Oracle旗下產品。

  很多資訊都是存在資料庫裡面的,很多工程師在開發一些的小型專案時都會採用這個MySQL資料庫。MySQL為C、C++、JAVA、PHP等多重程式語言提供了API介面。而且支援windows、Mac、Linux等多種系統。這種廣泛的支援使其得到更多開發者的青睞,MySQL是開發者需要掌握的資料庫之一。

  Mysql最初為小型應用而開發,但現在的Mysql已經不是一個小型資料庫了。基本上所有的網際網路公司都會使用這個資料庫系統,一些金融交易也會採用Mysql作為資料庫引擎。Mysql通過相應的調優既可以支撐大規模的訪問,又可以保證資料安全性,已經成為威脅傳統商業資料庫系統的重要力量。

4

  萬能開發工具Eclipse

  Eclipse 是一個開放原始碼的、基於Java的可擴充套件開發平臺。Eclipse最初由OTI和IBM兩家公司的IDE產品開發組建立,起始於1999年4月。目前由IBM牽頭,圍繞著Eclipse專案已經發展成為了一個龐大的Eclipse聯盟,有150多家軟體公司參與到Eclipse專案中,其中包括Borland、Rational Software、Red Hat及Sybase等。

  就其本身而言,它只是一個框架和一組服務,用於通過外掛元件構建開發環境。很多Java程式設計軟體都是在Eclipse平臺開發的,還有包括Oracle在內的許多大公司也紛紛加入了該專案,並宣稱Eclipse將來能成為可進行任何語言開發的IDE集大成者,使用者只需下載各種語言的外掛即可。

  Eclipse並不是一個直接服務於消費者的產品,它更像一個工匠手中萬用工具,用Eclipse開發者可以打造出各種充滿創造性的服務來滿足終端使用者的需求。

  網際網路的門衛Apache

  Apache HTTP Server(簡稱Apache)是Apache軟體基金會的一個開放原始碼的網頁伺服器,可以在大多數計算機作業系統中執行,由於其多平臺和安全性被廣泛使用,也是最流行的Web伺服器端軟體之一,市場佔有率達60%左右。它快速、可靠並且可通過簡單的API擴充套件,它可以和各種直譯器配合使用,包括PHP/Perl/Python等。

  Apache就像一個負責的門衛,管理著伺服器資料的進出。每當你在你的位址列裡輸入http://XXX.com的時候,在遙遠的遠端,很有可能正是一臺跑著Apache的伺服器,將你需要的資訊傳輸給瀏覽器。

  大資料的心臟Hadoop

  Hadoop 是一個能夠對大量資料進行分散式處理的軟體框架,由Apache基金會開發。使用者可以在不瞭解分散式底層細節的情況下,開發分散式程式。Hadoop 一直幫助解決各種問題,包括超大型資料集的排序和大檔案的搜尋。它還是各種搜尋引擎的核心,比如 Amazon 的 A9 和用於查詢酒資訊的 Able Grape 垂直搜尋引擎。阿里巴巴集團在商品推薦、使用者行為分析、信用計算領域也都有hadoop的應用。

  在“大資料”已經成為潮流的當下,Hadoop已經成為最主要的一項技術。可以毫不誇張的說,沒有Hadoop,就沒有大多數的大資料應用。可以說對一個不知道Hadoop的程式設計師而言,你已經out了。

  網際網路的“排版引擎”WebKit 

  說是瀏覽器核心,其實“排版引擎”更容易理解一些。通過伺服器傳輸給瀏覽器的資訊只是一串亂糟糟的文字。要看到我們平時看到精美的網友,需要瀏覽器核心對這些文字進行解析,將枯燥的描述“畫”成美麗的瀏覽介面。

  WebKit 是一個開源的瀏覽器引擎,與之相應的引擎有Gecko(Mozilla Firefox 等使用的排版引擎)和Trident(也稱為MSHTML,IE 使用的排版引擎)。根據StatCounter的瀏覽器市場份額調查,於2012年11月,Webkit市佔超過了40%,它已經成為擁有最大市場份額的排版引擎,超越了Internet Explorer所使用的Trident及Firefox所使用的Gecko引擎,並且WebKit份額正在逐年增加。

  目前幾乎所有網站和網銀已經逐漸支援WebKit。WebKit 核心在手機上的應用也十分廣泛,例如蘋果的Safari、谷歌的Chrome瀏覽器都是基於這個框架來開發的。

  小結

  很多人可能尚未意識到,我們使用的電腦中執行有開源軟體,手機中執行有開源軟體,家裡的電視也執行有開源軟體,甚至小小的數碼產品中也執行有開源軟體,尤其是網際網路伺服器端軟體,幾乎全部是開源軟體。毫不誇張地說,開源軟體已經滲透到了我們日常生活的方方面面。

相關文章