沒接觸過node,常常看文章說node做中間層,不知道具體指什麼意思?例如在程式中解決了什麼問題,如果說解決了渲染問題,那也是頁面端,前端框架已經解決了,難道說是後端渲染前端框架,然後整個塞到前端嗎?
走同样的路,发现不同的人生
很多專案中後端應用程式往往不只一個服務,而是一群各司其職的服務,例如nginx的存在就是因為伺服器上運行著多個服務,而不同的網路請求由不同的服務處理,需要在這些服務前假設一層nginx做為代理,將請求分發給不同的服務,nginx在這裡的角色就等於中間層。
對於一個比較複雜的web站點,頁面中的請求通常分為兩種,請求頁面與請求資料(ajax)。如果後端是單體應用,當發現所有請求量太多應付不過來的時候就可以考慮做這樣的分離,將處理頁面渲染的請求分給另一個服務,擋在前面,自己只負責資料相關的請求。 nodejs擅長處理io密集型任務,很適合做處理頁面渲染的服務,於是很多人選擇了nodejs。淘寶也是類似的架構,據說現在所有淘寶的頁面都是由node服務渲染的。
講道理就是用nodejs做靜態資源管理和請求轉送。 做到後端只管資料接口,前端負責路由,靜態資源。
加了node的中間層,可以讓前端處理view層和control層,後端只負責處理model層。前後端分離比較徹底,分工更明確一點吧。
另外就是有些框架在伺服器不是node的時候SEO比較難做。加了node中間層後比較好做SEO
node就是鏈狀執行
請求接收 -> 中介軟體1 -> 中介軟體2 -> ... 中介軟體n ... -> 回傳
中介軟體就是某一個處理操作
可以看看淘寶的midway。可以說核心概念都有了。
很多專案中後端應用程式往往不只一個服務,而是一群各司其職的服務,例如nginx的存在就是因為伺服器上運行著多個服務,而不同的網路請求由不同的服務處理,需要在這些服務前假設一層nginx做為代理,將請求分發給不同的服務,nginx在這裡的角色就等於中間層。
對於一個比較複雜的web站點,頁面中的請求通常分為兩種,請求頁面與請求資料(ajax)。如果後端是單體應用,當發現所有請求量太多應付不過來的時候就可以考慮做這樣的分離,將處理頁面渲染的請求分給另一個服務,擋在前面,自己只負責資料相關的請求。 nodejs擅長處理io密集型任務,很適合做處理頁面渲染的服務,於是很多人選擇了nodejs。淘寶也是類似的架構,據說現在所有淘寶的頁面都是由node服務渲染的。
講道理就是用nodejs做靜態資源管理和請求轉送。
做到後端只管資料接口,前端負責路由,靜態資源。
加了node的中間層,可以讓前端處理view層和control層,後端只負責處理model層。前後端分離比較徹底,分工更明確一點吧。
另外就是有些框架在伺服器不是node的時候SEO比較難做。加了node中間層後比較好做SEO
node就是鏈狀執行
請求接收 -> 中介軟體1 -> 中介軟體2 -> ... 中介軟體n ... -> 回傳
中介軟體就是某一個處理操作
可以看看淘寶的midway。可以說核心概念都有了。