NuSTER: HTTP 協議,面向使用者, RESTful 的 NoSQL 快取伺服器
NuSTER 是一個基於 HAProxy 的高效能 HTTP 快取伺服器和 RESTful NoSQL 快取伺服器,既可以用作類似 Varnish 或者 Nginx 那樣的 HTTP 快取伺服器,來快取動態或者靜態的 HTTP 資源,也可以用作 RESTful NoSQL 快取伺服器, 用 HTTP POST/GET/DELETE 來 新增 /取得 /刪除 Key/Value。
https://github.com/jiangwenyuan/nuster
RESTful NoSQL 快取伺服器
可以像 Memcached 或者 Redis 那樣放在應用和資料庫之間作為內部 KV 快取使用,也可以放在使用者和應用之間作為面向使用者的 NoSQL 使用。 支援 header, cookie 等等,所以可以將不同的使用者資料存到相同的路勁。
- HAProxy 的所有特性(HTTPS, HTTP/2, ACL, etc)
- 有條件的快取
- 內部 KV 快取
- 面向使用者快取
- 支援任何型別的資料
- 支援所有程式語言,不需要特定的庫,只需 HTTP 支援
基本操作
Set
curl -v -X POST -d value1 http://127.0.0.1:8080/key1
curl -v -X POST --data-binary @icon.jpg http://127.0.0.1:8080/imgs/icon.jpg
Get
curl -v http://127.0.0.1:8080/key1
Delete
curl -v -X DELETE http://127.0.0.1:8080/key1
Response
Check status code.
200 OK
POST/GET: 成功
DELETE: 總是
400 Bad request
空值
不正確的 acl, rules, etc
404 Not Found
POST: rule tests 失敗
GET: not found
405 Method Not Allowed
其他的 methods
500 Internal Server Error
發生未知錯誤
507 Insufficient Storage
超過 data-size
分使用者的 data
通過在 key 里加入 header, cookie 等等,可以將不同的使用者資料存到相同的路勁。
nuster rule r1 key method.scheme.host.uri.header_userId if { path /mypoint }
nuster rule r2 key method.scheme.host.uri.cookie_sessionId if { path /mydata }
Set
curl -v -X POST -d "333" -H "userId: 1000" http://127.0.0.1:8080/mypoint
curl -v -X POST -d "555" -H "userId: 1001" http://127.0.0.1:8080/mypoint
curl -v -X POST -d "userA data" --cookie "sessionId: ijsf023xe" http://127.0.0.1:8080/mydata
curl -v -X POST -d "userB data" --cookie "sessionId: rosre329x" http://127.0.0.1:8080/mydata
Get
curl -v http://127.0.0.1:8080/mypoint
< 404 Not Found
curl -v -H "userId: 1000" http://127.0.0.1:8080/mypoint
< 200 OK
333
curl -v --cookie "sessionId: ijsf023xe" http://127.0.0.1:8080/mydata
< 200 OK
userA data
相關文章
- 基於HAProxy的高效能HTTP快取伺服器和RESTful NoSQL快取伺服器HTTP快取伺服器RESTSQL
- 基於HAProxy的高效能HTTP快取伺服器和RESTful NoSQL快取伺服器。HTTP快取伺服器RESTSQL
- Web快取 – HTTP協議快取Web快取HTTP協議
- HTTP快取協議實戰HTTP快取協議
- 前端要知道的Http協議快取前端HTTP協議快取
- web 快取伺服器 HTTP2 效能測試: nuster vs nginxWeb快取伺服器HTTPNginx
- 真正“搞”懂HTTP協議10之快取控制HTTP協議快取
- HTTP快取——協商快取(快取驗證)HTTP快取
- 高效能快取伺服器 nuster 1.7.9.7 釋出快取伺服器
- 高效能快取伺服器 nuster 1.7.9.9 釋出快取伺服器
- 高效能快取伺服器 nuster 1.7.9.8 釋出快取伺服器
- 高效能 Web 快取伺服器 nuster 1.7.9.6 釋出Web快取伺服器
- 高效能快取伺服器 nuster v1.8.8.1 釋出,支援 HTTP/2,多執行緒快取伺服器HTTP執行緒
- 高效能快取伺服器 nuster v1.7.10.1 釋出快取伺服器
- http快取策略以及強快取和協商快取淺析HTTP快取
- WEB伺服器之HTTP協議Web伺服器HTTP協議
- http強制快取、協商快取、指紋ETag詳解HTTP快取
- 02 前端HTTP協議(圖解HTTP) 之 簡單的HTTP協議前端HTTP協議圖解
- [前端 · 面試 ]HTTP 總結(九)—— HTTP 協商快取前端面試HTTP快取
- http協議HTTP協議
- HTTP 協議HTTP協議
- 快取一致性協議快取協議
- 真正“搞”懂HTTP協議12之快取代理HTTP協議快取
- HTTP快取HTTP快取
- ServiceWorker 快取與 HTTP 快取快取HTTP
- 高效能快取伺服器 nuster v1.8.8.2 和 v1.7.11.2 釋出快取伺服器
- 區分http請求狀態碼來理解快取(協商快取和強制快取)HTTP快取
- HTTP協議和HTTPS協議的異同點?HTTP協議
- 理解http協議HTTP協議
- http協議分析HTTP協議
- HTTP協議(2)HTTP協議
- HTTP 協議類HTTP協議
- 小解http協議HTTP協議
- HTTP協議概述HTTP協議
- HTTP協議的特點HTTP協議
- HTTP 協議的前世今生HTTP協議
- 《圖解HTTP》——簡單的HTTP協議圖解HTTP協議
- HTTP 快取中的 VaryHTTP快取