日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

网站技术架构

發(fā)布時(shí)間:2024/9/5 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网站技术架构 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
《大型網(wǎng)站技術(shù)架構(gòu):核心原理與案例分析》筆記

高可用性

什么是可用性?

可用性(Availablility)是指服務(wù)可被有效訪問的特性,不是指有用性(Usability)。

能夠保證服務(wù)永遠(yuǎn)可用嗎?

保證服務(wù)永遠(yuǎn)可用幾乎是一件不可能完成的任務(wù)。

實(shí)現(xiàn)高可用的手段

  • 由集群提供服務(wù),通過負(fù)載均衡手段將請求分發(fā)到具體節(jié)點(diǎn)上,在節(jié)點(diǎn)不可用時(shí),從服務(wù)注冊列表中清楚。
  • 分級管理。高優(yōu)先級的服務(wù)擁有更好和更多的資源。
  • 超時(shí)設(shè)置。控制訪問的超時(shí),防止大量的請求即占用資源,又無法獲得響應(yīng)。
  • 服務(wù)降級。對一些請求直接失敗,防止機(jī)器負(fù)載過高導(dǎo)致機(jī)器崩潰,結(jié)果導(dǎo)致整個(gè)服務(wù)崩潰。
  • 預(yù)發(fā)布和線上發(fā)布的區(qū)別

    預(yù)發(fā)布和線上發(fā)布的唯一不同是沒有配置在負(fù)載均衡服務(wù)中,所以外部無法訪問預(yù)發(fā)環(huán)境的機(jī)器。

    保證服務(wù)可用性的意義

    工程師對應(yīng)用做出性能的優(yōu)化、代碼的重構(gòu),但是未必能讓人直觀感受到,也許你的領(lǐng)導(dǎo)都不知道你做這件事情的意義何在。但是,如果你的產(chǎn)品出現(xiàn)了重大故障,那么CEO都會知道你的名字。

    伸縮性

    什么是伸縮性

    指系統(tǒng)能夠通過增加(減少)自身資源規(guī)模的方式增強(qiáng)(減少)自己計(jì)算處理事務(wù)的能力。

    什么是一致性Hash

    在緩存服務(wù)中,會根據(jù)用戶的key將數(shù)據(jù)緩存至某個(gè)緩存節(jié)點(diǎn),選擇節(jié)點(diǎn)的過程需要用到hash值。

    傳統(tǒng)算法:將key的hash值模緩存節(jié)點(diǎn)數(shù)目,獲得index,則該index對應(yīng)的節(jié)點(diǎn)就是數(shù)據(jù)要緩存入的節(jié)點(diǎn)。這種方法的缺點(diǎn)是動(dòng)態(tài)的添加、下線緩存節(jié)點(diǎn)時(shí),會導(dǎo)致大量的緩存無法命中和緩存遷移。
    一致性hash:構(gòu)建一個(gè)長度為$2^{32}$的環(huán),所有的緩存節(jié)點(diǎn)會散布到環(huán)中的某些位置上,需要緩存的數(shù)據(jù)根據(jù)key計(jì)算hash值后會映射到環(huán)中的某個(gè)位置,然后找到不小于該位置且最近的緩存節(jié)點(diǎn),作為其數(shù)據(jù)存放的節(jié)點(diǎn)。在動(dòng)態(tài)的添加緩存節(jié)點(diǎn)時(shí),只有和它相鄰的緩存節(jié)點(diǎn)中的數(shù)據(jù)受到影響。該方法的問題是,當(dāng)添加節(jié)點(diǎn)時(shí),會導(dǎo)致環(huán)上的緩存節(jié)點(diǎn)疏密不均,從而使得每個(gè)緩存節(jié)點(diǎn)上的緩存數(shù)量不均勻。

    一致性hash+虛擬節(jié)點(diǎn)。上述問題的解決方案是在一致性hash算法的基礎(chǔ)上,每個(gè)緩存節(jié)點(diǎn)會被當(dāng)做多個(gè)虛擬節(jié)點(diǎn)分散到環(huán)中。所以在添加一個(gè)新的緩存節(jié)點(diǎn)時(shí),會當(dāng)做多個(gè)虛擬節(jié)點(diǎn)添加到環(huán)中,這樣就防止環(huán)中緩存節(jié)點(diǎn)疏密不均的問題。

    擴(kuò)展性

    什么是擴(kuò)展性

    指對現(xiàn)有系統(tǒng)影響最小的情況下,系統(tǒng)功能可持續(xù)擴(kuò)展或提升的能力。

    SOA是實(shí)現(xiàn)服務(wù)擴(kuò)展性的一種方式

    SOA(面向服務(wù)的設(shè)計(jì)架構(gòu))是將不同的業(yè)務(wù)模塊劃分為不同的服務(wù),這些服務(wù)具有高內(nèi)聚和低耦合的特點(diǎn),通過服務(wù)發(fā)現(xiàn)機(jī)制,可以方便的發(fā)布新的服務(wù)以提供新的功能。

    NoSQL是實(shí)現(xiàn)數(shù)據(jù)庫擴(kuò)展性的一種方式

    修改關(guān)系型數(shù)據(jù)庫的schema是困難的,并且對于稀疏性的數(shù)據(jù)而言,關(guān)系型數(shù)據(jù)庫會浪費(fèi)存儲空間。而NoSQL可以提供列族來靈活的增減列屬性,并且不要求每個(gè)數(shù)據(jù)都具有所有的屬性。

    不斷上新產(chǎn)品是互聯(lián)網(wǎng)公司的生存本能

    互聯(lián)網(wǎng)公司不停上新產(chǎn)品是其生存的本能,誰能更快更好地推出更多的新產(chǎn)品,誰就活得更滋潤,那么工程師就要做好準(zhǔn)備應(yīng)付這種局面。

    網(wǎng)絡(luò)安全

    加密技術(shù)

  • 單向散列加密。對明文進(jìn)行加密,加密算法固定,但是無法通過密文解密為明文。通常用于對用戶密碼進(jìn)行加密,加密后存入數(shù)據(jù)庫。即使數(shù)據(jù)庫被別人獲取,也無法獲得用戶的明文密碼,也無法通過密文密碼登陸用戶賬戶。采用加鹽來防止對密文的破解。如,MD5,SHA。
  • 對稱加密。明文的加密和密文的解密采用的都是同一個(gè)秘鑰。如,DES,RC。
  • 非對稱加密。明文通過公鑰加密,密文通過私鑰解密。私鑰也可以對明文加密,用公鑰解密,起到數(shù)字簽名的作用。如,RSA算法。
  • 布隆過濾器

    在需要過濾大量黑名單的場景中,如果采用Hash表來存儲黑名單,則需要耗費(fèi)很大的存儲空間。布隆過濾器則可以在較小的存儲空間中實(shí)現(xiàn)過濾功能。布隆過濾器首先申請一個(gè)固定大小的存儲空間,該空間共有n個(gè)bit,初始為0,需要加入黑名單的名字通過8個(gè)函數(shù),映射到n個(gè)bit中的8個(gè)bit中,將這些bit置為1。如果一個(gè)名字通過上述8個(gè)函數(shù)映射到的位置都被置為1,則該名字在黑名單中。使用布隆過濾器,一個(gè)名字最多只需要占用一個(gè)字節(jié)。布隆過濾器可能會誤殺,因?yàn)榇嬖诿植辉诤诿麊沃?#xff0c;但是由于其它黑名單中的名字,導(dǎo)致其映射的位置都被置為1。

    架構(gòu)師

    什么是好的架構(gòu)師

    所以最好的軟件項(xiàng)目管理不是制訂計(jì)劃,組織資源,跟蹤修正項(xiàng)目進(jìn)展,對成員進(jìn)行激勵(lì)和懲罰,而是發(fā)掘項(xiàng)目組每個(gè)成員的優(yōu)秀潛能,讓大家理解并熱愛軟件產(chǎn)品最終的藍(lán)圖和愿景。每個(gè)人都是為實(shí)現(xiàn)自我價(jià)值而努力,不是為了領(lǐng)工資而工作。

    事成就了人

    有些企業(yè)喜歡挖優(yōu)秀的人,而不是去把自己打造成一個(gè)培養(yǎng)優(yōu)秀人才的地方。殊不知:是事情成就了人,而不是人成就了事。指望優(yōu)秀的人來幫自己成事,不如做成一件事讓自己和參與的人都變得優(yōu)秀。

    轉(zhuǎn)載于:https://www.cnblogs.com/qixidi/p/10085445.html

    總結(jié)

    以上是生活随笔為你收集整理的网站技术架构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。