b2c項目基礎架構分析(二)前端框架 以及補漏的第一篇名詞解釋

繼續上篇,上篇裏忘記了也很重要的前端部分,今天的網站基本上是以一個啓示頁,而後少許的整頁切換,大量的瀏覽器後臺調用web服務局部、動態更新頁面顯示狀態這種方式在運做的,從若干年前簡單的ajax流行起來,後臺是基於xml的web服務,到今天主流的web服務是基於所謂rest架構的json爲載體的web服務,其實我我的以爲rest和過去xml的soap相比並無本質級別的改變,反卻是今天的瀏覽器內運做的前端框架有更大的改變。javascript

我我的不是擅長前端的開發人員也不熱衷於前端內容,因此爲了幫助團隊的前端,我作了相對詳盡的資料查詢,我總結了今天用的前端框架類型:php

  • 前端UI框架類:表明Bootstrap,Bootstrap實際上是這一類框架裏的後輩,可是知名度因爲其優秀和源自Twitter這樣的知名項目因此首當其衝成了該類的表明,簡單地說它讓UI人員更方便的能去組織ui,我我的認爲程序員不會太用到這一層面的框架;
  • Javascript模版引擎:簡單的說各類模版引擎從很早很早之前就充斥在了web開發之中,可是js模版引擎的大規模使用還要源自於ajax的大量應用和node.js這款js後端技術的嶄露頭角,因此js模版引擎其實就是用js在作Response.Write的事情,固然是在有瀏覽器端,更固然node的狀況可能除外,相信在某些js中調用後端接口的時候用上模版引擎會事半功倍;

下面列舉一下我能查到的模版引擎,因爲js模版引擎很是品種繁多,我又不是很擅長前端,摘錄一下一篇過去頗有名的帖子的內容:css

Javascript模板引擎做爲數據與界面分離工做中最重要一環,受到開發者普遍關注。簡述五款流行模板引擎:html

    1. Mustache 一般被稱爲JavaScript模板的基礎。另外一個流行的解決方案Hanldebars實際上就是基於Mustache構建而成的。這並不意味着Mustache是一個很差的模板解決方案。
    2. Underscore Templates  提供了各類各樣的有用的方法,也提供了簡單的模板。它的語法與Mustache稍有不一樣。
    3. Embedded JS Templates 縮寫EJS 來源於ERB模板,且與ERB有不少類似之處。它有着與ERB相同的Tag,且包含不少相同的功能;EJS的特別之處在於,你須要把模板存於單獨文件中,並將文件名傳遞給EJS。它會加載該文件,並返回HTML。(我今天卻是正好翻到說ejs功能不錯,可是用的很差很慢)
    4. HandlebarsJS 爲最流行的模板引擎之一,構建於Mustache之上。適用於Mustache模板的功能一樣適用於Handlebars模板。同時,Handlebars還增長了不少Helper。其中之一是「With」;
    5. Jade templating----Node.js的主流MVC框架中一個經常使用的模版引擎,隨着node的走紅,因此也很紅;
  • 真正意義上的Javascript框架:表明爲谷歌的AngularJS,ReactJs是facebook輕量級的js框架,做爲.net的開發者還要提一下微軟曾經推薦的MVVM框架Knockout.JS,基本上這三者主題都是前端的分層框架,作着相似後端mvc框架的事情,全部前端顯示和後端數據獲取都能很好的在瀏覽器端、js端分離,有的好比AngularJS做爲谷歌的比較所謂「重」的框架技術內部本身都帶了模版引擎,順便說一句,vs2015開始默認帶着的js前端框架就是AngularJS

用上前端ui框架你將很方便的構建web的ui甚至同時應對移動端,用上模版引擎,將使你在js裏動態從後臺獲取數據再顯示到界面上更容易,而AngularJS這樣的框架幾乎是爲了分層、多人開發、測試而量身打造的大型框架,對於不少公司來講會是前端混亂的良藥,就是學習成本可能會大一點,好在html css js的ui人員均可以轉入這個前端多層框架層面,相信上進的ui人員不會拒絕。前端

 

名詞解釋:html5

一、ajaxjava

AJAX即「 A synchronous J avascript And X ML」(異步JavaScript和XML),是指一種建立交互式 網頁應用的網頁開發技術。
AJAX = 異步 JavaScriptXML標準通用標記語言的子集)。
AJAX 是一種用於建立快速動態網頁的技術。
經過在後臺與服務器進行少許數據交換,AJAX 能夠使網頁實現異步更新。這意味着能夠在不從新加載整個網頁的狀況下,對網頁的某部分進行更新。
傳統的網頁(不使用 AJAX)若是須要更新內容,必須重載整個網頁頁面。
二、xml
可擴展 標記語言標準通用標記語言的子集,是一種用於標記電子文件使其具備結構性的 標記語言
三、rest架構
REST軟件架構是由Roy Thomas Fielding博士在2000年首次提出的。他爲咱們描繪了開發基於互聯網的 網絡軟件的藍圖。REST軟件架構是一個抽象的概念,是一種爲了實現這一互聯網的超媒體 分佈式系統行動指南。利用任何的技術均可以實現這種理念。
四、json
JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。它基於JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個子集。 JSON採用徹底獨立於語言的文本格式,可是也使用了相似於C語言家族的習慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。這些特性使JSON成爲理想的數據交換語言。 易於人閱讀和編寫,同時也易於機器解析和生成(網絡傳輸速度)。
五、web服務
Web service是一個 平臺獨立的,低耦合的,自包含的、基於可 編程的web的應用程序,可以使用開放的 XML標準通用標記語言下的一個子集) 標準描述、發佈、發現、協調和配置這些應用程序,用於開發分佈式的互操做的 應用程序[1]  
Web Service技術, 能使得運行在不一樣機器上的不一樣應用無須藉助附加的、專門的第三方軟件或硬件, 就可相互交換數據或集成。依據Web Service規範實施的應用之間, 不管它們所使用的語言、 平臺或內部協議是什麼, 均可以相互交換數據。Web Service是自描述、 自包含的可用網絡模塊, 能夠執行具體的業務功能。Web Service也很容易部署, 由於它們基於一些常規的產業標準以及已有的一些技術,諸如 標準通用標記語言下的子集 XML、HTTP。Web Service減小了應用接口的花費。Web Service爲整個企業甚至多個組織之間的業務流程的集成提供了一個通用機制。
基於REST架構是web服務的新型方面。由於json比xml短小,又徹底兼容,而rest又能夠作到必定的自描述。
六、soap
簡單對象訪問協議是交換數據的一種協議規範,是一種輕量的、簡單的、基於 XML標準通用標記語言下的一個子集)的協議,它被設計成在WEB上交換結構化的和固化的信息。是 webService三要素之一。

WebService三要素

SOAP、WSDL(WebServicesDescriptionLanguage)、UDDI(UniversalDescriptionDiscovery andIntegration)之一, soap用來描述傳遞信息的格式, WSDL 用來描述如何訪問具體的接口, uddi用來管理,分發,查詢webService 。具體實現能夠搜索 Web Services簡單實例 ; SOAP 能夠和現存的許多因特網協議和格式結合使用,包括超文本傳輸協議(HTTP),簡單郵件傳輸協議(SMTP),多用途網際郵件擴充協議(MIME)。它還支持從消息系統到遠程過程調用(RPC)等大量的應用程序。SOAP使用基於XML的數據結構超文本傳輸協議(HTTP)的組合定義了一個標準的方法來使用Internet上各類不一樣操做環境中的分佈式對象node

