Redian新闻
>
自定义跟踪架构:Slack 高效解决通知问题

自定义跟踪架构:Slack 高效解决通知问题

公众号新闻

作者 | Rafal Gancarz
译者 | 平川
策划 | 丁晓昀

Slack利用其自定义的跟踪架构来协助排查通知发送问题。该跟踪架构的帮助下,他们解决通知问题的速度提高了 30%,而且减少了将问题升级给开发团队的次数。该架构还简化了分析管道,并为数据科学团队解锁了新的应用场景。

消息通知是 Slack 用户体验的关键组成部分。然而,由于通知流横跨 Slack 平台的许多组件,包括服务器端和客户端,所以要对客户体验团队收到的问题进行排查,有时候并不容易。开发团队经常不得不花费好几天的时间,查看多个具有不同日志记录后端、不同日志记录格式的系统。

图片来源:https://slack.engineering/tracing-notifications/

之前,Slack 创建了一个自定义的 SlackTrace 跟踪架构,并使用它来跟踪日常的消息传递。他们用它跟踪了 1% 的客户端请求。接下来,该公司决定构建自己的跟踪解决方案,因为他们发现,没有一个现成的第三方解决方案能完全满足他们的需求。

为了跟踪消息通知,团队识别出值得注意的事件并确定了属性映射,从而实现流和跟踪的映射。他们决定将通知跟踪与消息请求跟踪分开。这样,他们就可以支持通知流的 100% 采样,从而满足 Slack 客户体验团队的要求。

通知跟踪改进了问题归类和调试。客户体验团队的成员自己就可以使用跟踪数据来了解出错的位置,不需要求助开发团队就可以解答客户的疑问。这个新功能也为 iOS 和 Android 工程师开始使用 Grafana 来监控移动应用程序中的通知发送提供了帮助。最后,数据科学团队从跟踪数据中获得了洞察。他们通过漏斗分析来加深对通知打开率的理解,并利用历史通知跟踪数据来识别应用程序中的 Bug 和工具代码。

Slack 高级软件工程师 Suman Karumuri 将跟踪的好处总结如下:

将产品分析数据建模为跟踪,可以在整个复杂的技术栈中以一致的数据格式提供高质量的数据。此外,内置的跟踪数据会话化免除了额外对跟踪数据进行去重和会话化的任务,简化了分析管道。

SlackTrace 架构由一个 Go Web 服务器应用程序和一个 Go 消费者服务组成,前者负责向 Apache Kafka 发布跟踪 span 事件,后者负责将事件持久化到实时存储(ElasticSearch)和数据仓库中。后端服务使用 Zipkin 和 Jaeger 工具库来报告 span 事件,并转换为内部 span 表示,而桌面和移动应用程序可以直接使用 span API。

图片来源:https://slack.engineering/tracing-at-slack-thinking-in-causal-graphs/

Slack 选用了一种比较简单的 span 表示,这使得他们的解决方案更加灵活,不用紧紧围绕请求和网络跟踪来开展。Span 的结构简单,数据可以存储在单个表中,并且支持多种查询选项,工程师可以从中提取他们需要的数据来回答特定的问题。

原文链接:

https://www.infoq.com/news/2023/06/slack-notification-tracing/

相关阅读:

Slack 实时消息处理架构,更新、更快、更稳定 (https://www.infoq.cn/article/9lp0pYfij3bUxmHDXkxl )

Slack 工程师如何解决最常见的移动开发痛点 (https://www.infoq.cn/article/hhh8OGLNbsz121H43Df4)

声明:本文为 InfoQ 翻译,未经许可禁止转载。

点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!

今日好文推荐

IPv4 开始收费!新的 IT 灾难?

爱奇艺VR公司业务停滞,员工或被欠薪;阿里云开源通义千问 70 亿参数模型,免费可商用;华为正式发布鸿蒙 4,接入大模型|Q资讯

年薪超 600 万,比技术总监还高:电影行业 AI 产品经理的崛起

都在追“新潮”技术,但你有大厂们的动作快吗?

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
西塞罗:罗马共和国和元老院精英的代言人,最著名的古罗马哲学家和文学家Slack利用自定义的跟踪架构来协助排查消息通知问题历史新低!Slow Slog 6合1 五谷杂粮 分类装米桶5折 34.99元!基于 SpringBoot 实现多租户架构:支持应用多租户部署和管理谷歌 ChromeOS 116 系统发布:文件搜索优化、RGB 键盘自定义四十九 相聚直播预告:如何经济高效解决复杂网络芯片系统级验证难题陈丹琦重新定义了文本相似性问题,提出C-STS,GPT-4也不能很好解决OpenAI 为ChatGPT增加全新自定义指令功能面试官:如何使用 Dockerfile 去构建自定义的 Docker 镜像?问倒一大片。。。Slack 蜂窝架构迁移:背后的技术策略与挑战面试官:如何使用Dockerfile去构建自定义的Docker镜像?问倒一堆靠合并+SLG大获成功后,SLG大佬江娱这款新游戏有何不同?你的DragGAN并不需要点跟踪!中科大和上海AI Lab提出FreeDrag:无需点跟踪即可稳定拖动语义内容精选DS岗位 | Amazon、BlackRock、Tesla、公司岗位发布!Transformer后继有模!MSRA提出全新大模型基础架构:推理速度8倍提升,内存占用减少70%反日如大陆人,好几成因为现在才发现:大厂是用这些维度设计【自定义】的神经图灵机作者提出全新贝叶斯流网络,有效解决离散数据生成问题五十 希望【北台湾老街】宝藏岩聚落· 老兵的栖息地(多图)案例分享:混部共享集群租户内自定义调度编排数据密集型Serverless应用|QCon像相机一样变焦、填充画面细节,还能自定义风格,AI作画神器Midjourney又更新了谷歌联合创始人回归做AI;ChatGPT上线自定义指令功能;DeepMind迭代AI设计芯片方法丨AIGC大事日报中科院、阿里出品FF3D,创建自定义风格化3D人像只需三分钟8月最新!McKinsey、BlackRock...200+公司开岗,最快3周拿Offer【提示】《上海市野生动物保护条例》表决通过,后续将这样贯彻落实国庆假期,年轻人迷上自定义主题游清华大学教授魏少军:新型芯片架构需强化“软件定义”ChatGPT推出自定义指令:说一次就记住,每次对话都能遵守Erklärung zur Zusammenarbeit大盘持续萎缩的SLG迎来大换血,8款SLG新游戏跻身收入TOP30点点冰雪生存SLG日流水破千万、冲刺全球冠军,SLG品类却深藏隐忧阿里达摩院免费开放100件AI专利;字节推出大模型MBTI测试结果;ChatGPT自定义功能扩展免费丨AIGC大事日报无服务器架构:云计算的演变
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。