没想到可以这样
more >>如何使用 Redis 的 Sorted Set 数据结构和 Go 语言来实现一个高效的延时任务队列。我愁了很久才想出来这个。
more >>延时任务(不是定时任务,比如每天12:00做点什么)是一个常见的需求。在这篇博客中,我将探讨如何使用 Golang 和 PostgreSQL 来构建一个高效、可靠的延时任务处理系统。
more >>在处理并发请求的过程中,保证同一实体的HTTP请求的处理得到顺序(串行)处理是非常重要的。
这种处理方式能够有效地避免因并发导致的数据一致性问题。
假设你正在开发一个电子商务系统,每个用户都有一个购物车实体,用户可以同时向购物车中添加多个商品,但是购物车有一个上限。如果系统不能保证对同一购物车的所有操作都顺序执行,就可能导致购物车的状态出现不一致。例如,一个操作可能正在读取购物车中的商品数量,如果还未超限就往里添加,而此时另一个同样的操作也在进行。如果这两个操作并发执行,就可能导致两边都认为购物车还有空间,从而让购物车中的商品数量超过限制。
因此,为了避免这种并发问题,你可以设计你的系统,使得所有对同一购物车的操作都顺序执行(比如在同一个 goroutine 中处理)。这样,即使有多个并发的 http 请求,也可以保证对购物车状态的操作总是一致的。
具体方案如下:
more >>使用 systemd 部署一个 elixir 服务到 qa 环境, 结果用不到 remote_console ,多难受的一件事 :(
遇到的还是一个从来没见过的报错, 下面就来一起看一下
我们的一个项目是后端定时发心跳包给前端,前端必须在 4 秒内回复, 不回复就断开连接。
然而有一次前端被断开了连接, 说没有收到心跳包就被断了。查了很久。
前几天遇到的,目前也没有完全水落石出,不过还是记录一下
大概的过程是:将一个有 1 亿多行表改成了分区表,然后发现只读结点的CPU从长期稳定的 20%以下升到了 50% 多, 并一直持续在这个水平。我以为是改分区表导致的,于是第二天我又执行DDL要改回非分区表。结果执行了半小时(过程中的监控图表很像是一直在干活的那种,就是 iops 等各种高)后提示 ERROR 8007 (HY000): Fail to get MDL on replica during DDL synchronize,执行 show full processlist 发现只读结点上有几个 select 持续了一天还没结束,显然它们阻塞了 MDL 锁的获取。于是 kill 掉,然后 CPU 就下来了。
more >>tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true