七、Bootstrap
Bootstrap,來自 Twitter,是目前最受歡迎的前端框架。Bootstrap 是基於 HTML、CSS、JAVASCRIPT 的,它簡潔靈活,使得 Web 開發更加快捷。 [1]  它由Twitter的設計師Mark Otto和Jacob Thornton合做開發,是一個CSS/HTML框架。Bootstrap提供了優雅的HTML和CSS規範,它便是由動態 CSS語言 Less寫成。Bootstrap一經推出後頗受歡迎,一直是GitHub上的熱門開源項目,包括NASA的MSNBC(微軟全國廣播公司)的Breaking News都使用了該項目。
八、Javascript模板引擎--這個比較多請查看外鏈 推薦五款流行的JavaScript模板引擎
九、AngularJS 谷歌出品
AngularJS誕生於2009年,由Misko Hevery 等人建立,後爲Google所收購。是一款優秀的前端JS框架,已經被用於Google的多款產品當中。AngularJS有着諸多特性,最爲核心的 是:MVVM、模塊化、自動化雙向數據綁定、語義化標籤、依賴注入、等等。
AngularJS是爲了克服 HTML在構建應用上的不足而設計的。HTML是一門很好的爲靜態文本展現設計的聲明式語言,但要構建WEB應用的話它就顯得乏力了。因此我作了一些工做(你也能夠以爲是小花招)來讓瀏覽器作我想要的事。
一般,咱們是經過如下技術來解決靜態網頁技術在構建動態應用上的不足:
類庫 - 類庫是一些函數的集合,它能幫助你寫WEB應用。起主導做用的是你的代碼,由你來決定什麼時候使用類庫。類庫有:jQuery等
框架 - 框架是一種特殊的、已經實現了的WEB應用,你只須要對它填充具體的業務邏輯。這裏框架是起主導做用的,由它來根據具體的應用邏輯來調用你的代碼。框架有:knockout、sproutcore等。
AngularJS使用了不一樣的方法,它嘗試去補足HTML自己在構建應用方面的缺陷。AngularJS經過使用咱們稱爲 標識符(directives)的結構,讓瀏覽器可以識別新的語法。例如:
使用雙大括號{{}}語法進行數據綁定;
使用DOM控制結構來實現迭代或者隱藏DOM片斷;
支持表單和表單的驗證;
能將邏輯代碼關聯到相關的DOM元素上;
能將HTML分組成可重用的組件。
十、ReactJs facebook出品

React.js 是 Facebook 推出的一個用來構建用戶界面的 JavaScript 庫。mysql

React中,把一切東西都當作組件,並且全部組件有其狀態。
什麼是狀態?簡單來講,一個組件有多種有限的狀態,但同時只能是一種狀態,不過條件處罰就會變成另外一種狀態。學術上叫有限狀態機。jquery

從評論這個組件提及,評論組件總體叫作CommentBox,這個父組件有兩個子組件:CommentList和CommentForm,CommentList中又包含Comment這個小組件。

十一、Knockout.JS
Knockout 是個JavaScript library,幫助建立豐富的顯示和編輯器UI,經過乾淨的底層數據模型。你能夠在任什麼時候候動態更新UI的選擇部分;微軟官方曾經推薦。
 
補充:
第一部分的名詞解釋

名詞解釋:

一、bs架構

B/S結構即瀏覽器服務器結構。它是隨着Internet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶工做界面是經過WWW瀏覽器來實現,極少部分事務邏輯在前端(Browser)實現,可是主要事務邏輯在服務器端(Server)實現,造成所謂三層3-tier結構。B/S結構是WEB興起後的一種網絡結構模式,WEB瀏覽器是客戶端最主要的應用軟件。這種模式統一了客戶端,將系統功能實現的核心部分集中到服務器上,簡化了系統的開發、維護和使用。客戶機上只要安裝一個瀏覽器(Browser),如Netscape NavigatorInternet Explorer服務器安裝OracleSybaseInformixSQL Server等數據庫。瀏覽器經過Web Server同數據庫進行數據交互。 這樣就大大簡化了客戶端電腦載荷,減輕了系統維護與升級的成本和工做量,下降了用戶的整體成本(TCO)。

二、b2b

B2B(也有寫成 BTB,是Business-to-Business的縮寫)是指企業對企業之間的營銷關係,它將企業內部網,經過 B2B 網站與客戶緊密結合起來,經過網絡的快速反應,爲客戶提供更好的服務,從而促進企業的業務發展。近年來 B2B 發展勢頭迅猛,趨於成熟。

三、b2c

B2C是Business-to-Customer的縮寫,而其中文簡稱爲「商對客」。「商對客」是電子商務的一種模式,也就是一般說的直接面向消費者銷售產品和服務商業零售模式。這種形式的電子商務通常以網絡零售業爲主,主要藉助於互聯網開展在線銷售活動。B2C即企業經過互聯網爲消費者提供一個新型的購物環境——網上商店,消費者經過網絡在網上購物、網上支付等消費行爲。

四、wap

WAP網站的頁面語言是 WML,後來的升級版WAP 2.0(也就是所謂的3G版)是 XHTML。用戶能夠藉助支持GPRS上網功能的手機,經過WAP獲取信息。
WAP的早期版本的頁面語言是 WMLWML是一種純粹的頁面標記語言,它是一種從 HTML繼承而來基於 XML的標記語言,代碼的編寫結構比 HTML嚴格。
只支持顯示文本和圖片信息,界面比較簡單,由功能單一的文本,連接和圖片組成。爲利於 W3C開發的標準,05年後WAP由1.0過渡到2.0,WAP 2.0採用了 XHTMLCSS做爲WML 2.0的底層支持,在功能,性能,安全,傳輸方面比早期WAP 1.0強大。WAP 2.0支持 CSS,支持背景音樂等等。因爲特殊的物理環境, WML語言不包含其餘腳本語言所包含的花哨功能,所以對內存和CPU的要求相對很低,經過手機內置或應用安裝的手機瀏覽器能夠直接瀏覽WAP網站,市面上絕大多數手機都支持 GPRS上網功能,能夠瀏覽全部的WAP 1.0網站,也有至關一部分低端手機,不支持WAP 2.0網站。
WAP通常都是動態頁面,主要的編寫語言是 ASP+ ACCESS,也有 JSPPHP,以及 ASP的過渡版本.net,除了ASP主要使用 ACCESS數據庫外,後者主要是配合 MySQL數據庫編寫的。
WAP網站的推廣方式比較簡單,主要靠口碑,羣發信息,WAP論壇,友鏈,WAP網址大全推廣,WAP界基本不存在 SEO,主流WEB搜索引擎都有WEB轉碼功能,能夠將WEB網站轉碼爲WAP內容供手機瀏覽。WAP也有不少手機搜索引擎,例如易查,易搜,悟空等等。

WAP 的盈利方式主要靠SP點播業務和WAP廣告聯盟,SP點播業務就是短信點播,彩信,鈴聲下載,包月服務等,本 小利大,早期的WAP網站靠他掙了很多錢,因而大量低俗網站應運而生,09年央視曝光SP業務存在欺詐用戶及被大量WAP低俗網站利用後,SP被移動等運 營商規範整治,投放門檻提升,SP完全進入寒冬,又加上智能手機普及,有着無數免費的精彩應用,SP逐漸退出WAP江湖。

五、app

APP指的是 智能手機的第三方應用程序。比較著名的應用商店有 蘋果的App Store, 谷歌的Google Play Store, 諾基亞的Ovi store,還有 黑莓用戶的BlackBerry App World, 微軟的Marketplace等。
最近兩年,app分發成爲各大互聯網巨頭的新「行當」,在手機廠商和專業應用下載平臺的夾擊下,不但沒有被擠成「夾心餅乾」,反而成了可口的「驢肉火燒」。以 騰訊 應用寶爲例,其打破傳統應用分發的下載套路,從娛樂和社交的角度去「再造」應用分發平臺,開創了一個值得圈點的應用市場新模式,也讓咱們看到了APP快消化品牌運做的趨勢。
基本上泛指移動設備上運行的應用程序。

六、webform

