新人任務(wù) 6

Gossip實(shí)現(xiàn)
一篇關(guān)于gossip描述的很好的論文舆瘪,NoSQL 數(shù)據(jù)庫(kù)中的分布式算法

Gossip protocol
目標(biāo)是向全世界傳播消息
分布式傳遞消息的靈感來(lái)源于

  • 感染病傳播
  • 人類八卦
  • 社交網(wǎng)絡(luò)
    Gossip的強(qiáng)度
  • 可伸展性
    一個(gè)節(jié)點(diǎn)不會(huì)等待消息被確認(rèn)咆爽,然后他也不會(huì)重新發(fā)送消息即使這個(gè)消息沒(méi)有接受到
  • 容錯(cuò)性
    有能力在網(wǎng)絡(luò)中進(jìn)行不規(guī)則和未知的鏈接设预。他們?cè)谶@些情況下工作得很好葫松,因?yàn)楫?dāng)我們要讓一個(gè)節(jié)點(diǎn)共享相同的信息幾次到不同的節(jié)點(diǎn)是,所以如果一個(gè)節(jié)點(diǎn)不能被接受玄捕,信息就會(huì)通過(guò)一個(gè)不同的節(jié)點(diǎn)被共享车胡,換一句話來(lái)說(shuō)就是信息可以有多種渠道從源頭流向目的地
  • 魯棒性
    沒(méi)有一個(gè)節(jié)點(diǎn)在網(wǎng)絡(luò)中又特殊的地位。所以失敗的節(jié)點(diǎn)不會(huì)阻止其他的節(jié)點(diǎn)的繼續(xù)發(fā)送信息十酣。
    每一個(gè)節(jié)點(diǎn)可以隨意的加入或者離開(kāi)涩拙,而不會(huì)嚴(yán)重的干擾整體系統(tǒng)的服務(wù)。
    并不是在所有的情況下都很魯棒耸采,
  • 收斂一致性
    Gossip協(xié)議實(shí)現(xiàn)了以指數(shù)的方式散布信息兴泥,所以在一個(gè)新的時(shí)間發(fā)生之后會(huì)以指數(shù)級(jí)別的速度快速收斂到一個(gè)全局一直的狀態(tài),傳播新的信息到所有的節(jié)點(diǎn)的時(shí)間會(huì)受到系統(tǒng)大小的對(duì)數(shù)影響
  • 極度的去中心化
    gossip 提供了一個(gè)極度的去中心畫的信息發(fā)現(xiàn)機(jī)制虾宇,而且他的延遲是可以接受的如果信息不需要被馬上用到搓彻。

Gossip協(xié)議在概念上很簡(jiǎn)單而且很好去編碼。基本的思想就是:一個(gè)節(jié)點(diǎn)需要向其他的一些節(jié)點(diǎn)分享一些信息旭贬,然后周期性的隨機(jī)從一個(gè)節(jié)點(diǎn)集合中選擇一個(gè)節(jié)點(diǎn)怔接,然后交換信息。

fanout:在一個(gè)循環(huán)中需要gossip的節(jié)點(diǎn)數(shù)稀轨,當(dāng)一個(gè)節(jié)點(diǎn)需要傳播一個(gè)信息扼脐,它會(huì)選著t節(jié)點(diǎn),并且把消息發(fā)送給他們靶端。

一點(diǎn)歷史谎势,復(fù)制數(shù)據(jù)庫(kù)的流行算法:
復(fù)制數(shù)據(jù)庫(kù)維護(hù)的流行算法凛膏。

有些問(wèn)題我們需要解決的

  • 我們嘗試構(gòu)建一個(gè)目錄杨名,一個(gè)可查詢的數(shù)據(jù)庫(kù)
  • 網(wǎng)絡(luò)是不可以依靠的
  • 沒(méi)個(gè)更新都會(huì)被注入一個(gè)站點(diǎn),然后傳播到所有的站點(diǎn)或者沒(méi)更新給取代
  • 數(shù)據(jù)庫(kù)在數(shù)以千計(jì)的幾點(diǎn)上復(fù)制
  • 在沒(méi)有更新之后猖毫,副本變得一致

