自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

無服務(wù)器、Rust,都是舊技術(shù)的二次創(chuàng)業(yè)!

譯文 精選
開發(fā) 云原生
無服務(wù)器就好比如:我們擁有這臺(tái)機(jī)器,你來我這里租借。創(chuàng)新往往都是在踩在巨人肩膀上誕生!

譯者 | 蔡柱梁

還記得大型機(jī)嗎?無服務(wù)器就好比如:我們擁有這臺(tái)機(jī)器,你來我這里租借。創(chuàng)新往往都是在踩在巨人肩膀上誕生!

分時(shí)度假是一種源于歐洲的度假模式,就是把酒店或度假村的一間客房或一套旅游公寓,將其使用權(quán)分成若干個(gè)周次,按10至40年甚至更長的期限,以會(huì)員制的方式一次性出售給客戶,會(huì)員獲得每年到酒店或度假村住宿7天的一種休閑度假方式。并且通過交換服務(wù)系統(tǒng)會(huì)員把自己的客房使用權(quán)與其他會(huì)員異地客房使用權(quán)進(jìn)行交換,以此實(shí)現(xiàn)低成本的到各地旅游度假的目的。

回過頭看,無服務(wù)器就是新的分時(shí)度假!

我們都有健忘癥。當(dāng)我與年輕的開發(fā)人員談?wù)撨^去的技術(shù)時(shí),我經(jīng)常會(huì)得到茫然的目光。公平地說,有些是因?yàn)槲矣悬c(diǎn)“緊張”或“怪異”,但有些是因?yàn)槟贻p的技術(shù)人員并不了解過去的技術(shù)。

舉個(gè)例子:有些年輕的技術(shù)人員根本不清楚什么是兩端提交(2 Phase Commit)。難道是事務(wù)管理已經(jīng)不需要了嗎?

銀行是否不再需要一致性?如果你不在“同一頁”上,該技術(shù)通過在不同的服務(wù)器之間傳輸事務(wù)上下文來工作。因此,一臺(tái)服務(wù)器上的提交是一個(gè)多階段過程,幾乎可以保證所有服務(wù)器都成功或作為一個(gè)服務(wù)器回滾。這是相當(dāng)驚人的,實(shí)際上效果相當(dāng)好(顯然有一些警告)。令人驚訝的是,這是通過方法調(diào)用實(shí)現(xiàn)的。你不需要做任何事,即使在完全不同的服務(wù)器上調(diào)用遠(yuǎn)程方法,它也能好好工作。

幾年前,我與銀行業(yè)的一家叫 Node-based 的初創(chuàng)公司交談。他們表示,銀行對(duì)與Node合作非常開放。我知道他們?cè)诟俺墒臁钡沫h(huán)境中重寫他們的東西。當(dāng)我使用一些“較新”的工具,如Node時(shí),我總是對(duì)缺少的基本功能感到驚訝。當(dāng)然,如果你不把我們需要的一切都融入其中,它會(huì)更簡單、更小。當(dāng)您放棄核心功能時(shí),很容易構(gòu)建簡單的東西。

2010 年代的 NoSQL 戲劇

早在 1999 年,我正在組建自己的咨詢公司,一位朋友讓我見見他的老板。我去了這個(gè)辦公室,“老板”說他有一個(gè)沒有人想到的最驚人的想法。他們有資金,將在 6 個(gè)月內(nèi)推出產(chǎn)品,并在第一天就向 100 萬用戶推出!

我:好的。什么想法?

他:我會(huì)在你報(bào)名為我們工作后告訴你。

我:我會(huì)簽署 NDA(NON-DISCLOSURE AGREEMENT,即不公開協(xié)議)。

他:不。這個(gè)主意太好了。那些保密協(xié)議一文不值。你注冊(cè)然后…