WebForm是微軟開發的一款產品,它將用戶的請求和響應都封裝爲控件。讓開發者認爲本身是在操做一個windows界面。極大地提升了開發效率。
WebForm誕生於2002年。
WebForm負責封裝用於用戶端顯示的數據。
EasyJWeb中,WebForm是一個很是重要,也是使用最爲頻繁的對象,他充當了在視圖及程序之間傳輸、處理數據的媒介。
asp.net webform 和 asp.net mvc是微軟asp.net官方的兩套主要架構。

七、jquery

Jquery是繼 prototype以後又一個優秀的 Javascript庫。它是輕量級的js庫 ,它兼容 CSS3,還兼容各類 瀏覽器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及後續版本將再也不支持IE6/7/8瀏覽器。jQuery使用戶能更方便地處理 HTML標準通用標記語言下的一個應用)、events、實現動畫效果,而且方便地爲網站提供AJAX交互。jQuery還有一個比較大的優點是,它的文檔說明很全,並且各類應用也說得很詳細,同時還有許多成熟的 插件可供選擇。jQuery可以使用戶的html頁面保持代碼和html內容分離,也就是說,不用再在html裏面插入一堆js來調用命令了,只須要定義id便可。
jQuery是一個兼容多瀏覽器的 javascript庫,核心理念是write less,do more(寫得更少,作得更多)。jQuery在2006年1月由美國人 John Resig在紐約的 barcamp發佈,吸引了來自世界各地的衆多JavaScript高手加入,由Dave Methvin率領團隊進行開發。現在, jQuery已經成爲最流行的 javascript庫,在世界前10000個訪問最多的網站中,有超過55%在使用jQuery。
jQuery是免費、開源的,使用 MIT許可協議。jQuery的 語法設計能夠使開發者更加便捷,例如操做 文檔對象、選擇 DOM元素、製做 動畫效果、事件處理、使用 Ajax以及其餘功能。除此之外,jQuery提供API讓開發者編寫插件。其模塊化的使用方式使開發者能夠很輕鬆的開發出功能強大的靜態或動態網頁。
jQuery,顧名思議,也就是JavaScript和查詢(Query),便是輔助JavaScript開發的庫。

八、js

JavaScript一種 直譯腳本語言,是一種動態類型、弱類型、基於原型的語言,內置支持類型。它的 解釋器被稱爲JavaScript引擎,爲 瀏覽器的一部分,普遍用於 客戶端的腳本語言,最先是在 HTML標準通用標記語言下的一個應用)網頁上使用,用來給 HTML網頁增長動態功能。
在1995年時,由 Netscape公司的 Brendan Eich,在 網景導航者瀏覽器上首次設計實現而成。由於 NetscapeSun合做, Netscape管理層但願它外觀看起來像 Java,所以取名爲JavaScript。但實際上它的語法風格與 SelfScheme較爲接近。 [1]  
爲了取得技術優點, 微軟推出了 JScript,CEnvi推出ScriptEase,與JavaScript一樣可在瀏覽器上運行。爲了統一規格,由於JavaScript 兼容於ECMA標準,所以也稱爲 ECMAScript

九、sql

結構化查詢語言(Structured Query Language)簡稱SQL(發音:/ˈes kjuː ˈel/ "S-Q-L"),是一種特殊目的的編程語言,是一種數據庫查詢和 程序設計語言,用於存取數據以及查詢、更新和管理 關係數據庫系統;同時也是 數據庫腳本文件的擴展名。
結構化查詢語言是高級的非過程化編程語言,容許用戶在高層 數據結構上工做。它不要求用戶指定對數據的存放方法,也不須要用戶瞭解具體的數據存放方式,因此具備徹底不一樣底層結構的不一樣 數據庫系統, 能夠使用相同的結構化查詢語言做爲數據輸入與管理的接口。結構化查詢語言語句能夠嵌套,這使它具備極大的靈活性和強大的功能。
1986 年10月,美國國家標準協會對SQL進行規範後,以此做爲關係式數據庫管理系統的標準語言(ANSI X3. 135-1986),1987年獲得國際標準組織的支持下成爲國際標準。不過各類通行的數據庫系統在其實踐過程當中都對SQL規範做了某些編改和擴充。所 以,實際上不一樣數據庫系統之間的SQL不能徹底相互通用。

十、io

I/O輸入/輸出(Input/Output),分爲IO設備和IO接口兩個部分。 在POSIX兼容的系統上,例如Linux系 統,I/O操做能夠有多種方式,好比DIO(Direct I/O),AIO(Asynchronous I/O 異步I/O),Memory-Mapped I/O(內存映設I/O)等,不一樣的I/O方式有不一樣的實現 方式和性能,在不一樣的應用中能夠按狀況選擇不一樣的I/O方式。

軟件裏IO常常是讀寫行爲的簡寫,和讀寫操做的庫的簡寫。

十一、隊列

隊列是一種特殊的線性表,特殊之處在於它只容許在表的前端(front)進行刪除操做,而在表的後端(rear)進行插入操做,和棧同樣,隊列是一種操做受限制的線性表。進行插入操做的端稱爲隊尾,進行刪除操做的端稱爲隊頭。

十二、異步

異步:一種通信方式,對設備需求簡單。咱們的 PC機提供的標準 通訊接口都是異步的。
異步雙方不須要共同的時鐘,也就是接收方不知道發送方何時發送,因此在發送的信息中就要有提示接收方開始接收的信息,如開始位,同時在結束時有中止位。
異步的另一種含義是計算機多線程的異步處理。與同步處理相對,異步處理不用阻塞當前 線程來等待處理完成,而是容許後續操做,直至其它線程將處理完成,並回調通知此線程。
但此處須要明確的是:異步與 多線程與並行不是同一個概念.
多線程
多 線程(英語:multithreading),是指從軟件或者硬件上實現多個線程併發執行的技術。具備多線程能力的計算機因有硬件支持而可以在同一時間 執行多於一個線程,進而提高總體處理性能。具備這種能力的系統包括對稱多處理機、多核心處理器以及芯片級多處理(Chip-level multithreading)或同時多線程(Simultaneous multithreading)處理器。 [1]  在一個 程序中,這些獨立運行的程序片斷叫做「線程」(Thread),利用它編程的概念就叫做「多線程處理(Multithreading)」。具備多線程能力的計算機因有硬件支持而可以在同一時間執行多於一個線程(臺灣譯做「執行緒」),進而提高總體處理性能。
並行
並行是指「並排行走」或「同時實行或實施」。
在操做系統中是指,一組程序按獨立異步的速度執行,不管從微觀仍是宏觀,程序都是一塊兒執行的。對比地,併發是指:在同一個時間段內,兩個或多個程序執行,有時間上的重疊(宏觀上是同時,微觀上還是順序執行)。

並行計算

並行機上所作的計算,又稱高性能計算或超級計算。

行通訊

並行通訊是把一個字符的各數位用幾條先同時進行傳輸。在兩個設備之間實現並行通訊的接口就是並行接口,並行接口中的每條數據線的長度必須相同。

行處理

並行處理是一種有效地強調開發計算過程當中並行事件的信息處理方式。

1三、同步

同步指兩個或兩個以上隨時間變化的量在變化過程當中保持必定的相對關係。
同步(英語:Synchronization),指在一個系統中所發生的事件(event),之間進行協調,在時間上出現一致性與統一化的現象。在系統中進行同步,也被稱爲及時(in time)、同步化的(synchronous、in sync)。

1四、三層 MVC

三 層架構(3-tier architecture) 一般意義上的三層架構就是將整個業務應用劃分爲:表現層(Presentation layer)、業務邏輯層(Business Logic Layer)、數據訪問層(Data access layer)。區分層次的目的即爲了「高內聚低耦合」的思想。在軟件體系架構設計中,分層式結構是最多見,也是最重要的一種結構。微軟推薦的分層式結構通常分爲三層,從下至上分別爲:數據訪問層、業務邏輯層(又或稱爲領域層)、表示層。