節(jié)點(diǎn)的狀態(tài):

  • 易感染的
    一個(gè)有更新的節(jié)點(diǎn)愿意共享
  • 易受到感染的
    一個(gè)節(jié)點(diǎn)還沒(méi)有被感染
  • 移除
    一個(gè)節(jié)點(diǎn)已經(jīng)收到了更新台谍,但是不愿意去共享它

移除是最棘手的操作,決定哪一個(gè)節(jié)點(diǎn)應(yīng)該被移除不是一件容易得事情吁断。理想情況下趁蕊,當(dāng)所有的節(jié)點(diǎn)都連接到了更新之后,節(jié)點(diǎn)就應(yīng)該停止共享仔役。但是這就意味著節(jié)點(diǎn)必須了解其他節(jié)點(diǎn)的狀態(tài)掷伙。

之后我們會(huì)看到不同的算法,都是用來(lái)標(biāo)記一個(gè)節(jié)點(diǎn)被移除(Removed)的方法

分析算法

分析了三種傳播更新的方法

  • 直接郵寄法: 他們一開(kāi)始的時(shí)候又兵,沒(méi)一個(gè)更新都會(huì)從他們的入口地點(diǎn)發(fā)送到所有的其他的地點(diǎn)任柜,但是會(huì)有一些問(wèn)題:1.發(fā)送節(jié)點(diǎn)的瓶頸就是n(O).2.每個(gè)節(jié)點(diǎn)都必須被傳播到所有的節(jié)點(diǎn),所以每個(gè)節(jié)點(diǎn)必須知道系統(tǒng)中其他所有的節(jié)點(diǎn)沛厨。3.當(dāng)節(jié)點(diǎn)長(zhǎng)時(shí)間沒(méi)有響應(yīng)或者隊(duì)列溢出的時(shí)候消息可能會(huì)被丟棄

  • 反熵法:每個(gè)節(jié)點(diǎn)都定期的選擇另外一個(gè)站點(diǎn)宙地,并通過(guò)交換收哭的內(nèi)容來(lái)解決兩個(gè)節(jié)點(diǎn)之間的差異。他與直接郵寄法或者謠言散布法一起使用逆皮,并且運(yùn)行以糾正為交付的更新宅粥,這是一個(gè)鐘備份系統(tǒng)(backup system)。想象一下电谣,那些直接郵寄法沒(méi)有達(dá)到的節(jié)點(diǎn)秽梅,反熵應(yīng)該修正。

  • 謠言散布發(fā): 一開(kāi)始site是什么都不知道的剿牺。當(dāng)一個(gè)site接受到更新的時(shí)候风纠,他變成了“hot rumor”,當(dāng)一個(gè)site上有一個(gè)“hot rumor”。他會(huì)周期性隨機(jī)的選擇另外一個(gè)site牢贸,并確保其他的站點(diǎn)看到了更新竹观。當(dāng)一個(gè)站點(diǎn)視圖一個(gè)已經(jīng)被其他很多站點(diǎn)都看過(guò)的“hot rumor”,這個(gè)站點(diǎn)就不再把這個(gè)rumor 視為 hot的,然后再不再傳播這個(gè)更新并且保持更新臭增。

最后兩種是流行的八卦算法懂酱。讓我們看看這些算法更加一般的描述。

Gossip的種類

  • 反熵(SI模型):簡(jiǎn)單的流行病誊抛,一個(gè)節(jié)點(diǎn)總是為易感染的和感染的兩種狀態(tài)
  • 謠言散布模型(SIR 模型):復(fù)雜一點(diǎn)的流行病列牺,一個(gè)節(jié)點(diǎn)不僅有反熵的兩種狀態(tài),還多了一個(gè)種移除的狀態(tài)拗窃。

反熵這個(gè)名字的由來(lái)是因?yàn)檫@個(gè)算法被用來(lái)減少副本的熵瞎领,換句話來(lái)說(shuō)就是增加了兩個(gè)節(jié)點(diǎn)的相似度。