不知道為什么,我居然能夠頂住為這家公司工作的誘惑。大概一年后,他們顯然沒有推出,但我的咨詢公司做得很好。朋友又打電話給我了。這一次他們需要產(chǎn)品方面的幫助,所以我以咨詢的身份去那里幫助他們。

他們的想法是在網(wǎng)站中內(nèi)置一個(gè)聊天應(yīng)用程序,這樣網(wǎng)站的訪問者就可以互相聊天。一個(gè)競爭對(duì)手已經(jīng)推出,我正在咨詢其他幾家具有相同想法的公司。他們轉(zhuǎn)而專注于與電子商務(wù)相關(guān)的聊天。但我離題了……

他們的系統(tǒng)表現(xiàn)非常糟糕。一個(gè)用戶的速度就像黏了蜜糖的螞蟻一樣慢。顯然,CEO 堅(jiān)持他們需要在第一天就能支持 100 萬用戶(正如他告訴我的那樣)。他們將這一點(diǎn)傳達(dá)給Oracle公司,Oracle說他們需要一個(gè)由三臺(tái)服務(wù)器組成的集群來支持這個(gè)容量。然后他們與一家面向?qū)ο蟮臄?shù)據(jù)庫供應(yīng)商進(jìn)行了交談,后者承諾他們可以用一臺(tái)機(jī)器處理 100 萬用戶。所以他們?nèi)褙炞⒂诿嫦驅(qū)ο蟮臄?shù)據(jù)庫。當(dāng)我對(duì)此表示震驚時(shí),他們聲稱他們的數(shù)據(jù)非?!懊嫦?qū)ο蟆?,因?yàn)槊總€(gè)用戶都可以擁有多個(gè)項(xiàng)目……呃。

他們不了解事務(wù)邊界,存儲(chǔ)代碼與所有代碼混合在一起,而且速度很慢。這是不可靠的,無法理解。您可能不記得面向?qū)ο蟮臄?shù)據(jù)庫時(shí)期,但它是 2010 年代席卷我們行業(yè)的 NoSQL 時(shí)尚的先驅(qū)。在擔(dān)任顧問的那段時(shí)間里,我重新觀看了這個(gè)故事的重播。這一次大多數(shù)公司都成功推出了。

但后來他們發(fā)現(xiàn)擁有非結(jié)構(gòu)化數(shù)據(jù)并不是萬能的。與僅使用良好的緩存和經(jīng)過良好調(diào)整的 SQL 相比,他們?cè)谛阅芊矫娅@得的好處是微不足道的。部署故事非常復(fù)雜,輔助工具可能永遠(yuǎn)無法達(dá)到我們?cè)?SQL 世界中所擁有的水平。

需要明確的是:NoSQL有自己擅長的領(lǐng)域,但是這些數(shù)據(jù)庫常見的用途并不是很好,并且源于 RDD(恢復(fù)驅(qū)動(dòng)開發(fā))。這是我們這些已經(jīng)在街區(qū)附近轉(zhuǎn)過幾次的人一遍又一遍地看到的模式:

? 舊技術(shù)笨重復(fù)雜

? 人們發(fā)明了一些干凈簡單的東西

? 忘記舊技術(shù)的存在

? 新東西過于簡單化,并沒有做很多基本的東西

? 重塑這些復(fù)雜性

? 新的東西變成了需要重新發(fā)明的舊的和笨重的復(fù)雜性……沖洗/重復(fù)

無服務(wù)器是新的大型機(jī)

在過去的一個(gè)月里,我做了很多無服務(wù)器的工作,我覺得這是一個(gè)很大的倒退。這是重蹈覆轍我們?cè)?PaaS 上遇到的問題。它實(shí)際就是一個(gè)大型機(jī)。過去,我們?cè)?jīng)為在共享使用的大型機(jī)上運(yùn)行工作付出代價(jià)。這有點(diǎn)像??虛擬化環(huán)境??,但想法相似:我們不擁有該環(huán)境??梢哉f這對(duì)于云 SaaS 也是如此,但無服務(wù)器將這個(gè)概念帶到了很遠(yuǎn)的地方。

