架构
已收录文章:31篇
-
支付渠道一多,业务代码很容易被供应商 SDK 和字段差异拖住。本文用 Go 拆出支付端口、渠道适配器和业务用例,演示如何保持核心接口稳定,并处理超时、重复回调和渠道错误映射。293 收藏
-
Go 服务把审计日志同步写进一个文件后,吞吐上不去、磁盘抖动还会拖慢请求。本文用分片队列和批量落盘拆开写入压力,并验证顺序、重放与停机收尾。430 收藏
-
Golang · Go问答 | 2星期前 | 配置 · 设计模式 · 架构 · Go问答 · 代码重构 · Go 默认值 配置参数 参数校验 构造函数 option Functional OptionsGo 的构造函数参数从 3 个长到 8 个后,直接继续加位置参数会让调用点难读也难兼容。Functional Options 能把可选配置变成具名、可组合的设置项,但它不适合承载必填依赖或运行期变更。本文给出最小实现、交叉校验和选择清单。100 收藏
-
从一个大租户挤占接口容量的场景出发,讲清 Go 服务如何按全局、租户和路由拆分限流边界,单实例如何用 x/time/rate 落地,以及多实例为什么需要共享预算。294 收藏
-
1、redis哨兵(Sentinel) 1.1、redis集群介绍 前面文章讲的主从复制集群是无法实现master和slave角色的自动切换的,如果master节点出现现redis服务异常、主机断电、磁盘损坏等问题导致master无法使用442 收藏
-
表头(header): 每一列的名称; 列(col): 具有相同数据类型的数据的集合; 行(row): 每一行用来描述某个人/物的具体信息; 值(value): 行的具体信息, 每个值必须与该列的数据类型相同; 键(key): 表中用来162 收藏
-
背景有2种常见的多维度查询场景,分别是:带多个筛选条件的列表查询不含分库分表列的其他维度查询普通的数据库查询,很难实现上述需求场景,更不用提模糊查询、全文检索了。下面结合412 收藏
-
序言 夏日炎炎,无风。从空调房间出来,再到接近四十度的高温,这个过程,缓存预热了解一下…… 为什么要用缓存?因为追求性能,因为要追求极致的用户体验。 缓存理论 1、311 收藏
-
前段时间,在和一个做了十年的顶级叫故事聊天,他说,在开发项目的时候,往往碰到的不同的需求情况,兼容不同类型的数据库是我们项目以不变应万变的举措之一,在底层能够兼容多种数据427 收藏
-
这里所说的五件套是指关系型数据库、索引型数据库、时序型数据库、文档型数据库和缓存型数据库。 上图显示了一套读写服务搭配这五种类型数据库的例子: 这里只是说明了我们可以这么180 收藏
-
【golang学习网.com原创稿件】在上篇文章《深入学习 Redis 高可用的基石:主从复制》中曾提到,Redis 主从复制的作用有数据热备、负载均衡、故障恢复等;但主从复制存在的一个问题是故障恢复106 收藏
-
明确需求 对这个问题有兴趣是源于一次开发中遇到要统计人数的需求。类似于“得到”专栏的订阅数。 但是我的数据量比这个大很多,而对数据的准确性要求就不那么高。所以首先要明确需求368 收藏