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快取
- 瀏覽器 HTTP 協議快取機制詳解瀏覽器HTTP協議快取
- 開源高效能 web 快取伺服器 nusterWeb快取伺服器
- 高效能快取伺服器 nuster 1.7.9.7 釋出快取伺服器
- 高效能快取伺服器 nuster 1.7.9.9 釋出快取伺服器
- 高效能快取伺服器 nuster 1.7.9.8 釋出快取伺服器
- Http協議:徹底弄懂 Http 快取機制 - 基於快取策略三要素分解法HTTP協議快取
- 高效能 Web 快取伺服器 nuster 1.7.9.5 釋出Web快取伺服器
- 高效能 Web 快取伺服器 nuster 1.7.9.6 釋出Web快取伺服器
- 高效能快取伺服器 nuster v1.8.8.1 釋出,支援 HTTP/2,多執行緒快取伺服器HTTP執行緒
- http快取策略以及強快取和協商快取淺析HTTP快取
- 快取一致性協議(MESI協議)快取協議
- WEB伺服器之HTTP協議Web伺服器HTTP協議
- 高效能快取伺服器 nuster v1.7.10.1 釋出快取伺服器
- [前端 · 面試 ]HTTP 總結(九)—— HTTP 協商快取前端面試HTTP快取
- http強制快取、協商快取、指紋ETag詳解HTTP快取
- RTSP協議、RTMP協議、HTTP協議的區別協議HTTP
- 02 前端HTTP協議(圖解HTTP) 之 簡單的HTTP協議前端HTTP協議圖解
- HTTP 協議HTTP協議
- [HTTP協議]HTTP協議
- http協議HTTP協議
- 快取一致性協議快取協議
- 真正“搞”懂HTTP協議12之快取代理HTTP協議快取
- 面向協議程式設計協議程式設計
- HTTP快取HTTP快取
- HTTP—快取HTTP快取
- ServiceWorker 快取與 HTTP 快取快取HTTP
- 基於HTTP協議,以JSON為資料互動格式的RESTful API。HTTP協議JSONRESTAPI
- http協議分析HTTP協議
- 理解http協議HTTP協議
- HTTP協議概述HTTP協議