甚至調(diào)試體驗(yàn)也很糟糕。我們沒有對(duì)我們的代碼或基本應(yīng)用程序邏輯的基本控制。我正在努力弄清楚為什么人們將它用于基本任務(wù)之外。

我能想到一個(gè)很好的用例:webhook。獲取 webhook 的管道代碼總是很痛苦。他們不經(jīng)常觸發(fā),處理它是一件苦差事。使用無服務(wù)器功能將內(nèi)容添加到數(shù)據(jù)庫并完成工作可能非常簡單。由于無論如何都很難調(diào)試回調(diào),因此無服務(wù)器中糟糕的調(diào)試體驗(yàn)并不是一個(gè)巨大的障礙。但是對(duì)于其他所有用例,我絕對(duì)感到困惑。

人們花費(fèi)大量時(shí)間檢查和測量吞吐量,但僅使用一臺(tái)稍大的服務(wù)器,并且只有本地調(diào)用會(huì)產(chǎn)生超出您可能需要的吞吐量。沒有我們陷入的所有供應(yīng)商捆綁。使用 Linode、Digital Ocean 等托管會(huì)節(jié)省很多錢。在上市時(shí)間方面,僅使用緩存和快速本地工具將比您可以在云中構(gòu)建的任何東西容易得多。

容器是一個(gè)很好的進(jìn)步,它們讓這一切變得簡單多了,但我們會(huì)被為了使用容器而帶來的復(fù)雜性累垮,比如K8S。不要誤會(huì)我的意思。K8S很棒。但我們 98% 的人并不真正需要它,也不應(yīng)該使用它。如果你是一家小型的創(chuàng)業(yè)公司,Kubernetes 是在浪費(fèi)你的時(shí)間和精力。

回到 Java 和 Rust

Java 就是一個(gè)在“健忘方面”做得很好的例子。我們有 Smalltalk,它很棒。當(dāng) Java 剛出現(xiàn)時(shí),它是一種具有怪異 C 語法風(fēng)格的劣質(zhì)解決方案。Java 在 Smalltalk 和 C++ 中拋棄了許多偉大的想法。它采用了一些有爭議的想法(檢查異常、原語等)。然而它成功了。它吸引了人們的注意力;它能夠利用這一點(diǎn)。

它最初是一種輕量級(jí)語言,可以丟棄其他平臺(tái)添加的所有垃圾和過度工程?,F(xiàn)在看看,再也沒有人將其描述為“輕量級(jí)”。開發(fā)人員正忙于創(chuàng)建更輕、更簡單的語言來抱怨 Java 的錯(cuò)誤。成功會(huì)讓他們回到我們開始的地方。一種成長太多的輕量級(jí)語言。Java 目前處于應(yīng)有的位置。這是一個(gè)好的重寫的少數(shù)例子之一。

Rust 似乎也是少數(shù)例外之一。它以一種全新的方式重新發(fā)明了 C。很難說它是否能長期生存。但毫無疑問,它需要在此過程中承擔(dān)很多復(fù)雜性。

有意識(shí)的重塑

是什么讓對(duì)現(xiàn)有語言或工具的重新發(fā)明成功贏取大眾市場,又是什么讓這些工具被擱置一旁?

SQL 起死回生,再次受到新創(chuàng)業(yè)公司的青睞。對(duì)于 C++ 則不能這樣說。它們有何不同?

盡管缺少我們?cè)?JVM 世界中擁有的基本功能,但 Node 和 Python 仍然很受歡迎。那是怎么回事,他們會(huì)維持這種受歡迎程度嗎?他們會(huì)把這些東西加回去嗎?

