使用Go实现可用select监听的队列

1. 背景与选型 和《基于Redis Cluster的分布式锁实现以互斥方式操作共享资源》一文一样,今天要说的Go队列方案也是有一定项目背景的。 5G消息方兴未艾!前一段时间从事了一段时间5G消息网关的研发,但凡涉及类似消息业务的网关,我们一般都离不开队列这种数据结构的支持。这个5G消息网关项目采用的是Go技术栈开发,那么我们应该如何为它选择一个与业务模型匹配且性能不差的实现呢? 如今一提到消息队列,大家第一个想到的一定是kafka,kafka的确是一款优秀的分布式队列中间件,但对于我们这个系统来说,它有些“重”,部署和运维都有门槛,并且项目组里也没有能很好维护它的专家,毕竟“可控”是技术选择的一个重要因素。除此之外,我们更想在Go技术栈的生态中挑选,但kafka是Java实现的。 ...

March 26, 2021 · 10 min · Tony Bai

关于xml包在Unmarshal时将 重写为 的问题

今年4月份,中国移动、中国电信、中国联通三大运营商联合举行线上发布会,发布了《5G消息白皮书》。所谓5G消息,即传统短信消息(仅能进行文本展示)的升级版,是由GSMA组织制定的RCS(Rich Communication Suite)消息规范所定义。2019年RCS UP(unified profile)更新到2.4版本,并成为了5G终端标准的一部分,该版本也是第一个具备商用能力的版本,为5G消息商用奠定了基础。中国移动计划2020.6月末正式实现5G消息的商用,目前已经在浙江和广东建立了两个5G消息的支撑节点(分别由中兴和华为承建)。作为电信移动增值领域的厂商,我方也参与了与浙江节点进行行业5G消息平台(MaaP)联调与应用开发。 ...

June 4, 2020 · 6 min · Tony Bai

增值类业务短信收发协议介绍

在上一篇《增值类短信业务图文简介》中,我们介绍了什么是增值类短信业务以及增值类短信的收发流程。在这篇中我们将进一步深入介绍增值类短信收发协议的相关内容,不过重点放在短信内容编码对短信呈现的影响。 从近两年大火的5G我们可以看到,在移动通信领域规范和标准先行。虽然第一条短信在1992年在实验室就被发了出来,但是这离真正的短信商用还有很长一段距离。之后作为GSM(Global System for Mobile Communications,全球移动通信系统)技术的一个组成部分,GSM规范中对短信内容编码格式作了进一步说明: ...

August 21, 2019 · 17 min · Tony Bai

图解3GPP规范文档组织结构与编号规则

3GPP组织(3rd Generation Partnership Project)是全球移动通信业标准制定之执牛耳者。其最初的工作范围是为第三代移动通信系统制定全球适用的技术规范(TS,Technical Specification)和技术报告(TR,Technical Report),确保不同厂商之间实现无缝互操作以及为移动通信提供其所必需的全球规模,从而达成实现GSM由2G网络到3G网络的平滑过渡的要求。随着3GPP组织在全球影响力的逐渐扩大,3GPP也承担起了建立和统一4G、5G标准的重任,从这方面来看,3GPP改名为NGPP(Next/Nth Generation Partnership Project)似乎更加合适:)。 ...

July 25, 2019 · 7 min · Tony Bai