服務的線性擴充套件

2021-08-16 10:56:38 字數 705 閱讀 2585

無狀態服務(stateless service)對單次請求的處理,不依賴其他請求,也就是說,處理一次請求所需的全部資訊,要麼都包含在這個請求裡,要麼可以從外部獲取到(比如說資料庫),伺服器本身不儲存任何資訊 。

有狀態服務(stateful service)則相反,它會在自身儲存一些資料,先後的請求是有關聯的

方案一:將所有資訊都放在請求裡之外方案二:session集中存放

有狀態服務常常用於實現事務 。舉乙個常見的例子,在**裡購買一件商品。需要經過放入購物車、確認訂單、付款等多個步驟。由於http協議本身是無狀態的,所以為了實現有狀態服務,就需要通過一些額外的方案。比如最常見的session,將使用者挑選的商品(購物車),儲存到session中,當付款的時候,再從購物車裡取出商品資訊 。

有狀態服務可以很容易地實現事務,所以也是有價值的。但是經常聽到一種說法,即server要設計為無狀態的,這主要是從可伸縮性來考慮的。如果server是無狀態的,那麼對於客戶端來說,就可以將請求傳送到任意一台server上,然後就可以通過負載均衡等手段,實現水平擴充套件。如果server是有狀態的,那麼就無法很容易地實現了,因為客戶端需要始終把請求發到同一臺server才行,所謂「session遷移」等方案,也就是為了解決這個問題 。

參考:

線性篩及其擴充套件應用

好久沒寫部落格了。不過noip的努力一直沒有停止過 今天學習了線性篩的擴充套件,正好時間有空,就來寫部落格了 線性篩思路還是比較簡單,即保證每個數隻被它最小的因數篩去一次,先看裸的 includeusing namespace std const int maxn 1000010 int pri m...

ssh服務擴充套件

一 安全金鑰驗證 配置服務 主機為192.168.10.10 客戶端為192.168.10.20 1.安裝服務 yum install sshd y 2.配置服務 a,在客戶端主機中生成 金鑰對 ssh keygen b,把客戶端主機中生成的公鑰檔案傳送至遠端主機 ssh copy id 192.1...

Docker 擴充套件服務

1.通過使用多個compose檔案擴充套件整個compose檔案 2.使用 extend 字段擴充套件單個服務 docker compose.yml檔案 version 3 services web image tomcat 8 depends on db cache cache image red...