写点什么

Contentsquare 跨多个服务的通知解决方案:微服务和 Apache Kafka

  • 2023-10-30
    北京
  • 本文字数:1059 字

    阅读完需:约 3 分钟

大小:505.13K时长:02:52
Contentsquare跨多个服务的通知解决方案:微服务和Apache Kafka

Contentsquare 平台的许多场景都需要通知功能。作为其微服务架构的一部分,该公司创建了一个跨多个服务的通用解决方案。在实现过程中,开发人员改进了可观察性,同时还克服了一些可扩展性挑战。

 

Contentsquare 的通知功能可以用于密码重置、API 配额超标告警等,并根据用户的喜好通过电子邮件、Slack 或 Microsoft Teams 发送。该公司选择循序渐进地推出与通知相关的功能,以便在需要时提高性能和可扩展性。



通知组件(来源:Contentsquare工程博客

 

Contentsquare 的平台使用了微服务架构,通知子系统由几个微服务组成。Notification Consumer 负责处理来自Apache Kafka主题的消息。Mailer Service 用于电子邮件通知发送,并使用EJS模板引擎根据预配置的模板呈现电子邮件内容。最后,Integration Service 负责 Slack 和 Microsoft Teams 通知,它将基于Slack的Block KitMicrosoft Teams Adaptive Cards编写 JSON 消息体。Slack Service 和 Microsoft Teams Service(如下所示)分别负责向 Slack 或 Microsoft Teams API 发送通知消息。



用于向 Slack 和 Teams 发送通知的微服务(来源:Contentsquare工程博客

 

Contentsquare 软件工程师Joseph-Emmanuel Banzio分享了该团队在推出通知功能时的经验:

在此过程中,我们遇到了几个瓶颈,为此,我们扩展并增强了系统的可靠性。一个值得注意的挑战是,在创建 Notifications 主题之前,我们最初使用了单个 Kafka 主题进行微服务间通信。在我们发布实时告警测试版之前,这个功能一直运行良好。

 

除了使用专用的 Kafka 主题进行告警通知外,该团队还优化了通知存储,以免读取时出现高延迟。他们实现了一种数据保留机制,用来删除旧的通知记录。另一个需要调查的问题是,一些用户没有收到电子邮件。经过仔细研究,这是由于 SPF(Sender Policy Framework)配置错误引起的,安全团队已经解决了这个问题。

 

为了帮助解决电子邮件通知问题,该团队创建了一个专门的电子邮件可观察性解决方案。其中,它会定期检索第三方电子邮件服务收集的发送事件并存储在 Contentsquare 的平台中。这种方法提供了电子邮件通知流的端到端可见性。

 

在该功能上线的过程中,开发人员还致力于提高了平台的可观察性。他们创建了一个Kibana仪表板来监控和分析日志,一个Grafana仪表板来监控通知微服务使用的云资源。此外,该团队还扩展了对 Kafka 生产集群的监控,以确保资源利用率和 Consumer Group Lag 在可接受的范围之内。将来,该团队计划提升系统弹性,以防系统故障,并提高通知发送的及时性,实现近实时发送。

 

原文链接:

https://www.infoq.com/news/2023/10/contentsquare-notifications/

2023-10-30 08:0047268

评论

发布
暂无评论
发现更多内容

MYSQL造数据占用临时表空间

不在线第一只蜗牛

MySQL 数据库

MES系统适用于哪些行业?MES系统具体功能有哪些?

万界星空科技

工业互联网 制造业 生产管理系统 mes 万界星空科技

丰富企业 AI 存储选择丨焱融科技与安擎完成兼容性互认证

焱融科技

焱融科技 高性能存储 存力 AI存储 安擎

继Bakkt之后的又一全新力作,ICE推出AI高频交易平台

科技汇

博思白板可以画思维导图吗?boardmix常见问题解答!

彭宏豪95

效率工具 在线白板 办公软件 在线协同 在线协作

加速企业上云数智化创新,云耀X实例有妙招

平平无奇爱好科技

性能测试中常用的性能指标有哪些?请解释每个指标的含义

测试人

软件测试 性能测试

阿布扎比:自 2023 年第一季度以来,资本之都 ADGM 资产管理规模创历史新高的 211%

财见

Apache Doris 2.1.3 版本正式发布

SelectDB

数据库 大数据 数据湖 数据分析 物化视图

高并发UE4/UE5像素流送云推流解决方案

点量实时云渲染

ue 像素流送 像素流 像素流送技术 UE4

欧特克工程建设峰会在京召开

E科讯

京东商家智能助手:Multi-Agents 在电商垂域的探索与创新

京东零售技术

人工智能 agent LLM 企业号 5 月 PK 榜

全新品牌升级的 Pencils Protocl,构建 LRT 赛道新范式

大瞿科技

继Bakkt之后的又一全新力作,ICE推出AI高频交易平台

科技热闻

DashVector + DashScope升级多模态检索

DashVector

数据库 后端 向量检索 大模型

即将到期的30亿美元ETH期权将如何影响ETH走势?

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

渣打国际商业银行与环旭电子完成签署3.2亿美元可持续金融绩效连结贷款

财见

百度发布Comate代码知识增强2.0,国内首个支持实时检索智能代码助手

不叫猫先生

人工智能 百度 AI 百度Comate

软件测试学习笔记丨App性能测试方案-霍格沃兹

测试人

软件测试 性能测试 测试开发

湖南省气象信息中心:部署运行省人工智能气象应用支撑平台

ModelWhale

大数据 气象

和鲸携手中国石油大学,助力首届青岛市公共数据创新应用大赛璀璨启程

ModelWhale

公共数据

柔性算力随心配,企业一键上云更智能

平平无奇爱好科技

OPPO举办OTalk 开发者交流专场,提供Android 15多元化适配服务

科技热闻

和鲸科技联合中软国际教育,发布 AI 数智科研联合解决方案

ModelWhale

人工智能 科学数据

6倍性能一直加速一直快,云耀X实例值得中小企业拥有

轶天下事

Koupleless 内核系列|模块化隔离与共享带来的收益与挑战

SOFAStack

开源 模块 架构治理 蚂蚁集团 单体应用架构

Contentsquare跨多个服务的通知解决方案:微服务和Apache Kafka_微服务_Rafal Gancarz_InfoQ精选文章