MVC(模型Model-視圖View-控制器Controller)是一種架構模式,能夠用它來建立在域對象和UI表示層對象之間的區分。
一樣是架構級別的,相同的地方在於他們都有一個表現層,可是他們不一樣的地方在於其餘的兩個層。
在三層架構中沒有定義Controller的概念。這是最不一樣的地方。而MVC也沒有把業務的邏輯訪問當作兩個層,這是採用三層架構或MVC搭建程序最主要的區別。固然了。在三層中也提到了Model,可是三層架構中Model的概念與MVC中Model的 概念是不同的,「三層」中典型的Model層是以實體類構成的,而MVC裏,則是由業務邏輯與訪問數據組成的。

1五、css

級聯樣式表是一種用來表現 HTML標準通用標記語言的一個應用)或 XML標準通用標記語言的一個子集)等文件樣式的 計算機語言
CSS目前最新版本爲 CSS3,是可以真正作到 網頁表現與內容分離的一種樣式設計語言。相對於傳統HTML的表現而言,CSS可以對 網頁中的 對象的位置排版進行 像素級的精確控制,支持幾乎全部的字體字號樣式,擁有對網頁對象和模型樣式編輯的能力,並可以進行初步 交互設計,是目前基於文本展現最優秀的表現設計語言。 CSS可以根據不一樣使用者的理解能力,簡化或者優化寫法,針對各種人羣,有較強的易讀性。

1六、html html5

超文本標記語言, 標準通用標記語言下的一個應用。
超文本 就是指頁面內能夠包含圖片、 連接,甚至音樂、 程序等非文字元素。
超文本標記語言的結構包括 頭」部分(英語:Head)、和「主體」部分(英語:Body),其中「頭」部提供關於網頁的信息,「主體」部分提供網頁的具體內容。
html5
萬維網的核心語言、 標準通用標記語言下的一個應用 超文本標記語言HTML)的第五次重大修改(這是一項推薦標準 [1]  、 外語原文: W3C Recommendation、見本處 參考資料原文內容: [1]  )。
2014年10月29日, 萬維網聯盟宣佈,通過接近8年的艱苦努力,該標準規範終於制定完成

1七、ui

UI即User Interface(用戶界面)的簡稱。UI設計則是指對軟件人機交互、操做邏輯、界面美觀的總體設計。好的UI設計不只是讓軟件變得有個性有品味,還要讓軟件的操做變得溫馨、簡單、自由、充分體現軟件的定位和特色。UI還有其它的意義,如Unit Interval,Univ of Iowa,Unlock Instruction,Urgent Interrupt。

1八、黑盒測試

黑盒測試也稱 功能測試,它是經過測試來檢測每一個功能是否都能正常使用。在測試中,把 程序看做一個不能打開的黑盒子,在徹底不考慮程序內部結構和內部特性的狀況下,在 程序接口進行測試,它只檢查程序功能是否按照需求規格說明書的規定正常使用,程序是否能適當地接收輸入數據而產生正確的輸出信息。黑盒測試着眼於 程序外部結構,不考慮內部 邏輯結構,主要針對 軟件界面和軟件功能進行測試。
黑盒測試是以用戶的角度,從輸入數據與輸出數據的對應關係出發進行測試的。很明顯,若是外部特性自己設計有問題或規格說明的規定有誤,用黑盒測試方法是發現不了的。

1九、白盒測試

白盒測試 [1]  又稱結構測試、透明盒測試、邏輯驅動測試或基於 代碼的測試。白盒測試是一種 測試用例設計方法,盒子指的是被測試的 軟件, 白盒指的是盒子是可視的,你清楚盒子內部的東西以及裏面是如何運做的。"白盒"法全面瞭解程序內部邏輯結構、對全部邏輯路徑進行測試。"白盒"法是窮舉路 徑測試。在使用這一方案時,測試者必須檢查程序的內部結構,從檢查程序的邏輯着手,得出測試數據。貫穿程序的獨立路徑數是天文數字。

採用什麼方法對軟件進行測試呢?經常使用的軟件測試方法有兩大類:靜態測試方法和動態測試方 法。其中軟件的靜態測試不要求在計算機上實際執行所測程序,主要以一些人工的模擬技術對軟件進行分析和測試;而軟件的動態測試是經過輸入一組預先按照必定 的測試準則構造的實例數據來動態運行程序,而達到發現程序錯誤的過程。在動態分析技術中,最重要的技術是路徑和分支測試。

20、webserver

Web Server中文名稱叫網頁服務器或web服務器WEB服務器也稱爲WWW(WORLD WIDE WEB)服務器,主要功能是提供網上信息瀏覽服務

2一、.net

.NET就是微軟用來實現XMLWeb ServicesSOA(面向服務的體系結構service-oriented architecture)和敏捷性的技術。對技術人員,想真正瞭解什麼是.NET,必須先了解.NET技術出現的緣由和它想解決的問題,必須先了解爲何他們須要XML,Web Services 和 SOA。技術人員通常將微軟當作一個平臺廠商。微軟搭建技術平臺,而技術人員在這個技術平臺之上建立應用系統。從這個角度,.NET也能夠以下來定義:.NET是微軟的新一代技術平臺,爲敏捷商務構建互聯互通的應用系統,這些系統是基於標準的,聯通的,適應變化的,穩定的和高性能的。從技術的角度,一個.NET應用是一個運行於.NET Framework之上的應用程序(更精確的說,一個.NET應用是一個使用.NET Framework類庫來編寫,並運行於公共語言運行時Common Language Runtime之上的應用程序。)若是一個應用程序跟.NET Framework無關,它就不能叫作.NET程序。好比,僅僅使用了XML並不就是.NET應用,僅僅使用SOAP SDK調用一個Web Service也不是.NET應用。.NET是基於Windows操做系統運行的操做平臺,應用於互聯網的分佈式。

2二、linux

Linux是一套無償使用和自由傳播的類Unix操做系統,是一個基於POSIXUNIX的多用戶、多任務、支持多線程和多CPU的操做系統。它能運行主要的UNIX工具軟件、應用程序和網絡協議。它支持32位64位硬件。Linux繼承了Unix網絡爲核心的設計思想,是一個性能穩定的多用戶網絡操做系統。

Linux操做系統誕生於1991 年10 月5 日(這是第一次正式向外公佈時間)。Linux存在着許多不一樣的Linux版本,但它們都使用了 Linux內核。Linux可安裝在各類計算機硬件設備中,好比 手機平板電腦路由器、視頻遊戲控制檯、臺式計算機、大型機和超級計算機。
嚴格來說,Linux這個詞自己只表示Linux內核,但實際上人們已經習慣了用Linux來形容整個基於Linux內核,而且使用GNU 工程各類工具和數據庫的操做系統。

2三、熱數據

2四、數據倉庫

數據倉庫,英文名稱爲Data Warehouse,可簡寫爲 DW或DWH。數據倉庫,是爲企業全部級別的決策制定過程,提供全部類型數據支持的戰略 集合。它是單個數據 存儲,出於分析性報告和決策支持目的而建立。 爲須要業務智能的企業,提供指導業務流程改進、監視時間、成本、質量以及控制。 
我認爲基本上今天不支持強事務的大數據數據庫、海量支持的數據庫均可以算是一種數據倉庫方案。

2五、在線

在 線存儲(OnStore)是工做級的存儲,在線存儲的最大特徵是存儲設備和所存儲的數據時刻保持「在線」狀態,能夠隨時讀取和修改,以知足前端應用服務器 或數據庫對數據訪問的速度要求。其中最主要的在線存儲是磁盤存儲。早期的在線存儲設備主要是服務器內置硬盤,隨着對存儲的發展,如今在線存儲設備還包括光 纖磁盤陣列或SCSI磁盤陣列等磁盤設備。在線存儲價格相對昂貴,但性能最好。大多數狀況下,咱們能夠認爲客戶的核心應用都是採用這種存儲形式的。
對於數據庫來講,可以基本提供及時或可預計時間內響應的數據庫系統是在線數據庫。

