分库主要是为了解决并发量大的问题,常常按照业务进行分库,
分表主要是针对单标数据量过大时进行。
当写入请求和读请求都很大时,可以考虑主从架构。
另外,如果分表键不是数值类型时,如字符串,则可以对其进行hash,然后再根据分表的数目进行取模
分库后全局唯一id生成除了雪花算法外,多表+步长来实现自增id也是一种方案,uuid也可以,不过太长,可读性不好,不推荐
垂直分表是按照业务将一个表拆分成多个表,水平分表则是将数据按照一定规则存储在多张表,他们之间表结构是一样的
解决asp.net core singalr 被nginx 代理后无法连接问题。
解决方案就是针对 signalr的请求路径增加特殊处理。
https://blog.csdn.net/small_love/article/details/106254621
分享docker 容器数据卷宿主机路径指定时的一个坑:
docker容器 指定数据卷对应的主机路径时,不需要在宿主机指定目录下面创建_data目录,只需要将原先数据卷对应的宿主机的默认位置下_data目录下的文件转移到新创建的宿主机的指定目录即可。
AsyncLocal和ThreadLocal的区别
AsyncLocal 可以在异步流中跨线程存储状态值。
而ThreadLocal则只能获取当前线程中存储的值。
解决nginx上部署 react 单页应用刷新后404问题。
C# 自旋锁主要是用于持有锁的时间非常短暂,但有需要频繁切换的情况下使用。
自旋锁主要是可以避免频繁的线程上下文的切换来提升性能。
docker 一个dockerfile文件创建多个镜像的办法
第一种:docker build 编译的时候使用--target选项来指定那个中间镜像要作为最终镜像
第二种:使用 docker compose 文件。