回覆列表
  • 1 # 飛書科技短影片

    “網際網路”是個被媒體說爛的詞。在大量吹比、雞湯的浸泡下,就連很多軟體從業人員也搞不清這張網,到底是個什麼“網”。

    我這裡不想糾結於網際網路的定義,我姑且將題中的網際網路等同於“使用者多,訪問頻繁”的網站來聊聊吧。而且我只說Java的,別的不懂。

    網站要給人看,所以首先要有一個好用的前端框架。比如市面上很常見的模版引擎( freemarker )+html(5)+jquery-xxx組合。

    UI後頭需要業務支撐。這裡我可以很負責任地說:很多由Java編寫的網際網路專案,絕大部分也還是(SrpingMVC | Struts2)+(Hibernate | Mybatis)+Spring這個套路。

    一般的專案,資料庫該用什麼用什麼(其實還是Mysql居多,窮逼麼)。 但是業務上來之後,可能關係型的這種方案會成為瓶頸,所以現在基於k-v的DB產品也是遍地開花,諸如MongoDB等。另外還需要針對一些關鍵點架設快取、監控等。具體產品不表。

    由於單臺應用伺服器的處理能力有限,需要做服務拆分。另外就算服務拆分了,單臺伺服器的負載也不足以支撐系統中某些核心服務的穩定執行。這時候又輪到叢集出場了。機器和人一樣,多了就不好管。各種各樣的服務需要排程,協議一致,版本一致。。。。這其中又涉及到很多技術和協議,鄙人瞭解不深,不想只貼個名詞裝逼。

    有過網際網路經驗的都知道,使用者的一個資訊都是寶貴的,瀏覽記錄、購買記錄。。。這些記錄看似渺小,但是一旦有了使用者量以及時間的支撐,便會成為一個龐然大物(tb級,甚至是pb級)。單臺伺服器不足以計算(主要是計算、分析)、儲存這些東西,這有需要一個分散式生態。對的,生態:分散式檔案儲存、計算等。

    上面說的這些,可能不會全部出現在一個專案中,但是萬變不離其宗。我是按照應用的各個技術層次談的,不是具體產品。

    諸如淘寶網的網站架構是什麼?這種蠢問題實在是讓人無語。能答的不屑答,不能答的還拼命問,呵呵。

    ------------------------------------

  • 中秋節和大豐收的關聯?
  • 百公里12個油10公里是多少油?