-
1 # 胖卡丘CTO
-
2 # 逆著書本的光
可能您對技術不是很瞭解。待我慢慢為你解答。
一:首先談分散式之前很有必要聊一聊軟體架構的演進。第一階段就是單體軟體工程,其實現在很對公司還在用,因為足夠成熟,非常適合中小型專案開發,本人目前公司也不列外還有一些老專案在使用。單體就是所有的功能程式碼全在一個開發工程裡面,前段後端都在,很明顯缺點就是一但宕機就悲劇了,整個網站崩潰無法正常使用。
二:這個階段出現了前後端程式碼的完全分離開發,得益於web2.0的XMLHTTPREQUEST發展,就是ajax的發展。這時期前後的分開開發,前端程式碼可以分開部署釋出,亦可以開發完成之後放在服務端同一個工程釋出。很明顯,這樣分工很明確,讓熟悉前端或者後端的人更高效開發。但是還是無法擺脫服務宕機就整個網站癱瘓的窘境。
三:這是目前最流行的架構,分散式微服務階段,前後端分離,服務端進行切分功能,每個功能一個獨立的服務,然後分開部署在不同機器上,然後對外統一一個閘道器,看起來就是一個整體,常用的nginx反向代理。這樣的好處就是同一個功能服務都可以釋出好幾個,使用負載均衡排程。當某個功能全掛不影響網站全部癱瘓,便於快速排除問題。使用者量大時候可以增加機器,橫向擴充套件功能模組不影響線上生產。這裡要解決的一個問題就是分散式會話問題。當然很多解決方案,session統一外接到一個快取資料庫,比如redis。或者使用jwt token。
-
3 # 繁星落石
開發者,對於開發者來說,執行的裝置本身的效能對開發的產品具有極大的影響和制約效果,分散式可以極大地提高裝置效能,在很多方面上對於開發者來說都是好訊息,而且隨著資料量越來越大,對分散式的需求也會增加。
對使用者來說,分散式只是後端架構,對使用者不透明,所以完全感知不到,本來就是為了讓使用者無感知地流暢操作為目的,肯定跟使用者本身是沒有關係的。
-
4 # IT人故事會
分散式技術明顯是給開發人員需要熟悉的。分散式就類似咱們拼裝零件一樣,最後組成汽車,但是各個系統之間需要協作,共享,來分擔系統的壓力,共同的配合讓系統更快更好的執行。
回覆列表
那麼我們來說說為什麼分散式是給開發者用的。最早的軟體系統架構,在15年之前,都是單體系的,也就是所有的服務就是1個程式,資料庫也採用大型機(比如Oracle或者IBM的DB2)這種系統足夠支撐百萬級的使用者量和上千的併發。
因此分散式系統就出現了,研發人員將系統切割成不同的模組,每個模組有獨立的服務程式和自己的儲存庫,同時,將這些模組整合對外提供統一的服務。分散式的核心概念就是“拆”,將服務整體拆分成各個細粒度的功能介面。但是對使用者來說,軟體提供的功能仍然是一個密不可分的整體。