2六、近線

所謂近線存儲(NearStore),是隨着客戶存儲環境的細化所提出的一個概念,所謂的近線存儲,外延相對較普遍,主要定位於客戶在線存儲離線存儲之 間的應用。就是指將那些並非常常用到,或者說數據的訪問量並不大的數據存放在性能較低的存儲設備上。但同時對這些的設備要求是尋址迅速、傳輸率高。(例 如客戶一些長期保存的不經常使用的文件的歸檔)。所以,近線存儲對性能要求相對來講並不高,但又要求相對較好的訪問性能。同時多數狀況下因爲不經常使用的數據要佔 總數據量的比較大的比重,這也就要求近線存儲設備在須要容量相對較大。在業界傳統定義的近線存儲設備主要爲DVD-RAM光盤塔光盤庫設備。但隨着存儲設備的不斷髮展,跟據客戶存儲需求的不一樣,咱們也會把低端的磁盤陣列(例如DS4100)或高端的磁帶設備(例如3592)做爲近線存儲應用設備。

其實對於數據庫來講,近線的概念,能夠被認爲就是不那麼快,響應不那麼及時,一個操做沒有一個可控的最大響應時間範圍的這類數據庫系統,Hadoop不少傳統的讀寫方式、技術方案就不像hbase那樣可以及時、有效的反應。

2七、hbase

HBase是一個分佈式的、面向列的開源數據庫,該技術來源於 Fay Chang 所撰寫的Google論文「Bigtable:一個結構化數據的分佈式存儲系統」。 就像Bigtable利用了Google文件系統(File System)所提供的分佈式數據存儲同樣,HBase在Hadoop之上提供了相似於Bigtable的能力。HBase是Apache的Hadoop 項目的子項目。HBase不一樣於通常的關係數據庫,它是一個適合於非結構化數據存儲的數據庫。另外一個不一樣的是HBase基於列的而不是基於行的模式。

全世界大量大型公司的數據都存儲在其上。

2八、mysql

MySQL[1] 是一個關係型數據庫管理系統由瑞典 MySQL AB 公司開發,目前屬於 Oracle 公司。MySQL 最流行的關係型數據庫管理系統,在 WEB 應用方面 MySQL 是最好的 RDBMS (Relational Database Management System,關係數據庫管理系統) 應用軟件之一。MySQL 是一種關聯數據庫管理系統,關聯數據庫將數據保存在不一樣的表中,而不是將全部數據放在一個大倉庫內,這樣就增長了速度並提升了靈活性。MySQL 所使用的 SQL 語言是用於訪問數據庫的最經常使用標準化語言。MySQL 軟件採用了雙受權政策(本詞條「受權政策」),它分爲社區版和商業版,因爲其體積小、速度快、整體擁有成本低,尤爲是開放源碼這一特色,通常中小型網站的開發都選擇 MySQL 做爲網站數據庫。因爲其社區版的性能卓越,搭配 PHPApache 可組成良好的開發環境。

2九、MariaDB

MariaDB 數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,採用GPL受權許可 MariaDB的目的是徹底兼容MySQL,包括API和命令行,使之能輕鬆成爲MySQL的代替品。在存儲引擎方面,使用XtraDB(英 語:XtraDB)來代替MySQL的InnoDB。 MariaDB由MySQL的創始人Michael Widenius(英語:Michael Widenius)主導開發,他早前曾以10億美圓的價格,將本身建立的公司MySQL AB賣給了SUN,此後,隨着SUN被甲骨文收購,MySQL的全部權也落入Oracle的手中。MariaDB名稱來自Michael Widenius的女兒Maria的名字。
MariaDB基於 事務的Maria 存儲引擎,替換了 MySQLMyISAM存儲引擎,它使用了Percona的 XtraDB,InnoDB的變體,分支的開發者但願提供訪問即將到來的MySQL 5.4 InnoDB性能。這個版本還包括了 PrimeBase XT (PBXT) 和 FederatedX 存儲引擎

30、MyCat

MyCat是一位中國hp的系統架構師牽頭,基於已經中止開發了的阿里開源的Cobar,所構建的分佈式強事務兼容mysql協議的數據庫集羣中間件。

Mycat 1.4 alpha 版本發佈,JDBC方式支持後端全部主流數據庫,性能加強並修復一些Bug ,建議當前開發的項目採用。

什麼是MyCAT

    • 一個完全開源的,面向企業應用開發的大數據庫集羣
    • 支持事務、ACID、能夠替代MySQL的增強版數據庫
    • 一個能夠視爲MySQL集羣的企業級數據庫,用來替代昂貴的Oracle集羣
    • 一個融合內存緩存技術、NoSQL技術、HDFS大數據的新型SQL Server
    • 結合傳統數據庫和新型分佈式數據倉庫的新一代企業級數據庫產品
    • 一個新穎的數據庫中間件產品

目標

低成本的將現有的單機數據庫和應用平滑遷移到「雲」端,解決數據存儲和業務規模迅速增加狀況下的數據瓶頸問題。

關鍵特性

    • 支持SQL92標準
    • 支持MySQL集羣,能夠做爲Proxy使用
    • 支持JDBC鏈接Oracle、DB二、SQL Server,將其模擬爲MySQL Server使用
    • 支持Galera for MySQL集羣,Percona Cluster或者MariaDB cluster
    • 提供高可用性數據分片集羣,自動故障切換
    • 支持讀寫分離,支持MySQL雙主多從,以及一主多從的模式
    • 支持全局表,數據自動分片到多個節點,用於高效表關聯查詢
    • 支持獨有的基於ER關係的分片策略,實現了高效的表關聯查詢多平臺支持,部署簡單

3一、redis

Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。從2010年3月15日起,Redis的開發工做由VMware主持。從2013年5月開始,Redis的開發由Pivotal贊助。

redis是一個key-value存儲系統。和Memcached相似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。這些數據類型都 支持push/pop、add/remove及取交集並集和差集及更豐富的操做,並且這些操做都是原子性的。在此基礎上,redis支持各類不一樣方式的排 序。與memcached同樣,爲了保證效率,數據都是緩存在內存中。區別的是redis會週期性的把更新的數據寫入磁盤或者把修改操做寫入追加的記錄文 件,而且在此基礎上實現了master-slave(主從)同步。

國內微博方案早期包括到如今都是基於Redis的。

3二、Memcached

memcached是一套分佈式的快取系統,當初是Danga Interactive爲了LiveJournal所發展的,但目前被許多軟件(如MediaWiki)所使用。這是一套開放源代碼軟件,以BSD license受權釋出。

memcached缺少認證以及安全管制,這表明應該將memcached服務器放置在防火牆後。

memcached 的API使用三十二位元的循環冗餘校驗(CRC-32)計算鍵值後,將資料分散在不一樣的機器上。當表格滿了之後,接下來新增的資料會以LRU機制替換掉。 因爲memcached一般只是看成快取系統使用,因此使用memcached的應用程式在寫回較慢的系統時(像是後端的數據庫)須要額外的程式碼更新 memcached內的資料。

3三、Codis

Codis 是一個分佈式 Redis 解決方案, 對於上層的應用來講, 鏈接到 Codis Proxy 和鏈接原生的 Redis Server 沒有明顯的區別 (不支持的命令列表), 上層應用能夠像使用單機的 Redis 同樣使用, Codis 底層會處理請求的轉發, 不停機的數據遷移等工做, 全部後邊的一切事情, 對於前面的客戶端來講是透明的, 能夠簡單的認爲後邊鏈接的是一個內存無限大的 Redis 服務.

3四、jexus

Jexus 即 Jexus Web Server,簡稱JWS,是Linux平臺上 的一款ASP.NET WEB服務器。它是 Linux、Unix、FreeBSD 等非Windows系統架設 ASP.NET WEB 服務器的核心程序。

