摘要:隨著服務(wù)器轉(zhuǎn)移到云端,比如亞馬遜或谷歌的數(shù)據(jù)中心的亞馬遜或谷歌的計(jì)算機(jī),靠近這些地方的網(wǎng)絡(luò)需要有令人難以置信的吞吐量來(lái)處理所有這些數(shù)據(jù)。已經(jīng)有一些協(xié)議使用這些技術(shù)來(lái)構(gòu)建符合我們需求的分布式存儲(chǔ)。
云將會(huì)走向終結(jié)。我知道,這是一個(gè)大膽的結(jié)論,也許聽(tīng)起來(lái)有點(diǎn)瘋狂。但請(qǐng)容忍我,讓我說(shuō)下去。
一直以來(lái),都有這樣的一個(gè)傳統(tǒng)觀點(diǎn):運(yùn)行服務(wù)器的應(yīng)用程序,無(wú)論是Web應(yīng)用還是移動(dòng)應(yīng)用的后臺(tái),未來(lái)都會(huì)在云端。亞馬遜、谷歌和微軟在他們的云服務(wù)中添加了多種工具,讓在其中運(yùn)行的軟件服務(wù)變得越來(lái)越簡(jiǎn)單方便,因此,在AWS、GCP或Azure上托管代碼是你能到的較好的事情——它方便、便宜、容易實(shí)現(xiàn)自動(dòng)化,你可以靈活地控制規(guī)模……
那么,為什么我要預(yù)測(cè)這一切都會(huì)結(jié)束呢?有這么幾個(gè)原因:
第一,它無(wú)法滿足長(zhǎng)期的擴(kuò)展要求。
構(gòu)建一個(gè)可擴(kuò)展、可靠、高可用性的web應(yīng)用程序,即使是在云中,也是相當(dāng)困難的。如果你做得不錯(cuò),讓你的應(yīng)用獲得了巨大成功,那么龐大的規(guī)模將會(huì)耗盡你的金錢和精力。即使你的業(yè)務(wù)非常成功,你最終也會(huì)達(dá)到云計(jì)算的極限:計(jì)算機(jī)的計(jì)算速度和存儲(chǔ)容量的增長(zhǎng)速度超過(guò)了網(wǎng)絡(luò)的帶寬。
忽略網(wǎng)絡(luò)中立的爭(zhēng)論,這對(duì)大多數(shù)人來(lái)說(shuō)可能不是問(wèn)題(除了Netflix和亞馬遜),但很快就會(huì)出現(xiàn)這個(gè)狀況。隨著我們的視頻質(zhì)量從HD到4K到8K,我們正在所需要的數(shù)據(jù)量正在大幅增長(zhǎng),而且,很快就會(huì)出現(xiàn)VR數(shù)據(jù)集。
這之所以是一個(gè)問(wèn)題,主要是因?yàn)槲覀兘M織網(wǎng)絡(luò)的方式。有許多用戶想要獲得內(nèi)容和使用程序,而只有相對(duì)較少的服務(wù)器擁有這些程序和內(nèi)容。比如,當(dāng)我在Slack上看到一張搞笑的照片時(shí),想向坐在我身邊的20個(gè)人分享,但他們都必須從托管服務(wù)的服務(wù)器上下載,服務(wù)器需要發(fā)送20次這個(gè)照片。
隨著服務(wù)器轉(zhuǎn)移到云端,比如亞馬遜或谷歌的數(shù)據(jù)中心的亞馬遜或谷歌的計(jì)算機(jī),靠近這些地方的網(wǎng)絡(luò)需要有令人難以置信的吞吐量來(lái)處理所有這些數(shù)據(jù)。此外,還必須有大量的硬盤(pán)來(lái)存儲(chǔ)每個(gè)人和CPU數(shù)據(jù),然后通過(guò)網(wǎng)絡(luò)將數(shù)據(jù)傳輸給每一個(gè)想要的人。隨著流媒體服務(wù)的興起,情況變得更糟。
所有這些活動(dòng)都需要大量的能量和冷卻,使整個(gè)系統(tǒng)效率低下、價(jià)格昂貴,對(duì)環(huán)境也不利。
第二,它是集中而脆弱的。
集中存儲(chǔ)我們的數(shù)據(jù)和程序的另一個(gè)問(wèn)題是可用性和持久性。如果亞馬遜的數(shù)據(jù)中心被一顆小行星撞了,或者被龍卷風(fēng)摧毀了怎么辦?或者,如果它在一段時(shí)間內(nèi)停電了,那又會(huì)怎樣呢?存儲(chǔ)在其機(jī)器上的數(shù)據(jù)現(xiàn)在不能暫停訪問(wèn),甚至不能永久丟失。
我們通常通過(guò)將數(shù)據(jù)存儲(chǔ)在多個(gè)位置來(lái)緩解這個(gè)問(wèn)題,但這只意味著更多的數(shù)據(jù)中心。這可能會(huì)大大降低意外損失的風(fēng)險(xiǎn),但你非常非常關(guān)心的數(shù)據(jù)又該怎么辦呢?你的婚禮視頻,你孩子成長(zhǎng)的照片,或者重要的公共信息來(lái)源,比如維基百科。所有這些信息現(xiàn)在都存儲(chǔ)在云端——在Facebook、Google Drive、iCloud或Dropbox等網(wǎng)站上。當(dāng)這些服務(wù)停止運(yùn)營(yíng)或失去資金時(shí),數(shù)據(jù)會(huì)發(fā)生什么變化?即使它們不會(huì)發(fā)展到這一步,但也限制了你訪問(wèn)自己數(shù)據(jù)的方式,你必須去使用它們的服務(wù),當(dāng)你和朋友們分享的時(shí)候,他們也必須通過(guò)這項(xiàng)服務(wù)。
第三,它需要信任,但沒(méi)法提供保障。
使用云服務(wù),你要讓朋友相信,他們得到的數(shù)據(jù)是你發(fā)送的,而且這個(gè)數(shù)據(jù)是通過(guò)值得信任的中間人傳遞過(guò)來(lái)的。在大多數(shù)情況下,這都能夠良性運(yùn)轉(zhuǎn),也可以接受,但我們使用的網(wǎng)站和網(wǎng)絡(luò)必須要注冊(cè)才能合法運(yùn)營(yíng),監(jiān)管部門(mén)有權(quán)力強(qiáng)迫它們做很多事情。在大多數(shù)情況下,這是一件好事,可以用來(lái)幫助解決犯罪或從網(wǎng)絡(luò)上刪除非法內(nèi)容,但也有很多情況下,這種權(quán)力被濫用。
就在幾周前,西班牙政府竭盡所能阻止加泰羅尼亞地區(qū)的獨(dú)立公投,其中采取的措施就包括封鎖信息網(wǎng)站,告訴人們?cè)撊ツ睦锿镀薄?/p>
第四,它讓我們的數(shù)據(jù)更容易遭受攻擊。
高度集中的互聯(lián)網(wǎng)真正可怕的一面是個(gè)人數(shù)據(jù)的集中化。那些為我們提供服務(wù)的大公司都有大量的數(shù)據(jù)——這些數(shù)據(jù)包含了足夠的信息,可以預(yù)測(cè)你將要購(gòu)買什么,你會(huì)投票給誰(shuí),你可能會(huì)買房子,甚至你可能會(huì)有多少孩子。這些信息足以用你的名義去辦理一張信用卡、一筆貸款,甚至是用你的名字買一所房子。
而且,你也可能會(huì)同意。畢竟,你選擇了它們的服務(wù),你就只能信任它們。但這不是你需要擔(dān)心的。你需要擔(dān)心的是其他人。今年早些時(shí)候,信用報(bào)告機(jī)構(gòu)Equifax丟失了1.4億名客戶的數(shù)據(jù),這是歷史上較大的數(shù)據(jù)泄露事件之一。這些數(shù)據(jù)現(xiàn)在已經(jīng)公開(kāi)。我們可以把這看作是一個(gè)十年一次的事件,如果我們更加小心的話,這種情況本可以避免,但越來(lái)越明顯的是,像這樣的數(shù)據(jù)泄露很難完全避免。而且一旦出現(xiàn)就過(guò)于危險(xiǎn),無(wú)法容忍。真正阻止這類事件再發(fā)生的辦法是,一開(kāi)始就不收集這么大規(guī)模的數(shù)據(jù)。
那么,什么將取代云呢?
主要由客戶端-服務(wù)器協(xié)議(如HTTP)支持的互聯(lián)網(wǎng)和基于對(duì)中央機(jī)構(gòu)(如TLS)的信任的安全性是有缺陷的,并且會(huì)導(dǎo)致一些基本上難以解決或無(wú)法解決的問(wèn)題。現(xiàn)在是時(shí)候去尋找更好的東西了——一個(gè)沒(méi)有其他人能完全存儲(chǔ)你的個(gè)人數(shù)據(jù)、大媒體文件遍布整個(gè)網(wǎng)絡(luò)的模型框架、整個(gè)系統(tǒng)完全是點(diǎn)對(duì)點(diǎn)和無(wú)服務(wù)器的(我不是指那種云托管意義上的“無(wú)服務(wù)器”,我的意思是真正的沒(méi)有服務(wù)器)。
在這個(gè)領(lǐng)域,我已經(jīng)閱讀了大量的文獻(xiàn),并且已經(jīng)非常確信點(diǎn)對(duì)點(diǎn)是我們未來(lái)不可避免的發(fā)展方向。點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)技術(shù)是用協(xié)議和策略來(lái)取代我們所知道的網(wǎng)絡(luò)的構(gòu)建模塊,解決我上面提到的大部分問(wèn)題。目標(biāo)是完全分布式的,永久冗余的數(shù)據(jù)存儲(chǔ),每個(gè)參與網(wǎng)絡(luò)的用戶都在存儲(chǔ)其中一些可用數(shù)據(jù)的副本。
如果你聽(tīng)說(shuō)過(guò)BitTorrent(比特流),那么下面這些內(nèi)容聽(tīng)起來(lái)應(yīng)該會(huì)很熟悉。在BitTorrent上,網(wǎng)絡(luò)用戶不需要任何中央機(jī)構(gòu)授權(quán)就可以將大數(shù)據(jù)文件分成更小的塊或片段(每個(gè)塊都有一個(gè)的ID)。要下載一個(gè)文件,你只需要一個(gè)“神奇”數(shù)字,也就是一個(gè)哈希(hash),即內(nèi)容的指紋就行了。然后,你的BitTorrent客戶端將會(huì)按照“內(nèi)容指紋”找到那些擁有文件片段的用戶,并從他們那里把一個(gè)個(gè)文件片段下載下來(lái),直到你擁有所有的片段。
一個(gè)有趣的點(diǎn)是如何去匹配用戶。BitTorrent使用了一種名為Kademlia的協(xié)議。在Kademlia,網(wǎng)絡(luò)上的每個(gè)對(duì)等點(diǎn)都有一個(gè)的ID號(hào),其長(zhǎng)度與的塊ID相同。它會(huì)將一個(gè)帶有特定ID的塊存儲(chǔ)在一個(gè)節(jié)點(diǎn)上,該節(jié)點(diǎn)的ID與該塊的ID“最接近”。塊和網(wǎng)絡(luò)對(duì)等點(diǎn)的隨機(jī)ID,在整個(gè)網(wǎng)絡(luò)中存儲(chǔ)的分布應(yīng)該是相當(dāng)一致的。不過(guò),塊ID并不需要隨機(jī)選擇,而是使用一種加密散列——這是塊本身內(nèi)容的指紋,這是有好處的。保證這些塊是可尋址的。這也使得驗(yàn)證塊的內(nèi)容更加容易(通過(guò)重新計(jì)算和比較指紋),并能夠保證用戶不可能下載原始的數(shù)據(jù)之外的其他數(shù)據(jù)。
另一個(gè)有趣的特性是,通過(guò)將一個(gè)塊的ID嵌入到另一個(gè)塊的內(nèi)容中,你可以將二者以一種不會(huì)被篡改的方式連接在一起。如果鏈接塊的內(nèi)容發(fā)生變化,它的ID將會(huì)改變,鏈接也會(huì)被破壞。如果修改了嵌入式鏈接,那么包含塊的ID也會(huì)隨之改變。
這種將一個(gè)區(qū)塊的ID嵌入到另一個(gè)區(qū)塊的機(jī)制,使得創(chuàng)建這樣的區(qū)塊鏈成為可能(比如為比特幣和其他加密貨幣驅(qū)動(dòng)的區(qū)塊鏈),甚至是更復(fù)雜的結(jié)構(gòu),通常被稱為有向無(wú)環(huán)圖(Directed Acyclic Graphs),簡(jiǎn)稱DAG。(在Ralph Merkle發(fā)明了這種鏈接之后,通常被稱為“Merkle鏈接”。所以,如果你聽(tīng)到有人在談?wù)揗erkel DAGs時(shí),你大概能知道他們?cè)谡f(shuō)什么。)Merkle DAG的一個(gè)常見(jiàn)例子就是Git存儲(chǔ)庫(kù)。Git將提交歷史和所有目錄和文件都保存在一個(gè)巨大的Merkle DAG中。
這就導(dǎo)致了基于內(nèi)容尋址的分布式存儲(chǔ)的另一個(gè)有趣特性:它是不可變的。內(nèi)容無(wú)法改變。取而代之的是,新的修訂被存儲(chǔ)在現(xiàn)有的修訂版本旁邊。在兩次修訂之間沒(méi)有變更的塊會(huì)被重用,因?yàn)楦鶕?jù)定義,它們具有相同的ID。這也意味著相同的文件不能在這樣的存儲(chǔ)系統(tǒng)中復(fù)制,轉(zhuǎn)化為高效的存儲(chǔ)。所以在這個(gè)新網(wǎng)絡(luò)上,每一張獨(dú)一無(wú)二的搞笑圖片都只存在一次(盡管在整個(gè)群體中有多個(gè)副本)。
像Kademlia,Merkle鏈和Merkle DAG這樣的協(xié)議,給我們提供了建模文件層次和修訂時(shí)間線的工具,并在一個(gè)大型的P2P網(wǎng)絡(luò)中分享它們。已經(jīng)有一些協(xié)議使用這些技術(shù)來(lái)構(gòu)建符合我們需求的分布式存儲(chǔ)??雌饋?lái)很有希望的是IPFS。
名稱和共享問(wèn)題
好了,通過(guò)以上這些技術(shù),我們可以解決我在開(kāi)始時(shí)提出的一些問(wèn)題:我們?cè)谶B接到網(wǎng)絡(luò)的設(shè)備上得到分布式的、高度冗余的存儲(chǔ),這些設(shè)備可以記錄文件的歷史,并在需要的時(shí)候保留所有版本。這(幾乎)解決了可用性、容量、持久性和內(nèi)容驗(yàn)證問(wèn)題。它還解決了帶寬問(wèn)題——因?yàn)槎际鞘褂命c(diǎn)對(duì)點(diǎn)傳輸數(shù)據(jù),因此不會(huì)出現(xiàn)服務(wù)器承受不了的情況。
我們還需要一個(gè)可擴(kuò)展的計(jì)算資源,但這并不難:現(xiàn)在每個(gè)人的筆記本電腦和手機(jī)都比大多數(shù)應(yīng)用程序所需要的功能更強(qiáng)大(包括相當(dāng)復(fù)雜的機(jī)器學(xué)習(xí)計(jì)算),而且計(jì)算通常都是可伸縮的。因此,只要我們能讓每一臺(tái)設(shè)備都為用戶做必要的工作,就不會(huì)出現(xiàn)大問(wèn)題。
所以現(xiàn)在我在Slack上看到的搞笑圖片可以來(lái)自坐在我旁邊的同事,而不是來(lái)自Slack的服務(wù)器(在這個(gè)過(guò)程中沒(méi)有跨越任何“海洋”)。不過(guò),為了發(fā)布一張搞笑照片,我需要更新一個(gè)通道(channel)(也就是說(shuō),通道將不再是我發(fā)消息之前的樣子了,它將會(huì)發(fā)生改變)。這個(gè)聽(tīng)起來(lái)相當(dāng)簡(jiǎn)單的事情卻是整個(gè)體系中最難的部分。
最困難的部分:實(shí)時(shí)更新
一個(gè)實(shí)體的概念會(huì)隨著時(shí)間的推移而改變,這實(shí)際上只是人類專屬的想法,讓世界在我們的頭腦中擁有秩序感和穩(wěn)定。我們還可以把這樣的實(shí)體看作是一個(gè)身份或名稱,隨著時(shí)間的推移,它會(huì)呈現(xiàn)出一系列不同的價(jià)值(這是靜態(tài)的,不可改變的)。(Rich Hickey在他的演講中解釋得很好,戳此觀看)。在電腦中模擬信息是一種更自然的方式,會(huì)產(chǎn)生更自然的結(jié)果。如果我告訴你一件事,我就再也不能改變我對(duì)你說(shuō)的話了,也沒(méi)辦法讓你忘卻。例如,美國(guó)總統(tǒng)是誰(shuí),不會(huì)隨時(shí)間而改變;只是會(huì)被同樣性質(zhì)(身份和名字)的其他事實(shí)(人)所取代。在Git的示例中,一個(gè)ref(分支或標(biāo)記)可以在不同的時(shí)間點(diǎn)指向(持有一個(gè)ID和一個(gè)值)不同的提交,并提交一個(gè)提交來(lái)替換當(dāng)前所持有的值。Slack通道也代表了一種身份,隨著時(shí)間的推移,它的價(jià)值也在不斷增長(zhǎng)。
真正的問(wèn)題是,我們并不是一個(gè)擁有通道的人。很多人試圖發(fā)布消息和改變通道,有時(shí)是同時(shí)進(jìn)行,需要有人來(lái)決定結(jié)果應(yīng)該是什么。
在中心化的系統(tǒng)中,當(dāng)前幾乎所有的web應(yīng)用程序,都有一個(gè)中央實(shí)體來(lái)決定這個(gè)結(jié)果,并對(duì)事件進(jìn)行序列化。然而,在一個(gè)分布式系統(tǒng)中,每個(gè)人都是平等的,因此需要有一種機(jī)制來(lái)確保網(wǎng)絡(luò)上能夠達(dá)成共識(shí)。
對(duì)于一個(gè)真正的分布式網(wǎng)絡(luò)來(lái)說(shuō),要想解決這個(gè)問(wèn)題,最困難的問(wèn)題就是我們今天正在使用的所有應(yīng)用。它不僅會(huì)影響并發(fā)更新,還會(huì)影響其他需要“實(shí)時(shí)”更新的更新——隨著時(shí)間的推移,“真相的單一來(lái)源”正在發(fā)生變化。這個(gè)問(wèn)題對(duì)于數(shù)據(jù)庫(kù)來(lái)說(shuō)尤其困難,它也會(huì)影響到其他關(guān)鍵服務(wù),比如DNS。以分散的方式為特定的塊ID或一系列ID注冊(cè)一個(gè)人的名字意味著每個(gè)參與者都需要同意一個(gè)現(xiàn)有的名稱有一個(gè)特定的含義,否則兩個(gè)不同的用戶就可以看到兩個(gè)不同的文件在同一個(gè)名稱下。基于內(nèi)容的尋址解決了機(jī)器的問(wèn)題(記住一個(gè)名字只能指向一個(gè)特定的匹配內(nèi)容),而不是人類的問(wèn)題。
在處理分布式的共識(shí)方面,有一些主要的策略。其中一個(gè)問(wèn)題是,選擇一個(gè)相對(duì)較小的“群體”經(jīng)理,他們的機(jī)制是選出一個(gè)決定真相的“領(lǐng)導(dǎo)者”(如果你感興趣的話,看看Paxos和Raft協(xié)議)。所有的變化都要經(jīng)過(guò)這些經(jīng)理。這實(shí)質(zhì)上是一個(gè)集中式的系統(tǒng),可以彌補(bǔ)網(wǎng)絡(luò)中的中央決策實(shí)體或中斷(“分區(qū)”)的丟失。
另一種方法是像比特幣區(qū)塊鏈這樣的基于驗(yàn)證的系統(tǒng),在這種系統(tǒng)中,通過(guò)讓用戶解決一個(gè)“難題”來(lái)編寫(xiě)一個(gè)更新(例如,在Merkle鏈中添加一個(gè)有效的區(qū)塊)來(lái)達(dá)成共識(shí)。這個(gè)“難題”很難解決,但很容易就能查到,如果沖突仍然存在,還需要一些額外的規(guī)則來(lái)解決。其他幾個(gè)分布式的區(qū)塊鏈?zhǔn)褂昧嘶隍?yàn)證的共識(shí),同時(shí)減少了解題所需的能源需求。如果你感興趣的話,你可以在BitFury這份白皮書(shū)中讀到的相關(guān)的證據(jù)。
針對(duì)具體問(wèn)題的另一種方法是圍繞著CRDT——無(wú)沖突的復(fù)制數(shù)據(jù)類型,這在特定情況下根本不會(huì)遭受共識(shí)問(wèn)題的困擾。最簡(jiǎn)單的例子是一個(gè)遞增的計(jì)數(shù)器。如果所有更新只是“添加一條”,只要我們確保每次更新只應(yīng)用一次,順序就不重要,結(jié)果將是相同的。
這個(gè)問(wèn)題似乎沒(méi)有一個(gè)明確的答案,可能永遠(yuǎn)也不會(huì)只有一個(gè)答案,但有很多聰明的人正在努力解決這個(gè)問(wèn)題,而且已經(jīng)有很多有趣的解決方案可供選擇。你只可以對(duì)其進(jìn)行權(quán)衡。這種取舍通常體現(xiàn)在你“瞄準(zhǔn)”的群體的規(guī)模上,并從你愿意讓渡的共識(shí)中挑選出的一種特性——可用性或一致性(或者,從技術(shù)上講,是網(wǎng)絡(luò)劃分,但在一個(gè)高度分布的系統(tǒng)中,這似乎很難避免,就像我們正在討論的系統(tǒng)一樣)。大多數(shù)應(yīng)用程序似乎都支持可用性而不是即時(shí)的一致性——只要狀態(tài)在合理的時(shí)間內(nèi)是一致的即可。
公共文件網(wǎng)絡(luò)中的隱私問(wèn)題
需要解決的一個(gè)明顯問(wèn)題是隱私問(wèn)題。即如何在不公開(kāi)的情況下將內(nèi)容存儲(chǔ)在分布式的集群中呢?如果它能夠隱藏東西,那么內(nèi)容地址存儲(chǔ)是一個(gè)不錯(cuò)的選擇,因?yàn)闉榱苏业侥硺訓(xùn)|西,你需要知道它的內(nèi)容的散列。所以本質(zhì)上我們有三個(gè)層次的隱私:公共的、隱藏的和私密的。對(duì)于第三個(gè)問(wèn)題的答案似乎是在密碼學(xué)中 - 對(duì)存儲(chǔ)的內(nèi)容進(jìn)行強(qiáng)加密并且要有“外在”的共享密鑰(比如用紙分享、NFC設(shè)備傳輸或者掃描二維碼等)。
依賴于加密技術(shù)一開(kāi)始可能聽(tīng)起來(lái)很冒險(xiǎn)(畢竟,黑客總是會(huì)發(fā)現(xiàn)漏洞),但實(shí)際上并沒(méi)有比我們今天做的更糟糕。事實(shí)上,這在實(shí)踐中有可能會(huì)更好。企業(yè)和政府通常以無(wú)法與公眾分享的方式存儲(chǔ)敏感數(shù)據(jù)(包括數(shù)據(jù)所涉及的個(gè)人)。相反,只有擁有這些數(shù)據(jù)的組織所雇用的數(shù)量不多的員工才能夠訪問(wèn),而且至少在密碼方面受到保護(hù)。通常情況下,如果你能訪問(wèn)存儲(chǔ)這些數(shù)據(jù)的系統(tǒng),你就可以擁有所有這些數(shù)據(jù)。
但是,如果我們轉(zhuǎn)而以一種本質(zhì)上是公開(kāi)的方式來(lái)存儲(chǔ)私人數(shù)據(jù),那么我們就不得不保護(hù)它(使用強(qiáng)大的加密技術(shù)),這樣對(duì)任何獲得訪問(wèn)權(quán)限的人來(lái)說(shuō)都是不好的。這個(gè)想法與安全相關(guān)軟件的開(kāi)發(fā)者開(kāi)源代碼的初衷是一樣的,這樣任何人都可以查看并發(fā)現(xiàn)問(wèn)題。知道安全系統(tǒng)是如何工作的,不應(yīng)該幫助你打破它。
這種對(duì)訪問(wèn)的控制一個(gè)有趣特性是,一旦你授予某人訪問(wèn)某些數(shù)據(jù)的權(quán)限,他們就會(huì)永遠(yuǎn)對(duì)數(shù)據(jù)進(jìn)行修改。當(dāng)然,你可以隨時(shí)更改加密密鑰。這也并不比我們今天的情況更糟,盡管它可能并不明顯:只要獲得一些數(shù)據(jù)的訪問(wèn)權(quán)限,任何人都可以復(fù)制它。
這一領(lǐng)域的有趣挑戰(zhàn)是,在一群需要隨時(shí)間推移而改變的人群中建立一個(gè)能夠驗(yàn)證身份并共享私有數(shù)據(jù)的良好系統(tǒng)。例如,在一個(gè)私有的Git存儲(chǔ)庫(kù)中有一組協(xié)作者。這可以通過(guò)一些私鑰密碼和旋轉(zhuǎn)密鑰的組合實(shí)現(xiàn),但讓用戶獲得流暢的體驗(yàn)可能是一項(xiàng)挑戰(zhàn)。
從云到霧
盡管要解決一些難題,我們從云計(jì)算中遷移出去,將會(huì)是一個(gè)非常令人興奮的未來(lái)。首先,在技術(shù)方面,我們應(yīng)該從點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)中獲得相當(dāng)多的改進(jìn)。內(nèi)容可尋址存儲(chǔ)可以在不受信任的授權(quán)情況下,提供對(duì)內(nèi)容本身的加密驗(yàn)證,并進(jìn)行永久的托管(只要有人對(duì)它感興趣),我們應(yīng)該能看到其速度的顯著提升,即使是在遠(yuǎn)離數(shù)據(jù)中心的發(fā)展中世界的邊緣(甚至是在另一個(gè)星球上)。
在某個(gè)時(shí)候,甚至連數(shù)據(jù)中心都可能成為歷史。消費(fèi)設(shè)備變得如此強(qiáng)大,無(wú)處不在,計(jì)算能力和存儲(chǔ)空間幾乎隨處可見(jiàn)。
對(duì)于運(yùn)行web應(yīng)用程序的企業(yè)來(lái)說(shuō),這一變化將會(huì)節(jié)省巨大的成本。企業(yè)也將能夠減少對(duì)宕機(jī)風(fēng)險(xiǎn)的關(guān)注,更多地關(guān)注增加客戶價(jià)值,讓所有人受益。我們?nèi)匀恍枰仆泄芊?wù)器,但它們只是眾多同類服務(wù)器中的一種。我們還可以看到更多樣化的應(yīng)用程序,在這些應(yīng)用程序中,并非所有的應(yīng)用程序都是一樣的——在同一個(gè)應(yīng)用程序中,有面向消費(fèi)者的和后臺(tái)的,而差別只是訪問(wèn)權(quán)限不同而已。
對(duì)企業(yè)和客戶來(lái)說(shuō),另一個(gè)巨大的好處是對(duì)客戶數(shù)據(jù)的處理。當(dāng)不再需要集中存儲(chǔ)大量的客戶信息時(shí),丟失這些數(shù)據(jù)的風(fēng)險(xiǎn)就會(huì)降低。軟件工程界的領(lǐng)導(dǎo)者們(如Erlang的創(chuàng)始人Joe Armstrong,他的談話很值得關(guān)注)長(zhǎng)期以來(lái)一直認(rèn)為,在互聯(lián)網(wǎng)上,客戶向企業(yè)的程序發(fā)送數(shù)據(jù)的設(shè)計(jì)是一種退化,企業(yè)應(yīng)該向客戶發(fā)送程序,以讓他們能夠執(zhí)行私人的數(shù)據(jù),而這些數(shù)據(jù)不會(huì)被直接共享。這樣的模式似乎更安全,并且也不會(huì)以任何方式阻止企業(yè)收集他們所需的有用的用戶指標(biāo)。
而且,當(dāng)前沒(méi)有什么方式能阻止混合的服務(wù)模式,這些服務(wù)不透明,并保留了私人數(shù)據(jù)。
這種類型的應(yīng)用程序架構(gòu)似乎是一種更自然的方式,來(lái)提供大規(guī)模計(jì)算和軟件服務(wù),而且也更接近于開(kāi)放信息交換的想法,任何人都可以方便地向他人轉(zhuǎn)發(fā)內(nèi)容,并控制可以發(fā)布和訪問(wèn)的內(nèi)容,而不是由擁有服務(wù)器的私有實(shí)體來(lái)控制。
對(duì)我來(lái)說(shuō),這是非常令人興奮的。這就是為什么我想要組建一個(gè)小團(tuán)隊(duì),在幾周內(nèi),用上面提到的一些技術(shù)來(lái)構(gòu)建一個(gè)簡(jiǎn)單的移動(dòng)應(yīng)用,來(lái)證明概念,并展示可以通過(guò)點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)來(lái)做些什么。目前我所擁有的一個(gè)足夠小的想法,能夠相對(duì)快速、足夠有趣,足以證明這種方法的特性是一個(gè)點(diǎn)對(duì)點(diǎn)的、真正無(wú)服務(wù)器的克隆版Twitter,但這并不特別令人興奮。
原文鏈接:https://venturebeat.com/2017/11/07/amazons-audible-launches-audiobooks-for-chinese-speakers-living-abroad/
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/3503.html
摘要:隨著服務(wù)器轉(zhuǎn)移到云端,比如亞馬遜或谷歌的數(shù)據(jù)中心的亞馬遜或谷歌的計(jì)算機(jī),靠近這些地方的網(wǎng)絡(luò)需要有令人難以置信的吞吐量來(lái)處理所有這些數(shù)據(jù)。已經(jīng)有一些協(xié)議使用這些技術(shù)來(lái)構(gòu)建符合我們需求的分布式存儲(chǔ)。 云將會(huì)走向終結(jié)。我知道,這是一個(gè)大膽的結(jié)論,也許聽(tīng)起來(lái)有點(diǎn)瘋狂。但請(qǐng)容忍我,讓我說(shuō)下去。一直以來(lái),都有這樣的一個(gè)傳統(tǒng)觀點(diǎn):運(yùn)行服務(wù)器的應(yīng)用程序,無(wú)論是Web應(yīng)用還是移動(dòng)應(yīng)用的后臺(tái),未來(lái)都會(huì)在云端。亞...
摘要:區(qū)塊鏈元年年,一個(gè)叫做中本聰?shù)纳衩刈骷野l(fā)表了一封名為的白皮書(shū),奠定了比特幣的基礎(chǔ),也完全改變了我們看待和理解貨幣的方式。 正如民謠像一杯酒,有故事的人聽(tīng)不得。深夜失眠的我,無(wú)意翻起中本聰?shù)陌灼?shū),就注定了無(wú)眠。今夜的我只醉心于技術(shù),別問(wèn)是真是假。 這是一篇關(guān)于區(qū)塊鏈基礎(chǔ)的筆記,涉及了我認(rèn)為對(duì)于初學(xué)者來(lái)說(shuō),想要進(jìn)一步深入前需要了解的最重要的幾個(gè)概念,概括如下圖:showImg(https...
摘要:邊緣計(jì)算保障大量的計(jì)算需要在離終端很近的區(qū)域完成計(jì)算,完成苛刻的低延時(shí)服務(wù)響應(yīng)。邊緣計(jì)算和云計(jì)算又有何區(qū)別呢實(shí)際上這兩者都是處理大數(shù)據(jù)的計(jì)算運(yùn)行方式。 云計(jì)算showImg(https://segmentfault.com/img/bVboEmR?w=600&h=404);一種利用互聯(lián)網(wǎng)實(shí)現(xiàn)隨時(shí)隨地、按需、便捷地使用共享計(jì)算設(shè)施、存儲(chǔ)設(shè)備、應(yīng)用程序等資源的計(jì)算模式。云計(jì)算系統(tǒng)由云平臺(tái)、...
摘要:行業(yè)專家對(duì)云計(jì)算互連的未來(lái)以及稱為互聯(lián)網(wǎng)設(shè)計(jì)的新興模式進(jìn)行了闡述。用戶獲得與云互連的私有直接高速連接,例如,并購(gòu)買以太網(wǎng)交叉連接到各種云計(jì)算服務(wù)提供商的云平臺(tái)中。每次添加數(shù)據(jù)中心時(shí),都必須為每個(gè)其他數(shù)據(jù)云計(jì)算中心添加額外連接數(shù)的平方。與運(yùn)行業(yè)務(wù)的應(yīng)用程序相關(guān)的安全漏洞或性能相關(guān)問(wèn)題無(wú)疑會(huì)影響到企業(yè)收入。例如,酒店預(yù)訂系統(tǒng)中的問(wèn)題將直接影響收入,而不是像Office 365這樣的文檔應(yīng)用程序。...
摘要:秘猿科技創(chuàng)始人等在做了很多次,當(dāng)時(shí)講了為什么我們需要許可鏈。所以,在年初,我們?cè)O(shè)計(jì)與開(kāi)發(fā)了企業(yè)級(jí)高性能區(qū)塊鏈內(nèi)核,并于年開(kāi)源。第一朵烏云,是區(qū)塊鏈的性能問(wèn)題。 2016 年年初,Eris Industry 最早把 BFT 的共識(shí)引入到區(qū)塊鏈中,創(chuàng)造了許可鏈。秘猿科技創(chuàng)始人等在 Ethfans 做了很多次 Meetup,當(dāng)時(shí)講了為什么我們需要許可鏈。簡(jiǎn)單來(lái)說(shuō),在比特幣的區(qū)塊鏈上我們實(shí)現(xiàn)了...
閱讀 1029·2021-11-23 10:11
閱讀 3866·2021-11-16 11:50
閱讀 935·2021-10-14 09:43
閱讀 2720·2021-10-14 09:42
閱讀 2719·2021-09-22 16:02
閱讀 1064·2019-08-29 10:57
閱讀 3385·2019-08-29 10:57
閱讀 2275·2019-08-26 13:52