在反熵(SI 模型)中随夸,一個(gè)具有感染信息的節(jié)點(diǎn)試圖在每一輪循環(huán)中分享它九默。一個(gè)節(jié)點(diǎn)不僅共享了更新,而且還共享了整個(gè)數(shù)據(jù)庫(kù)宾毒,有一些技術(shù)像校驗(yàn)和驼修,(最新更新列表),merkle樹(shù)等诈铛,容許節(jié)點(diǎn)在發(fā)送數(shù)據(jù)前得知兩個(gè)節(jié)點(diǎn)是否存在差異乙各,從而保證了最終完美的傳播。
而且沒(méi)有終止幢竹,所以它發(fā)送了無(wú)界的消息數(shù)量耳峦。

謠言傳播的周期比反熵周期更加的頻繁,因?yàn)樗麄冃枰由俚馁Y源焕毫,因?yàn)楣?jié)點(diǎn)只發(fā)送一個(gè)行的更新或者一個(gè)感染更新的列表蹲坷。謠言散布算法的傳播速度很快,而且網(wǎng)絡(luò)流量很低咬荷。

在某個(gè)點(diǎn)上的謠言被標(biāo)記為 移除 冠句,不再共享,因此幸乒,消息的數(shù)量是有限的懦底,并且更新不會(huì)到達(dá)所有站點(diǎn)的可能,盡管這個(gè)概率可以被變?yōu)槿我庑『痹覀兩院髸?huì)看到聚唐。首先,讓我們了解一下如何決定一個(gè)節(jié)點(diǎn)應(yīng)該是被刪除的狀態(tài)腔召。

移除狀態(tài)/失興(失去興趣)

(基于Mark Jelasity的描述)

  • Removal算法用來(lái)決定一個(gè)節(jié)點(diǎn)是否應(yīng)該被置為移除的狀態(tài)
    • Coin/random:每次不成功的嘗試之后杆查,以1/k的概率被移除。