Jexus 即 Jexus Web Server,簡稱JWS,是Linux平臺上的一款ASP.NET WEB服務器,是 Linux、Unix、FreeBSD 等非Windows系統架設 ASP.NET WEB 服務器的核心程序,是企業級ASP.NET跨平臺部署的一種可選方案。與其它WEB服務器相比,Jexus不但具備跨平臺ASP.NET服務器這樣的標誌 性特徵,同時還擁有內核級的安全監控、入侵檢測、URL重寫、無文件路由等一系列重要功能和專有特性。

優勢是:linux下一站式的asp.net容器,缺點:配置文檔缺少,封閉源代碼,不開源,做爲國產閉源產品卻沒有像樣的商用案例支持其可靠性和安全性。

3五、Apache

2個含義,著名webserver軟件,或者Apache軟件基金會

Apache是世界使用排名第一的Web服務器軟件。它能夠運行在幾乎全部普遍使用的計算機平臺上,因爲其跨平臺和安全性被普遍使用,是最流行的Web服務器端軟件之一。它快速、可靠而且可經過簡單的API擴充,將Perl/Python解釋器編譯到服務器中。

Apache軟件基金會(也就是Apache Software Foundation,簡稱爲ASF),是專門爲運做一個開源軟件項目的 Apache 的團體提供支持的非盈利性組織,這個開源軟件項目就是 Apache 項目。除了Apache,實際上開源的軟件裏主要的基礎的多一半是該基金會管理下或者基於該基金會所管理的軟件項目。

3六、Nginx

Nginx ("engine x") 是一個高性能的 HTTP 和 反向代理 服務器,也是一個 IMAP/POP3/SMTP 代理服務器。 Nginx 是由 Igor Sysoev 爲 俄羅斯訪問量第二的 Rambler.ru 站點開發的,第一個公開版本0.1.0發佈於2004年10月4日。其將 源代碼以類BSD許可證的形式發佈,因它的穩定性、豐富的功能集、示例配置文件和低 系統資源的消耗而聞名。2011年6月1日,nginx 1.0.4發佈。
Nginx是一款輕量級的 Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,並在一個BSD-like 協議下發行。由俄羅斯的程序設計師Igor Sysoev所開發,供俄國大型的入口網站及搜索引擎Rambler(俄文:Рамблер)使用。其特色是佔有 內存少, 併發能力強,事實上nginx的併發能力確實在同類型的網頁服務器中表現較好,中國大陸使用nginx網站用戶有: 新浪網易騰訊等。

3七、mono、mod_mono

mono是指由Novell公司(由Ximian發起,並由Miguel de lcaza領導的,一個致力於開創·NET在Linux上使用的開源工程。

mod_mono 是一個 Apache 的模塊,用來在 Unix 和 Linux 等系統下運行 ASP.NET 的頁面程序。固然並不限定爲Apache,其餘webserver也能夠有本身的mod_mono。

3八、.net core

【初步理解】

.NET Core是14年微軟開源政策的一個重要決定的實際行爲,就是開源.net內核和支持跨平臺包括linux、mac等的編譯 部署和支持,能夠說.NET Core是其基礎的跨平臺.net庫內核,同時也是基礎的運行環境運行庫。

.NET Core 是一個開源的、跨平臺的 .NET 實現。而 .NET Framework 是基於 Windows 的 .NET 實現,Mono 是 .NET Framework 的一個開源、跨平臺的實現。

.NET Core 分爲兩大塊:1).NET Core Framework,2).NET Core Runtime。

.NET Core Framework 的開源代碼庫託管在 GitHub 上,網址是 https://github.com/dotnet/corefx

.NET Core Runtime 即 Core CLR,包含Core JIT Compiler與Core GC(Garbage Collector),目前開源代碼還未發佈。

【進一步理解】

.NET Core 是新一代 .NET 的基石。

將來,.NET Framework 將是基於 Windows 的一個 .NET Core 發行版,Mono 將是一個跨平臺的 .NET Core 發行版。

3九、強事務即數據庫事務操做符合ACID特性

事務(Transaction)是訪問並可能更新數據庫中各類數據項的一個程序執行單元(unit)。事務一般由高級數據庫操縱語言或編程語言(如SQL,C++或Java)書寫的用戶程序的執行所引發,並用形如begin transactionend transaction語句(或函數調用)來界定。事務由事務開始(begin transaction)和事務結束(end transaction)之間執行的全體操做組成。

例如:在 關係數據庫中,一個事務能夠是一條SQL語句,一組SQL語句或整個程序。
特性
事務是恢復和 併發控制的基本單位。
事務應該具備4個屬性:原子性、一致性、隔離性、持久性。這四個屬性一般稱爲 ACID特性
原子性(atomicity)。一個事務是一個不可分割的工做單位,事務中包括的諸操做要麼都作,要麼都不作。
一致性(consistency)。事務必須是使 數據庫從一個一致性狀態變到另外一個一致性狀態。一致性與原子性是密切相關的。
隔離性(isolation)。一個事務的執行不能被其餘事務干擾。即一個事務內部的操做及使用的數據對併發的其餘事務是隔離的,併發執行的各個事務之間不能互相干擾。
持久性(durability)。持久性也稱永久性(permanence),指一個事務一旦提交,它對 數據庫中數據的改變就應該是永久性的。接下來的其餘操做或故障不該該對其有任何影響。
通常來講只有傳統sql數據庫才支持強事務。
40、集羣

集羣通訊系統是一種用於集團調度指揮通訊的移動通訊系統,主要應用在專業移動通訊領域。該系統具備的可用信道可爲系統的全體用戶共用,具備自動選擇信道功能,它是共享資源、分擔費用、共用信道設備及服務的多用途、高效能的無線調度通訊系統。

4一、死鎖、事務死鎖、數據庫死鎖

所謂死鎖: 是指兩個或兩個以上的進程在執行過程當中,因爲競爭資源或者因爲彼此通訊而形成的一種阻塞的現象,若無外力做用,它們都將沒法推動下去。此時稱系統處於死鎖狀態或系統產生了死鎖,這些永遠在互相等待的進程稱爲死鎖進程。

事務死鎖、數據庫死鎖:若是須要「修改」一條數據,首先數據庫管理系統會在上面加鎖,以保證在同一時間只有一個事務能進行修改操做。鎖定(Locking)發生在當一個事務得到對某一資源的「鎖」時,這時,其餘的事務就不能更改這個資源了,這種機制的存在是爲了保證數據一致性

4二、http反向代理

通常狀況下,若是沒有特別說明,代理技術默認說的是正向代理技術。關於正向代理的概念以下: 正 向代理(forward)是一個位於客戶端【用戶A】和原始服務器(origin server)【服務器B】之間的服務器【代理服務器Z】,爲了從原始服務器取得內容,用戶A向代理服務器Z發送一個請求並指定目標(服務器B),而後代 理服務器Z向服務器B轉交請求並將得到的內容返回給客戶端。客戶端必需要進行一些特別的設置才能使用正向代理。

反向代理正好與正向代理相反,對於客戶端而言代理服務器就像是原始服務器,而且客戶端不須要進行任何特別的設置。客戶端向反向代理的命名空間(name-space)中的內容發送普通請求,接着反向代理將判斷向何處(原始服務器)轉交請求,並將得到的內容返回給客戶端。

圖解正向代理、反向代理、透明代理

http://bbs.51cto.com/thread-967852-1.html

4三、cdn

CDN的全稱是Content Delivery Network,即內容分發網絡。其基本思路是儘量避開互聯網上有可能影響數據傳輸速度和穩定性的瓶頸和環節,使內容傳輸的更快、更穩定。經過在網絡各處放置節點服務器所構成的在現有的互聯網基礎之上的一層智能虛擬網絡,CDN系統可以實時地根據網絡流量和各節點的鏈接、負載情況以及到用戶的距離和響應時間等綜合信息將用戶的請求從新導向離用戶最近的服務節點上。其目的是使用戶可就近取得所需內容,解決 Internet網絡擁擠的情況,提升用戶訪問網站的響應速度。

