核心知识与原理

模板消息

模板消息 是指服务提供方(开发者)在向用户发送重要的服务通知时,必须使用的一种结构化、标准化消息格式。

核心目的是:

保证消息的规范性:避免服务商向用户发送随意、杂乱、营销性的垃圾信息。

提升消息的辨识度和可信度:用户看到统一格式的消息,能快速识别这是重要的服务状态变更通知。

提高可维护性:通过界面维护模板消息的文案,关键业务字段用占位符动态替换,在修改非关键字段时保存下模板就立即生效,不用改业务系统代码。

平衡用户体验与商业需求在互联网平台的消息场景,允许服务商触达用户的同时,通过严格的格式和发送条件限制平台审核,保护用户免遭骚扰。

以下是myBuilder开发平台的消息模板管理页面效果与设计效果

myBuilder采用${业务字段}的占位符格式定义外部字段。

在一些高阶的场景,还需要支持明细表的字段模板替换,可以动态发送一个表格数据,如下格式所示。

从服务器到浏览器的消息推送技术

这是BS架构下消息技术的核心挑战,目标是让服务器能主动、实时地向客户端(浏览器)发送数据。

1. 短轮询

原理:浏览器通过JavaScript定时器(如每隔2秒)向服务器发送HTTP请求,询问是否有新消息。无论服务器是否有数据,都立即返回响应(有数据则返回数据,无数据返回空)。

特点

优点:实现非常简单,兼容性极好。

缺点:大量无效请求,浪费服务器和网络资源,实时性差(取决于轮询间隔)。

适用场景:对实时性要求不高的简单应用,如简单的邮件检查。

2. 长轮询

原理:浏览器发起一个请求到服务器。服务器会保持这个连接打开,直到有实际数据可发送、或超时发生。浏览器收到响应后,立即发起下一个新的长轮询请求。

特点

优点:比短轮询实时性好,减少了大量无效请求。

缺点:服务器需要保持大量并发连接,有性能开销。连接建立/关闭仍有开销。

适用场景:早期的网页聊天室、简单通知系统。是Comet技术的一种实现。

3. 服务器发送事件

原理:基于HTTP协议,浏览器通过EventSource API与服务器建立单向持久连接。连接建立后,服务器可以持续地以“事件流”的格式向浏览器推送文本消息。连接断开后,浏览器会自动尝试重连。

特点

优点:是真正的“服务器推送”,协议轻量、自动重连、使用简单。

缺点仅支持文本数据,且是单向的(服务器到客户端)。

适用场景:实时新闻推送、股票行情、监控日志流、社交网站动态更新等只需服务器单向推送的场景。

4. WebSocket

原理:在HTTP握手之后,升级为独立的、全双工的、基于TCP的WebSocket协议。连接建立后,客户端和服务器可以随时、双向地发送数据(文本或二进制),没有请求-响应模式的限制。

特点

优点真正双向实时通信,延迟极低,头部开销小,连接持久。

缺点:协议相对复杂,需要服务器和客户端专门实现。对于代理和防火墙的兼容性需要处理。

适用场景几乎所有需要高实时性、双向交互的场景,如在线游戏、协同编辑、实时聊天、股票交易终端、物联网仪表盘。

以下是这几种技术的对比:

技术

通信方向

协议/模式

适用场景

特点

短轮询

客户端主动

HTTP 请求-响应

低实时性检查

简单,浪费资源

长轮询

客户端主动(模拟推)

HTTP (Comet)

中等实时性通知

比短轮询高效,连接有开销

SSE

服务器单向推

HTTP 流

实时新闻、日志、单向通知

标准、轻量、自动重连

WebSocket

服务器与客户端双向

WebSocket 全双工

聊天、游戏、协同、高实时交互

实时性最高,双向通信

在myBuilder的框架中采用的是WebSocket技术,后台服务器会管理用户的长连接,并开放基础的http消息接口,可以在后台通过脚本配置直接调用发送消息。

案例介绍

通过实际的案例给大家介绍一下用myBuilder实现PC端和移动端的消息通知。

消息通知的场景如下:

  1. 用户提交服务申请时,向平台技术支持人员发送消息通知,提醒及时领取办理。
  2. 技术支持人员办理,退回时通知发起人原因;办理通过时通知发起人及时对服务进行评价。

我们看看演示效果,在PC端提交一个业务工单,PC端和移动端同时收到消息通知。

PC端消息详情效果如下,消息详情可以点击跳转到办理的单据。

移动端消息详情效果如下

接下来,我们看看该功能效果是如何实现的。

首先,在myBuilder中配置消息模板,分别是:待领取、退户、待评价

然后,在业务流程的关键节点设置脚本,发送模板消息。

在流程的“提交申请”时,调用“待领取”模板消息,通知技术支持人员有新的服务申请待处理。

工单被退回时,调用“退回”模板消息,通知申请人退回原因。

工单办理完成时,调用“待评价”模板发送消息,通知发起人对服务进行评价。

总结

myBuilder开发平台的强大之处在于,它已集成了大量企业级开发时所需的基础功能。例如消息框架功能:

  1. 打通PC端、移动端和服务端的消息通讯,实现PC端与移动端统一的UI界面。
  2. 支持公告、通知类消息的发送。
  3. 支持消息模板的管理与设计,可发送模板消息,支持站内信和邮件功能。

myBuilder开发平台已搭建好常用技术和模块功能的基础,避免每个项目重复开发,让你只需专注于业务的实现。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