常識(shí)解釋

  • ftp:正好我們計(jì)網(wǎng)學(xué)到了這個(gè)協(xié)議臀蛛,ftp(file transport protocol)文件傳輸協(xié)議亲桦,顧名思義崖蜜。ftp和http有很多的共同點(diǎn),比方說(shuō)他們都運(yùn)行在TCP上客峭。
    用戶通過(guò)一個(gè)ftp用戶代理與ftp交互豫领。該用戶首先提供遠(yuǎn)程的主機(jī)的主機(jī)名,使本地的ftp客戶端進(jìn)程建立一個(gè)到遠(yuǎn)程足跡ftp服務(wù)器進(jìn)程的tcp連接舔琅。該用戶接著提供用戶表示和口令等恐,作為ftp命令的一部分在該tcp連接上傳輸。

  • http: 超文本傳輸協(xié)議是一種應(yīng)用協(xié)議用于分布式备蚓,寫作和草媒體信息系統(tǒng)课蔬,是一種請(qǐng)求-響應(yīng) 協(xié)議。

  • https:HTTP的改進(jìn)郊尝,用于通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行安全的通信二跋。在HTTPS,改通信協(xié)議被加密的安全套接層(TLS)虚循,或他的前身(SSL)加密同欠。

  • HTTP 2.0: HTTP / 2 是HTTP 1.1 以來(lái)的第一個(gè)新版本样傍。旨在解決http 1.0和1.1存在的問(wèn)題

    • 1横缔,但鏈接多資源的方式,減少服務(wù)端的鏈接壓力衫哥,內(nèi)存占用更加小茎刚,鏈接的吞吐量更加大
    • 2,不支持首部壓縮
      http2.0的優(yōu)點(diǎn):
    • 1撤逢、多路復(fù)用允許同時(shí)通過(guò)單一的HTTP/2 鏈接發(fā)起多從的請(qǐng)求-響應(yīng)消息膛锭,不用依賴多個(gè)TCP鏈接。 HTTP/2 吧 HTTP 協(xié)議通信基本單位縮小為一個(gè)一個(gè)的幀蚊荣,這些幀對(duì)應(yīng)著邏輯劉中的信息初狰。并行的在同一個(gè)TCP 鏈接上雙向交換信息。從而使得擁塞狀態(tài)得以改善互例。
    • 2奢入、首部壓縮減少了數(shù)據(jù)的大小
    • 3、HTTP/2 中媳叨,服務(wù)器可以對(duì)客戶端的一個(gè)請(qǐng)求發(fā)送多個(gè)響應(yīng)
  • PHP 是最好的語(yǔ)言:這個(gè)梗的來(lái)源已經(jīng)無(wú)法考證了腥光。但我不知道為何自己對(duì)PHP的印象不是很好,有一個(gè)原因就是因?yàn)槲覀儗W(xué)校但凡做項(xiàng)目鐵定用的是PHP糊秆,而且學(xué)校的技術(shù)又特別的落后武福,所以技術(shù)落后就和PHP在我心中就綁定在一起了(我并不是黑它)。然后我在Quora上找了一下答案:這其實(shí)是一個(gè)強(qiáng)加的一個(gè)笑話痘番,PHP并不是一門最好的語(yǔ)言捉片,這句話使用來(lái)諷刺那些只懂點(diǎn)PHP皮毛而不深入下去的PHP開(kāi)發(fā)者平痰。PHP還是一門完美秀發(fā)編程語(yǔ)言(prefect hair programming),所以是想保住一頭秀發(fā)的程序員的不二編程語(yǔ)言選擇伍纫。

  • gzip壓縮

    • 把文件壓縮為.gz 格式觉增,或者解壓
  • nginx/cgi/uWSGI/php-fpm/fastcgi

    • 俗語(yǔ)解釋
      • nginx: 一個(gè)性能很高的web服務(wù)器
      • uWSGI:一個(gè)給python進(jìn)程的web服務(wù)器.WSGI是一種Web服務(wù)器網(wǎng)關(guān)的接口。它是一種Web服務(wù)器與web應(yīng)用通信的一種規(guī)范
      • cgi:cgi是網(wǎng)頁(yè)表單和你寫程序之間通信的一種協(xié)議翻斟∮饨福可以用任何語(yǔ)言寫一個(gè)cgi腳本,這些語(yǔ)言智能接受輸入輸出的信息访惜,讀取環(huán)境變量嘹履。所以,幾乎所有編程語(yǔ)言都能寫一個(gè)CGI腳本债热。
      • php-fpm:全稱是php fastcgi process manager即為php fastcgi進(jìn)程管理器砾嫉,相比f(wàn)astcgi靜態(tài)的喚起 cgi進(jìn)程和銷毀以達(dá)到動(dòng)態(tài)的調(diào)整cgi的數(shù)量,這樣可以有效的使用內(nèi)存窒篱,其他優(yōu)點(diǎn):fpm還可以平滑的重載php配置焕刮;不用再配置cgi短褲;有更好的狀態(tài)輸出墙杯,和slowlog日志配并,502的時(shí)候能給出更多的錯(cuò)誤細(xì)節(jié)
  • 高階函數(shù)/函數(shù)克里化

    • 高階函數(shù)就是,從一個(gè)函數(shù)映射到另外一個(gè)函數(shù)高镐。也就是一個(gè)函數(shù)返回另外一個(gè)函數(shù)
    • 函數(shù)克里化是指的講原來(lái)接受多個(gè)參數(shù)的函數(shù)編程行的只接受一個(gè)函數(shù)的過(guò)程溉旋,類似閉包,比方說(shuō)python 的 partial庫(kù)
  • 函數(shù)式編程: 一種編程范式嫉髓,屬于一種結(jié)構(gòu)化編程观腊,把運(yùn)算過(guò)程寫出一系列的嵌套函數(shù)

  • bcd/mit licenses

    • MIT License:相對(duì)寬松的授權(quán)條約

    • BCD License: 比GPL許可證和MPL許可證寬松,但是比MIT嚴(yán)格

    • MIT License:MIT許可是一個(gè)寬容的自由軟件許可證起源于美國(guó)麻省理工學(xué)院(MIT)算行。它只對(duì)重用限制非常有限梧油,MIT許可證允許在私有軟件中重復(fù)使用,前提是許可軟件的所有副本均包含MIT許可條款和版權(quán)聲明的副本州邢。

    • BCD License:對(duì)使用和重新分配涵蓋的軟件施加最小的限制儡陨,BSD由于允許使用者修改和重新發(fā)布代碼,也允許使用或在BSD代碼上開(kāi)發(fā)商業(yè)軟件發(fā)布和銷售偷霉,因此是對(duì)商業(yè)集成很友好的協(xié)議迄委。但前提是
      1、如果再發(fā)布的產(chǎn)品中包含源代碼类少,則在源代碼中必須帶有原來(lái)代碼中的BSD協(xié)議叙身。
      2、如果再發(fā)布的只是二進(jìn)制類庫(kù)/軟件硫狞,則需要在類庫(kù)/軟件的文檔和版權(quán)聲明中包含原來(lái)代碼中的BSD協(xié)議信轿。
      3晃痴、不可以用開(kāi)源代碼的作者/機(jī)構(gòu)名字和原來(lái)產(chǎn)品的名字做市場(chǎng)推廣。

  • cocoa
    蘋果的一套用來(lái)寫Mac OS X應(yīng)用程序的面向?qū)ο蟮目蚣?br> cocoa是蘋果公司為Mac OS X所創(chuàng)建的原生面向?qū)ο蟮腁PI财忽,用于蘋果設(shè)備的應(yīng)用程序
    主要開(kāi)發(fā)工具:Xcode倘核,Interface Builder

  • mvc模式
    Model報(bào)數(shù)程序的核心(數(shù)據(jù)庫(kù)), View顯示數(shù)據(jù) 和 Controller用于處理數(shù)據(jù)

  • 裝飾者/裝飾器模式
    包裝即彪,給一個(gè)對(duì)象在外部添加一些功能紧唱,動(dòng)態(tài)的位對(duì)象添加功能,即從一個(gè)對(duì)象外部給對(duì)象添加功能隶校。他并不必改變?cè)愇募┮妫瑒?dòng)態(tài)的擴(kuò)展一個(gè)對(duì)象的功能,主要是通過(guò)創(chuàng)建一個(gè)裝飾器來(lái)包裝對(duì)象深胳。

    • eg: python的裝飾器
  • socket/websocket

    • socket 網(wǎng)絡(luò)數(shù)據(jù)交換的接口绰疤。socket本質(zhì)就是編程接口API,對(duì)TCP/IP的封裝舞终,TCP/IP也要提供可供程序員做網(wǎng)絡(luò)開(kāi)發(fā)所需要的結(jié)構(gòu)轻庆,這就是Socket編程接口。
    • websocket
      websocket協(xié)議
      再簡(jiǎn)單點(diǎn)來(lái)說(shuō)敛劝,它就好像將Ajax和Comet技術(shù)的特點(diǎn)結(jié)合到了一起余爆,只不過(guò)性能要高并且使用起來(lái)要方便的多(當(dāng)然是之指在客戶端方面。攘蔽。)
      RFC草案中已經(jīng)說(shuō)明龙屉,WebSocket的目的就是為了在基礎(chǔ)上保證傳輸?shù)臄?shù)據(jù)量最少呐粘。
      這個(gè)協(xié)議是基于Frame而非Stream的满俗,也就是說(shuō),數(shù)據(jù)的傳輸不是像傳統(tǒng)的流式讀寫一樣按字節(jié)發(fā)送作岖,而是采用一幀一幀的Frame唆垃,并且每個(gè)Frame都定義了嚴(yán)格的數(shù)據(jù)結(jié)構(gòu),因此所有的信息就在這個(gè)Frame載體中痘儡。(后面會(huì)詳細(xì)介紹這個(gè)Frame)
      特點(diǎn)
      • 基于TCP協(xié)議
      • 具有命名空間
      • 可以和HTTP Server共享同一port
    • ws的一些首部
      Sec-WebSocket-Key : 客戶端給服務(wù)器的
      Sec-WebSocket-Accept :服務(wù)器給客戶端的
      客戶端發(fā)送請(qǐng)求到服務(wù)端辕万,客戶端的請(qǐng)求頭中包含有
      upgrade : websocket
      set-websocket-key : xxxxx==
      服務(wù)端收到這個(gè)來(lái)自客戶端的請(qǐng)求之后
      對(duì)其進(jìn)行sha1哈希加密,然后再進(jìn)行base64編碼沉删,生成resKey
      然后服務(wù)端開(kāi)始?jí)蛑鄳?yīng)頭渐尿,相應(yīng)頭中的具體內(nèi)容會(huì)有
      'HTTP/1.1 101 Switching Protocols',
      'Upgrade: websocket’,
      'Connection: Upgrade',
      'Sec-WebSocket-Accept: ' + resKey
      resKey為服務(wù)端生成的resKey
      ws有PingPong機(jī)制,
      設(shè)置
      pingTimeout:多少毫秒沒(méi)有收到pong就自動(dòng)把連接斷開(kāi)
      pingInterval: 多少毫秒后發(fā)送一個(gè)發(fā)送一個(gè)新的ping包
  • opengl/opencv

    • OpenGL是一個(gè)3D圖像庫(kù)(2D也能寫)矾瑰,著名的建模軟件C4D就有這個(gè)OpenGL編程模塊砖茸,是指定了一個(gè)跨編程語(yǔ)言,跨平臺(tái)的編程的接口規(guī)格的專業(yè)圖像程序接口殴穴。他用于三維二維圖像凉夯,是一個(gè)功能強(qiáng)大货葬,調(diào)用方便的底層圖像庫(kù)。
    • OpenCV:是一系列C函數(shù)少量的C++類構(gòu)成劲够,同時(shí)提供了Python震桶、Ruby、MATLAB的語(yǔ)言的接口征绎,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺(jué)方面的汗多通用的算法蹲姐,還設(shè)計(jì)一些機(jī)器學(xué)習(xí)的算法
    • opencv是圖像到數(shù)據(jù),而opengl是數(shù)據(jù)到圖像
  • 多態(tài)

    • 只不同的類的帝鄉(xiāng)對(duì)同一個(gè)消息做出的響應(yīng)人柿。即同一個(gè)消息可以根據(jù)發(fā)送對(duì)象的不同而采用多種不同的方式淤堵。
  • 像素/尺寸/px/分辨率/ppi

    • 像素是指在有一個(gè)數(shù)字序列標(biāo)書圖像的最小單位。每一個(gè)像素點(diǎn)一般為3個(gè)顏色的小燈組成顷扩,在一般的顯示器上一個(gè)小燈有256中亮度拐邪,但是在監(jiān)視器上這個(gè)數(shù)會(huì)大幾倍
    • 尺寸屏幕對(duì)角線的長(zhǎng)度,一般以寸做單位
    • 分辨率: 入1080 * 1920我的大屏就是
    • ppi:屏幕像素密度(PPI)就是沒(méi)英寸屏幕所擁有的像素?cái)?shù)隘截。kindle就是用ppi做單位扎阶。ppi可以通過(guò)分辨率和屏幕的尺寸換算出來(lái)
  • 如何計(jì)算sin(1),e^x, log(x), sqrt(x)快速婶芭,精準(zhǔn)

    • 不知道233333
  • 全加器/半加器/超前進(jìn)位加法器
    這個(gè)在大一的計(jì)算思維課程里講過(guò)

    • 半加器: 加數(shù)和被加數(shù)為輸入东臀,和數(shù)與進(jìn)位為輸出的裝置為半加器。
    • 全加器: 若加數(shù)犀农、被加數(shù)與低位的進(jìn)位數(shù)為輸入惰赋,而加數(shù)與進(jìn)位的輸出為全加器。
    • 超前進(jìn)位加法器:是多普通的全加器進(jìn)行改良而設(shè)計(jì)成的并行加法器呵哨,主要是針對(duì)普通全加器串聯(lián)時(shí)互相進(jìn)位產(chǎn)生延遲進(jìn)行了改良
  • 編譯原理/代碼運(yùn)行原理

    • 編譯:把高級(jí)計(jì)算機(jī)語(yǔ)言編譯成計(jì)算機(jī)能識(shí)別的機(jī)器語(yǔ)言
    • 編譯 + 執(zhí)行 代碼就跑起來(lái)了
  • mysql/mongodb/sql/NoSql

    • 通俗解釋: 各種數(shù)據(jù)庫(kù)
    • 專業(yè)解釋: 組織赁濒、存儲(chǔ)、管理數(shù)據(jù)的倉(cāng)庫(kù)
  • cookies/session

    • cookies: 網(wǎng)站為了人認(rèn)證用戶存儲(chǔ)在本地的數(shù)據(jù)庫(kù)孟害,存儲(chǔ)在客戶端拒炎,不是很安全,別人可以分析存儲(chǔ)在本地的cookie進(jìn)行cookie欺騙
    • session:儲(chǔ)存客戶的信息在服務(wù)器上挨务,但是當(dāng)訪問(wèn)增多時(shí)候击你,會(huì)占用你的服務(wù)器性能,所以有一個(gè)更加好的解決方法谎柄,json web token實(shí)現(xiàn)單點(diǎn)登錄
  • git/svn/版本控制

    • 這個(gè)就不說(shuō)了丁侄,天天在用的,版本控制管理工具朝巫,雖然我的使用還停留在小學(xué)生階段
  • ssh

    • 建立在應(yīng)用層的基礎(chǔ)上的安全協(xié)議鸿摇,專門為遠(yuǎn)程登錄會(huì)話和其他網(wǎng)路服務(wù)提供安全性的協(xié)議,所有的傳輸?shù)臄?shù)據(jù)都會(huì)被加密捍歪。telnet與ssh類似户辱,ssh就是多了一個(gè)ssl層
      1鸵钝、基于口令的認(rèn)證:每次登錄到遠(yuǎn)程主機(jī)都要輸入密碼
      2、基于密鑰的安全認(rèn)證:你不虛創(chuàng)建一對(duì)密鑰庐镐,公鑰放在服務(wù)器上恩商,這樣其他的服務(wù)器就無(wú)法冒充真正的服務(wù)器,但是登錄時(shí)間較慢必逆。
  • ORM

    • 關(guān)系型數(shù)據(jù)庫(kù)和業(yè)務(wù)實(shí)體對(duì)象之間作為一種映射怠堪,具體操作值需要簡(jiǎn)單的屬性和方法。反正就是不要寫sql你就可以愉快的操作數(shù)據(jù)庫(kù)
    • 但是性能很差名眉,而且靈活性不夠粟矿。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市损拢,隨后出現(xiàn)的幾起案子陌粹,更是在濱河造成了極大的恐慌,老刑警劉巖福压,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件掏秩,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡荆姆,警方通過(guò)查閱死者的電腦和手機(jī)蒙幻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)胆筒,“玉大人邮破,你說(shuō)我怎么就攤上這事∑途龋” “怎么了抒和?”我有些...
    開(kāi)封第一講書人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)派桩。 經(jīng)常有香客問(wèn)我构诚,道長(zhǎng),這世上最難降的妖魔是什么铆惑? 我笑而不...
    開(kāi)封第一講書人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮送膳,結(jié)果婚禮上员魏,老公的妹妹穿的比我還像新娘。我一直安慰自己叠聋,他們只是感情好撕阎,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著碌补,像睡著了一般虏束。 火紅的嫁衣襯著肌膚如雪棉饶。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 49,760評(píng)論 1 289
  • 那天镇匀,我揣著相機(jī)與錄音照藻,去河邊找鬼。 笑死汗侵,一個(gè)胖子當(dāng)著我的面吹牛幸缕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播晰韵,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼发乔,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了雪猪?” 一聲冷哼從身側(cè)響起栏尚,我...
    開(kāi)封第一講書人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎只恨,沒(méi)想到半個(gè)月后抵栈,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡坤次,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年古劲,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缰猴。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡产艾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出滑绒,到底是詐尸還是另有隱情闷堡,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布疑故,位于F島的核電站杠览,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏纵势。R本人自食惡果不足惜踱阿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望钦铁。 院中可真熱鬧软舌,春花似錦、人聲如沸牛曹。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至超营,卻和暖如春鸳玩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背演闭。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工不跟, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人船响。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓躬拢,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親见间。 傳聞我的和親對(duì)象是個(gè)殘疾皇子聊闯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容