加载中...
文章
15
标签
38
分类
7
首页
归档
标签
分类
关于
柠芒技术博客
设计一个广告投放平台自动控盘的规则引擎系统
返回首页
首页
归档
标签
分类
关于
设计一个广告投放平台自动控盘的规则引擎系统
发表于
2022-06-29
|
更新于
2026-01-28
|
系统设计
20231109 开始写
文章作者:
柠芒技术博客
文章链接:
https://jinfeijie.cn/post-20231109012000.html
版权声明:
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议。转载请注明来源
柠芒技术博客
!
高并发,redis,mq,解耦,数据治理,规则引擎
上一篇
Singleflight:深入解析go缓存击穿方案
几乎所有的现代化面向web编程的系统都在关注高并发情况下如何降低下游服务的承接压力,go语言也不例外。go语言在并发方面的发力体现在很多个方面,如更轻量化的协程,原子性操作的atomic,抑制函数重复调用的singleflight等。在常规的业务开发中singleflight使用并不多见,本文将会详细介绍singleflight,以深入理解和探索singleflight更多的技术细节和适用场景。 设计原理singleflight 主要围绕着在高并发环境下对相同 key 的函数调用进行重复抑制。以下是其设计原理的核心要点: Group 结构: singleflight 使用 Group 结构表示一个函数调用的组。每个 Group 对应于一类工作,其中的函数调用可能会有重复的 key。 call 结构: call 结构用于表示一个正在进行中或已完成的函数调用。它包含一个 sync.WaitGroup 用于等待调用的完成,以及相关的结果和错误信息。 重复调用抑制: 在 Do 方法中,首先检查是否已经存在相同 key 的函数调用。如果存在,新的调用将等待已有调用完成...
下一篇
设计一个几十万TPS的实时位置上报系统
有100w滴滴司机,司机每3s上报一次自己的位置。请你设计一个系统,能够实时将司机的位置存储进系统,并且能够给另外一个系统实时显示路径(每3秒刷新一次最新点),历史数据能够随时查询。 在脉脉上看到这个题目,挺多人讨论。刚好在前司早期也负责做过这块的东西,复刻一下以前的解决方案。 需求分析需求简单拆解可以分为明面上的需求: 位置上报(我之前负责的业务为1s一次上报) 业务实时路径查询 业务历时可查 以及需要解决存在问题和附加需求。 提交的数据怎么防止被恶意刷接口,影响数据准确? 接口响应时间必须要低,以支持几十万的请求。 需要为算法提供数据,以支持路径优化算法在未来变得更加高效。 需要为风控提供数据,以支持业务风控部门内部反作弊的需求。 距离计算,以提供给用户查询实时的距离有多少,以当前速度还需要多久送达。 所以就会多出几个有必要去解决的问题。 数据鉴权,防攻击脏数据 路径优化 路径反作弊 距离计算 技术方案在涉及点位上报前还有生成订单的环节。在生成订单时,订单的目标地址会被推送到算法路径规划的服务中,进行最短路径输出。在前司的业务场景中,因一个配送员存在顺路的情况...
柠芒技术博客
专注于复杂系统架构设计、AI Agent落地、Go语言开发、深度创业
文章
15
标签
38
分类
7
最新文章
搞定 Cloudflare Pages 优选 IP:从 522 报错到秒开的“偷梁换柱”避坑指南
2026-01-24
Singleflight:深入解析go缓存击穿方案
2024-01-01
设计一个几十万TPS的实时位置上报系统
2022-06-29
设计一个广告投放平台自动控盘的规则引擎系统
2022-06-29
Slice的初始化和扩容过程
2022-01-16