4四、負載均衡

負載均衡 創建在現有網絡結構之上,它提供了一種廉價有效透明的方法擴展 網絡設備服務器的帶寬、增長 吞吐量、增強網絡數據處理能力、提升網絡的靈活性和可用性。
負載均衡,英文名稱爲Load Balance,其意思就是分攤到多個操做單元上進行執行,例如Web 服務器FTP服務器企業關鍵應用服務器和其它關鍵任務服務器等,從而共同完成工做任務。

4五、雲服務器

雲服務器(Elastic Compute Service, 簡稱ECS)是一種處理能力可彈性伸縮計算服務,其管理方式比物理服務器更簡單高效。雲服務器幫助您快速構建更穩定、安全的應用,下降開發運維的難度和總體IT成本,使您可以更專一於核心業務的創新。

實際上更多意義上 是vps,

VPS(Virtual Private Server 虛擬專用服務器)技術,將一部 服務器分割成多個虛擬專享服務器的優質服務。實現VPS的技術分爲容器 [1]  技術,和虛擬化技術 [2]  。 在容器或虛擬機中,每一個VPS均可分配獨立公網IP地址、獨立操做系統、實現不一樣VPS間磁盤空間、內存、CPU資源、進程和系統配置的隔離,爲用戶和應 用程序模擬出「獨佔」使用計算資源的體驗。VPS能夠像獨立服務器同樣,重裝操做系統,安裝程序,單獨重啓服務器。VPS爲使用者提供了管理配置的自由, 可用於企業虛擬化,也能夠用於IDC資源租用。
IDC 資源租用,由VPS提供商提供。不一樣VPS提供商 所使用的硬件VPS軟件的差別,及銷售策略的不一樣,VPS的使用體驗也有較大差別。尤爲是VPS提供商超賣,致使實體服務器超負荷時,VPS性能將受到極 大影響。相對來講,容器技術比虛擬機技術硬件使用效率更高,更易於超賣,因此通常來講容器VPS的價格都高於虛擬機VPS的價格。
這些VPS 主機以最大化的效率共享 硬件軟件許可證以及管理資源.。每一個VPS 主機均可分配獨立公網IP地址、獨立操做系統、獨立超大空間、獨立內存、獨立 CPU資源、獨立執行程序和獨立系統配置等. VPS主機用戶除了能夠分配多個虛擬主機及無限企業郵箱外, 更具備獨立主機功能, 可自行安裝程序, 單獨重啓主機.
好比國內有阿里雲、騰訊雲、小衆一點的就更多了好比景安vps等等。

4六、應用程序服務器

應用服務器是指經過各類協議把商業邏輯曝露給客戶端的程序。它提供了訪問商業邏輯的途徑以供客戶端應用程序使用。應用服務器使用此商業邏輯就像調用對象的一個方法同樣。 簡單的說能實現動態網頁技術服務器叫作web應用服務器。

本文中提到的asp.net容器,其實就是asp.net的運行環境的意思,通常windows下是iis、linux下的就多樣了。

4七、正向http server 引伸詞彙 正向代理、、透明代理

通常狀況下,若是沒有特別說明,代理技術默認說的是正向代理技術。關於正向代理的概念以下: 正 向代理(forward)是一個位於客戶端【用戶A】和原始服務器(origin server)【服務器B】之間的服務器【代理服務器Z】,爲了從原始服務器取得內容,用戶A向代理服務器Z發送一個請求並指定目標(服務器B),而後代 理服務器Z向服務器B轉交請求並將得到的內容返回給客戶端。客戶端必需要進行一些特別的設置才能使用正向代理。

 若是把正向代理、反向代理和透明代理按照人類血緣關係來劃分的話。那麼正向代理和透明代理是很明顯堂親關係,而正向代理和反向代理就是表親關係了
   透明代理的意思是客戶端根本不須要知道有代理服務器的存在,它改編你的request fields(報文),並會傳送真實IP。注意,加密的透明代理則是屬於匿名代理,意思是不用設置使用代理了。透明代理實踐的例子就是時下不少公司使用的行爲管理軟件。

圖解正向代理、反向代理、透明代理

http://bbs.51cto.com/thread-967852-1.html

4八、asp.net容器

本文中提到的asp.net容器,其實就是asp.net的運行環境的意思,通常windows下是iis、linux下的就多樣了。

4九、 消息隊列服務器

「消息隊列」是在消息的傳輸過程當中保存消息的容器。

「消息」是在兩臺計算機間傳送的數據單位。消息能夠很是簡單,例如只包含文本字符串;也能夠更復雜,可能包含 嵌入對象
消息被髮送到隊列中。「消息隊列」是在消息的傳輸過程當中保存消息的容器。消息隊列管理器在將消息從它的源中繼到它的目標時充當中間人。隊列的主要目的是提供路由並保證消息的傳遞;若是發送消息時接收者不可用,消息隊列會保留消息,直到能夠成功地傳遞它。
有大量開源的消息隊列服務器方案。

50、    搜索引擎服務器

搜索引擎其實就是和谷歌雅虎百度同樣的技術,通常就是指全文搜索引擎組件、實例好比Sphinx,HubbleDotNet,Lucene

Sphinx是一個基於SQL的 全文檢索引擎,能夠結合MySQL,PostgreSQL作 全文搜索,它能夠提供比數據庫自己更專業的搜索功能,使得 應用程序更容易實現專業化的全文檢索。Sphinx特別爲一些 腳本語言設計搜索API接口,如PHP,Python,Perl,Ruby等,同時爲MySQL也設計了一個 存儲引擎 插件
Sphinx 單一索引最大可包含1億條記錄,在1千萬條記錄狀況下的查詢速度爲0.x秒(毫秒級)。Sphinx創 建索引的速度爲:建立100萬條記錄的索引只需 3~4分鐘,建立1000萬條記錄的索引能夠在50分鐘內完成,而只包含最新10萬條記錄的增量索引,重建一次只需幾十秒。
也有徹底模仿谷歌引擎的Lucene系列,包括java版本和。net版本,
Lucene.net是 Lucene的.net移植版本,是一個開源的全文檢索引擎開發包,即它不是一個完整的全文檢索引擎,而是一個全文檢索引擎的架構,提供了完整的查詢引擎和索引引擎。開發人員能夠基於Lucene.net實現全文檢索的功能。
Lucene.net是 Apache軟件基金會贊助的開源項目,基於Apache License協議。
Lucene.net 並非一個爬行搜索引擎,也不會自動地索引內容。咱們得先將要索引的文檔中的文本抽取出來,然 後再將其加到Lucene.net索引中。標準的步驟是先初始化一個Analyzer、打開一個IndexWriter、而後再將文檔一個接一個地加進 去。一旦完成這些步驟,索引就能夠在關閉前獲得優化,同時所作的改變也會生效。這個過程可能比開發者習慣的方式更加手工化一些,但卻在數據的索引上給予你 更多的靈活性,並且其效率也很高。
HubbleDotNet 是一個基於.net framework 的開源免費的全文搜索數據庫組件。開源協議是 Apache 2.0。HubbleDotNet提供了基於SQL的全文檢索接口,使用者只需會操做SQL,就能夠很快學會使用HubbleDotNet進行全文檢索。 HubbleDotNet能夠實現全文索引和查詢、多域檢索和排序、分組統計、消重、分類、聚類、多表關聯查詢等等一系列全文檢索和數據挖掘功能。 HubbleDotNet提供開放的數據庫適配器接口,能夠和各類數據庫完美整合,爲各類數據庫系統附加全文檢索和數據挖掘功能。 HubbleDotNet設計了較爲完善的併發控制程序,數據的增刪改查能夠多線程同時併發進行,沒有任何衝突。HubbleDotNet還進行了緩存和 內存管理設計,能夠幫助用戶最大限度的提升查詢的效率。HubbleDotNet力爭在將來的幾年內超過Lucene.net成爲.net開發環境中最受 歡迎的全文檢索組件。

