文件名称:dcard-simple-demo:这是Dcard APP后端的简单演示
文件大小:2.39MB
文件格式:ZIP
更新时间:2024-05-27 02:37:19
redis golang postgres lua dcard
dcard-simple-demo 此专案是针对Dcard公司的申请作业,题目描述: Dcard 每天午夜都有大量使用者涌入抽卡,为了不让伺服器过载,请设计一个middleware: 限制每小时来自同一个IP 的请求数量不得超过1000 在response headers 中加入剩余的请求数量(X-RateLimit-Remaining) 以及rate limit 归零的时间(X-RateLimit-Reset) 如果超过限制的话就回传429 (Too Many Requests) 可以使用各种资料库达成 因此本专案除了做了该middleware,并模拟了小型Dcard系统的专案,例如有抽卡API及创建user API,因此背后需要有PostgreSQL、Redis两种资料库的支持。 专案讲解 使用环境及工具 采用Golang语言的Gin框架开发RESTful API,使用Postgre
【文件预览】:
dcard-simple-demo-master
----swagger()
--------dist()
----handler()
--------handler.go(94B)
--------auth.go(1KB)
--------pair.go(2KB)
--------user.go(2KB)
----main_test.go(6KB)
----model()
--------pairs.go(185B)
--------user.go(463B)
----schema()
--------testing_data.sql(773B)
--------setup_db.sql(434B)
--------create_fk.sql(255B)
--------readme.md(1KB)
--------create_table.sql(760B)
--------grant_table_privilege.sql(276B)
--------create_db.sql(1KB)
----Dockerfile(148B)
----docker-compose.yaml(1KB)
----LICENSE(11KB)
----.env(276B)
----main.go(2KB)
----.gitignore(339B)
----lib()
--------config()
--------auth()
--------httputil()
--------constant()
--------middleware()
--------lua()
--------validate()
----docker-pg-init-scripts()
--------init.sql(4KB)
----go.sum(20KB)
----README.md(11KB)
----go.mod(661B)