摘要: MYSQL实现 创建一个锁表, 表头资源ID,锁状态,节点ID 当一个节点处理请求时 先根据资源ID判断资源是否上锁,等待锁被释放后创建一条锁记录,进行后续操作. 缺点: 因为MYSQL是文件IO效率会慢 REDIS实现 通过setnx来设置锁,如果返回1代表获取锁,0就继续等待 问题: 可能会出现 阅读全文
posted @ 2024-07-26 19:20 侯佳奇 阅读(25) 评论(0) 推荐(1)
摘要: 基本的异常处理 目前流行的语言错误处理都是通过 try catch finally 关键字或类关键字处理的 但是在 golang 中提供了一些全新模式, 不同于 try catch 语句, go语言通过函数返回错误来捕获, go内置了error接口, 只要实现Error() string方法, 通过 阅读全文
posted @ 2024-07-02 18:22 侯佳奇 阅读(52) 评论(0) 推荐(0)
摘要: 之前一直以为FastAPI对于同步IO会发生服务阻塞,直到今天看到了这一块代码,原来同步的函数会开线程去处理 fastapi/routing.py async def run_endpoint_function( *, dependant: Dependant, values: Dict[str, 阅读全文
posted @ 2024-05-11 14:20 侯佳奇 阅读(186) 评论(0) 推荐(0)
摘要: 在FastAPI通过标注Header类型获取Authorization时, 会导致openapi页面的请求没法使用 from typing import Annotated from fastapi import FastAPI, Header, Request, Depends, Cookie, 阅读全文
posted @ 2024-05-11 14:12 侯佳奇 阅读(167) 评论(0) 推荐(0)
摘要: 突发奇想,我想验证一下Python的异步后端框架的并发能力. 目前主流的异步框架有Fastapi,Django和Tornado. 顺便我想对比一下它们的性能,但是考虑到Tornado自成一派没有遵循Asgi,没办法屏蔽服务器部分的代码效率,所以我打算只拿Fastapi和Django做下对比. 实验设 阅读全文
posted @ 2024-03-15 18:03 侯佳奇 阅读(634) 评论(0) 推荐(0)
摘要: 这是个git log的例子, 后面都用这个例子 ➜ qverse_management git:(develop) git log --oneline | head 79ebea4 Merge branch 'feature/3.2.5' into 'develop' b0a3714 fix:时间过 阅读全文
posted @ 2024-03-04 18:48 侯佳奇 阅读(23) 评论(0) 推荐(0)