5一、nosql、內存數據庫、硬盤讀寫引擎、Leveldb、RocksDB

NoSQL,泛指非關係型的數據庫。隨着互聯網web2.0網站的興起,傳統的關係數據庫在應付web2.0網站,特別是超大規模和高併發的SNS類型的web2.0純動態網站已經顯得力不從心,暴露了不少難以克服的問題,而非關係型的數據庫則因爲其自己的特色獲得了很是迅速的發展。NoSQL數據庫的產生就是爲了解決大規模數據集合多重數據種類帶來的挑戰,尤爲是大數據應用難題。

內存數據庫,顧名思義就是將數據放在內存中直接操做的數據庫。相對於磁盤,內存的數據讀寫速度要高出幾個數量級,將數據保存在內存中相比從磁盤上訪問可以極大地提升應用的性能。固然成本就是巨大的內存和其成本價格。

硬 盤讀寫引擎、Leveldb、RocksDB,隨着nosql 內存數據庫的涌現,隨着時間推移,內存數據庫的受限於內存容量的存儲空間,和傳統硬盤數據庫的性能收到壓力和挑戰,以谷歌和facebook這樣的大型公 司就前後推出了各自的硬盤nosql kv讀寫庫,即我說的硬盤讀寫引擎,他們並不是直接的數據庫,而都是一個c c++可調用的引擎性質庫,根據這些引擎有很多開源硬盤數據庫項目涌現而出,國內就有主要使用leveldb引擎的ssdb和默認使用RocksDB的 Ardb,前者有大量的使用案例,包括百度、360、jd這類大公司,後者也在開源主頁上拿出了本身實施部署的實測案例數據。

5二、文件服務器

文件服務器是一種器件,它的功能就是向服務器提供文件。它增強了存儲器的功能,簡化了網絡數據的管理。它一則改善了系統的性能,提升了數據的可用性,二則減小了管理的複雜程度,下降了運營費用

文件服務器(fs服務器),具備 分時系統文件管理的所有功能,提供網絡用戶訪問文件、目錄的 併發控制和安全保密措施的 局域網(LAN)服務器。
計算機局域網中,以文件數據共享爲目標,須要將供多臺計算機共享的文件存放於一臺計算機中。這臺 計算機就被稱爲文件服務器。
文件服務器具備 分時系統管理的所有功能,可以對全網統一管理,可以提供網絡用戶訪問文件、目錄的併發控制和安全保密措施。
「文件服務器「英文是File server語境【文件系統】
一臺特殊功能的 計算機,其主要目的是向客戶機提供文件服務。文件服務器能夠是一臺可以運行其餘應用的 通用計算機,也能夠是一臺專門提供文件服務的 專用計算機

5三、NFS

NFS(Network File System)即網絡文件系統,是FreeBSD支持的文件系統中的一種,它容許網絡中的計算機之間經過TCP/IP網絡共享資源。在NFS的應用中,本地NFS的客戶端應用能夠透明地讀寫位於遠端NFS服務器上的文件,就像訪問本地文件同樣。

5四、samba

Samba是在Linux和UNIX系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成。SMB(Server Messages Block,信息服務塊)是一種在局域網上共享文件和打印機的一種通訊協議,它爲局域網內的不一樣計算機之間提供文件及打印機等資源的共享服務。SMB協議是客戶機/服務器型協議,客戶機經過該協議能夠訪問服務器上的共享文件系統、打印機及其餘資源。經過設置「NetBIOS over TCP/IP」使得Samba不但能與局域網絡主機分享資源,還能與全世界的電腦分享資源。

5五、FastDFS

FastDFS是一個開源的輕量級分佈式文件系統,它對文件進行管理,功能包括:文件存儲、文件同步、文件訪問(文件上傳、文件下載)等,解決了大容量存儲和負載均衡的問題。特別適合以文件爲載體的在線服務,如相冊網站、視頻網站等等。

5六、分佈式 分佈式數據庫

什麼是分佈式計算?所謂分佈式計算是一門計算機科學,它研究如何把一個須要很是巨大的計算能力才能解決的問題分紅許多小的部分,而後把這些部分分配給許多計算機進行處理,最後把這些計算結果綜合起來獲得最終的結果。分佈式網絡存儲技術是將數據分散的存儲於多臺獨立的機器設備上。分佈式網絡存儲系統採用可擴展的系統結構,利用多臺存儲服務器分擔存儲負荷,利用位置服務器定位存儲信息,不但解決了傳統集中式存儲系統中單存儲服務器的瓶頸問題,還提升了系統的可靠性、可用性和擴展性。

分佈式數據庫系統一般使用較小的計算機系統,每臺計算機可單獨放在一個地方,每臺計算機中均可能有DBMS的一份完整拷貝副本,或者部分拷貝副本,並具備本身局部的數據庫,位於不一樣地點的許多計算機經過網絡互相鏈接,共同組成一個完整的、全局的邏輯上集中、物理上分佈的大型數據庫。

5七、Cobar

  Cobar是關係型數據的分佈式處理系統,它能夠在分佈式的環境下看上去像傳統數據庫同樣爲您提供海量數據服務。

  • 產品在阿里巴巴B2B公司已經穩定運行了3年以上。
  • 目前已經接管了3000+個MySQL數據庫的schema,爲應用提供數據服務。
  • 據最近統計cobar集羣目前平均天天處理近50億次的SQL執行請求。
  • MyCat就是基於Cobar。

5八、大數據

大數據(big data,mega data),或稱巨量資料,指的是須要新處理模式才能具備更強的決策力、洞察力和流程優化能力的海量、高增加率和多樣化的信息資產。 [1]  

在維克托·邁爾-舍恩伯格及肯尼斯·庫克耶編寫的《大數據時代》[2] 中大數據指不用隨機分析法(抽樣調查)這樣的捷徑,而採用全部數據進行分析處理。大數據的4V特色:Volume(大量)、Velocity(高速)、Variety(多樣)、Value(價值)。

大數據的主要表明技術就是以Hadoop架構爲基礎的龐大技術產品和體系。

5九、hadoop

Hadoop是一個由Apache基金會所開發的 分佈式系統基礎架構。
用戶能夠在不瞭解分佈式底層細節的狀況下,開發分佈式程序。充分利用集羣的威力進行高速運算和存儲。
[1]  Hadoop實現了一個 分佈式文件系統(Hadoop Distributed File System),簡稱HDFS。HDFS有高 容錯性的特色,而且設計用來部署在低廉的(low-cost)硬件上;並且它提供高吞吐量(high throughput)來訪問 應用程序的數據,適合那些有着超大數據集(large data set)的應用程序。HDFS放寬了(relax)POSIX的要求,能夠以流的形式訪問(streaming access)文件系統中的數據。

Hadoop的框架最核心的設計就是:HDFS和MapReduce。HDFS爲海量的數據提供了存儲,則MapReduce爲海量的數據提供了計算。

60、文檔型數據庫 MongoDB

從1989年起,Lotus經過其羣件產品Notes提出了數據庫技術的全新概念-"文檔數據庫",文檔數據庫區別於傳統的其它數據庫,它是用來管理文檔。在傳統的數據庫中,信息被分割成離散的數據段,而在文檔數據庫中,文檔是處理信息的基本單位。一文檔能夠很長、很複雜、能夠無結構,與字處理文檔相似。一個文檔至關於關係數據庫中的一條記錄。

Mongo DB 是目前在IT行 業很是流行的一種非關係型數據庫(NoSql),其靈活的數據存儲方式備受當前IT從業人員的青睞。Mongo DB很好的實現了面向對象的思想(OO思想),在Mongo DB中 每一條記錄都是一個Document對象。Mongo DB最大的優點在於全部的數據持久操做都無需開發人員手動編寫SQL語句,直接調用方法就能夠輕鬆的實現CRUD操做。

相關文章
相關標籤/搜索