天天看點

電商網站精華彙總

電商網站001,微服務架構

電商網站002,本地域名解析+cors解決跨域問題

電商網站003,FastDFS分布式檔案系統

電商網站004,ES站内搜尋

電商網站005,Nginx頁面靜态化

電商網站006,RabbitMQ資料一緻性和調用短信微服務

電商網站007,注冊功能,使用者微服務通過RabbitMQ通知短信微服務

電商網站008,單點登入功能,username和password生成代表指定使用者id已登入狀态的token,token放在Cookie或url後面

電商網站009,購物車(未登入狀态下,資料存儲到localstorage,已登入狀态下,資料存放在redis)

電商網站010,下單(使用整型+接口幂等性)

項目亮點(Nginx和Redis太常用了,上不了台面)

能夠拿出來吹的東西:

SpringCloud微服務架構 + 使用switchhost設定本地域名解析和Nginx虛拟主機設定80端口 + 用cors解決跨域問題 +

使用 FastDFS分布式檔案系統 ,存放圖檔音視訊等靜态資源,電商網站靜态資源太多,使用分布式檔案系統代替傳統檔案系統

兩個優化:

對于站内搜尋商品的功能,使用 ES搜尋 完成,對于ES中的資料,使用Kibana可視化管理。

由于商品詳情頁資料量大,對于商品詳情頁的頁面渲染,考慮Web伺服器和web應用伺服器的優缺點,将動态頁面靜态化為html頁面,存放在Nginx伺服器上,第2-n次請求,直接傳回商品詳情的靜态頁面。

RabbitMQ:對于兩個優化,使用 消息隊列 來維護資料庫資料一緻性,

注冊和登入功能:

注冊

登入使用單點登入,

1、【背景管理系統】後端搭建基于SpringCloud的微服務工程并測試(eureka-server微服務、zuul微服務、業務微服務)
2、【背景管理系統】Vuetify UI架構 + 本地域名和Nginx設定80端口 + 跨域問題(同域和跨域、跨域三種解決方式jsonp nginx cors)、cors定義、cors解決跨域的原理和實際)
3、【背景管理系統】FastDFS 分布式檔案系統(項目實踐:存放圖檔音視訊等靜态資源,電商網站靜态資源太多,使用分布式檔案系統代替傳統檔案系統)+ FastDFS架構圖 + FastDFS上傳流程 + FastDFS下載下傳流程
4、【門戶系統】首頁-ES搜尋

5、【門戶系統】商品詳情頁面-頁面靜态化

(1)為什麼要使用頁面靜态化?

(2)what 什麼是靜态化?靜态化的原理?

(3)how 如何實作靜态化?

(4)Thymeleaf實作靜态化(将渲染結果寫到本地檔案得到靜态頁面存放到Nginx伺服器)

a. Thymeleaf中的三個概念

b. controller接口什麼時候調用靜态化service

c. nginx配置:修改nginx配置,讓它對商品請求進行監聽,指向本地靜态頁面,如果本地沒找到,才進行反向代理到實際伺服器

ps:原則:生成html 的代碼不能對使用者請求産生影響,是以這裡我們使用額外的線程進行異步建立。

這些記下來,一氣呵成,頁面靜态化這個問題就好了。
6、消息隊列 RabbitMQ
7、注冊功能
8、登入功能:單點登入
9、購物車
10、下單

es和solrcloud的差別

1、es安裝和配置比solrcloud容易

2、es本身就是基于分布式的,solr不是基于分布式的,需要手動安裝多個單體solr構成solrcloud叢集,然後使用zookeeper來管理叢集。

3、es使用kibana實作可視化

4、索引庫都是沒有分詞器的,都需要手動配置ik分詞器

問題:(FastDFS的檔案存放在哪裡?)

FastDFS隻是一個分布式檔案存儲方案,它本身不存儲圖檔,圖檔存放在Nginx上,FastDFS僅僅協調存放在多個伺服器上的圖檔資源。

繼續閱讀