go-json-cycle

json 序列化一个有循环引用的对象: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950/* Copyright...

DataMaid 整体架构

excalidraw 链接 https://excalidraw.com/#json=eZev9Wx8WmdBIcSK6PX1n,Pko4c96VRgkH2G0YjHeQ-A excalidraw 源文件 datamaid.excalidraw ...

Architecture

Datamaid 统一输出服务的查询 API 设计

Datamaid 是一个实体数据管理平台。前期我介绍了它的数据落库能力。可以通过配置化把数据落到对应的存储。 那么,既然我们同时拥有了数据源信息、实体各字段信息、实体各字段的存储信息。 是否可以做一个统一的服务,直接完成数据的查询呢? 当然是可以...

Architecture
Go
理解 GMP
•schedule 源码注解
•findRunnable 源码注解
•execute 源码注解
•gosched_m 源码注解
•park_m 源码注解
•goexit0 源码注解
•retake 源码注解
•syscall 源码注解

Redis 引发的思考:能用就行

最近从 Redis 的设计中,想到一些解决问题的思维方式。那就是如果想从正面完美地解决某个问题不容易实现,不如从另一个角度出发,”不完美”地解决问题。 比如下面的 Redis 开发者在解决下面的问题时: 炫杉:菜鸟瞎分析,大佬勿喷。 跳表层数的...

Redis

Datamaid 如何实现实时源接入

技术项目和业务产品一样,如果一开始就设计得完美无暇,那实现起来也是艰难无比。倒不如先实现 MVP (Minimum Viable Product) 版本 ,再初步迭代完成升华。 下面就说说我在设计 Datamid 实时数据源接入的思考过程。 背景Da...

Architecture
Go
理解 map
•核心数据结构
•构造方法 源码注解
•读流程 源码注解
•写流程 源码注解
•删流程 源码注解
•遍历流程 源码注解
•渐进式扩容 源码注解

Datamaid 的双ES索引设计

背景Datamaid 是我们设计的一套统一数据治理系统。通过在系统上进行配置,不需要开发就可以把上游数据灌入到你自己的业务表或其他存储引擎。 因为我们的业务上需要使用大量的字段筛选,所以底层存储是用了 ES。 至此,我们有了一个系统,每天灌入数据到存...

Architecture
Go
理解 channel
•核心数据结构
•构造方法 源码注解
•写 channel 过程源码注解
•读 channel 过程源码注解
•非阻塞模式 源码注解
•两种读协议
•关闭 channel 源码注解

Go 哨兵错误

有这种写法,定义一个全局变量的 error ,在用到的时候直接返回 1var ErrNotFound = errors.New("404") 这样写有个隐患,如果有人在某个方法里写了句 1errNotFound = nil ...

Go
12320