DataMaid 整体架构

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

Architecture

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

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

Architecture

Datamaid 如何实现实时源接入

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

Architecture

Datamaid 的双ES索引设计

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

Architecture

抽奖系统设计

抽奖算法根据每个物品的库存,库存数量与中奖概率成反比。 因此可以载入所有物品的库存。然后归一化。 生成一个随机数,看落到哪个区间,对应的就是哪个商品。 中奖后的库存处理物品被抽中,对应库存要-1,但是并发流量大,如果频繁修改数据库没法支持。 可以把库...

Architecture

jwt

cookie + seesion 模式的缺点: 依赖 redis jwt:无状态。用户信息保存在 token 中 jwt 获取过程和 session 无差,用户成功登录,返回用户 token jwt 包含 Header 12alg:"HS...

Architecture

业务中实现最终一致性,和 MySQL 的思想很像!

我们在在线业务里保证数据一致性的一种思路, 和 MySQL 保证 redolog 和 binlog 一致性的方案很像。下面我先来说一下业务里我们是怎么处理的。 说到最终一致性,绕不开的一种方案就是消息队列了。 消息队列可以保证某个数据变更后,多个下游...

Architecture