直到青少年時(shí)期,我們的大腦不斷地增加突觸。在我們十幾歲的時(shí)候,我們把它們砍掉了。一種理論是,這是我們作為青少年所經(jīng)歷的所有變化的根源。我們需要斷開不再為我們工作的東西。否則,我們只會(huì)學(xué)習(xí)父母所知道的。我們不能通過犯自己的錯(cuò)誤來改進(jìn)。再次嘗試那一代人失敗的事情。

結(jié)果,我們重復(fù)了錯(cuò)誤,犯了一些新的可怕的錯(cuò)誤。我們也取得了一些驚人的飛躍和發(fā)現(xiàn)。這是創(chuàng)新起飛的地方,工程也是如此。

我們?nèi)绾螀^(qū)分:青少年焦慮與光明的新方向?

老實(shí)說,我們不能。作為一個(gè)年長者,當(dāng)我第一次看到這些東西時(shí),我覺得很多東西都很愚蠢。我們已經(jīng)嘗試過這些事情并且失敗了。為什么要重復(fù)那個(gè)錯(cuò)誤的方向?這就是創(chuàng)新所在。但是,如果我們仔細(xì)觀察成功的嘗試,我們可以看到對(duì)他們有用的東西。

Java 并非旨在結(jié)束 C++。當(dāng)然,這可能是一個(gè)幻想。但高斯林設(shè)計(jì)它是為了簡單和輕小。要解決非常狹窄的利基市場,請(qǐng)關(guān)注安全性、規(guī)模和網(wǎng)絡(luò)。

Rust 并非旨在終結(jié) C。它旨在使 Firefox 等項(xiàng)目更加穩(wěn)定和高性能。

我認(rèn)為,當(dāng)我們最初將自己限制在一個(gè)非常小而狹窄的用例時(shí),二次發(fā)明就像任何初創(chuàng)公司一樣,效果很好。通過這樣做并保持最初的關(guān)注點(diǎn),我們可以建立一些好的東西,然后實(shí)現(xiàn)偉大的飛躍。

譯者介紹

蔡柱梁,51CTO社區(qū)編輯,從事Java后端開發(fā)8年,做過傳統(tǒng)項(xiàng)目廣電BOSS系統(tǒng),后投身互聯(lián)網(wǎng)電商,負(fù)責(zé)過訂單,TMS,中間件等。

原文標(biāo)題:??Serverless Is the New Timeshare??,作者:Shai Almog

責(zé)任編輯:薛彥澤 來源: 51CTO
相關(guān)推薦

2010-05-31 16:27:28

IT技術(shù)周刊

2019-03-15 09:36:27

無服務(wù)器無服務(wù)器安全安全風(fēng)險(xiǎn)

2011-07-04 14:53:56

服務(wù)器虛擬化

2019-04-30 10:27:46

無服務(wù)器云計(jì)算安全

2020-09-17 07:00:00

DevOps無服務(wù)器技術(shù)運(yùn)維

2018-02-24 10:15:36

無服務(wù)器容器云計(jì)算

2012-10-17 10:00:53

虛擬化

2017-05-23 09:00:07

2019-04-01 13:47:57

無服務(wù)器計(jì)算云服務(wù)

2022-03-18 20:54:24

無服務(wù)器計(jì)算無服務(wù)器服務(wù)器

2022-01-05 09:28:31

無服務(wù)器計(jì)算服務(wù)器應(yīng)用程序

2019-04-26 10:57:26

無服務(wù)器應(yīng)用程序HTTP

2013-05-15 09:56:01

云主機(jī)云計(jì)算

2018-05-03 09:22:13

容器無服務(wù)器

2019-03-08 10:26:29

無服務(wù)器云計(jì)算德勤

2017-11-27 10:45:48

無服務(wù)器計(jì)算容器

2019-03-07 14:31:33

無服務(wù)器Kubernetes公共云

2022-04-12 09:00:00

無服務(wù)器云原生數(shù)據(jù)庫

2024-07-08 09:16:52

2020-10-09 07:00:00

無服務(wù)器應(yīng)用監(jiān)控架構(gòu)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)