一朋友和我讨论他前段时间面试某大公司的一题目: 企业IM比如企业微信、钉钉里面的群消息的有个已读未读的功能,发送者刚发出消息时,当前群里其他群成员都是未读状态,陆陆续续有人看了这个消息,这时候消息的详情变成...x人已读,y人未读,如下图所示,有具体的已读未读列表(万恶的功能,看到同事or老板的消息不能假装没看到了),每条消息对应一个唯一的messageid(uint64_t),每个用户对应一个唯一的userid...(uint64_t),应该如何保存这个消息对应的已读未读详情呢?...仔细分析,按照目前的设计,每一条消息,已读未读详情就要占用8B * 群成员数的内存,如果一个活跃的200人大群,每发一条消息,已读未读就要1600B,如果平均每天消息量是1k,那每个这样的群,每天就要1.6MB...比如C退出群,发消息时maxid还是5,已读+未读总人数应该是3(不包括发消息者本人),目前信息只有5个bit(0/1),识别不出来谁已经退出群聊了 退出群聊的成员如何处理?
前言 一款app,消息页面有:钱包通知、最近访客等各种通知类别,每个类别可能有新的通知消息,实现已读、未读功能,包括多少个未读,这个是怎么实现的呢?...所有,判断有没有小红点,或者小红点的数字是多少,就是简单的获取你与虚拟人的对话的未读的消息的数量。...当然,一个动作不一定只发一条消息,比如,图中下方有个金刚键"消息",它是所有消息的总和,所以,投递其他消息的时候,也要给它投递一次,不过它只展示一个未读数字,所以这个消息只需要一个msg_id即可,不需要消息...云厂商也有专门针对这类场景的存储产品。大多数情况,我们只需要一个数量,固定从maximal_id往前取,如果取到100条还没完,直接返回99+完事了。..."已读和未读"。它包含两层意思,一个判否,即内容你是否读过,二是计数,即这个内容有多少人读过。 长尾原因 如果你用Redis存储,成本非常高,浪费非常严重。
一朋友和我讨论他前段时间面试某大公司的一题目 : 企业IM比如企业微信、钉钉里面的群消息的有个已读未读的功能,发送者刚发出消息时,当前群里其他群成员都是未读状态,陆陆续续有人看了这个消息,这时候消息的详情变成...x人已读,y人未读,如下图所示,有具体的已读未读列表(万恶的功能,看到同事or老板的消息不能假装没看到了),每条消息对应一个唯一的messageid(uint64_t),每个用户对应一个唯一的userid...(uint64_t),应该如何保存这个消息对应的已读未读详情呢?...仔细分析,按照目前的设计,每一条消息,已读未读详情就要占用8B * 群成员数的内存,如果一个活跃的200人大群,每发一条消息,已读未读就要1600B,如果平均每天消息量是1k,那每个这样的群,每天就要1.6MB...比如C退出群,发消息时maxid还是5,已读+未读总人数应该是3(不包括发消息者本人),目前信息只有5个bit(0/1),识别不出来谁已经退出群聊了 2、退出群聊的成员如何处理?
前言 本文我们基于飞书开放平台提供的服务端SDK,展示下如何查询一个消息有哪些人已读了。...os.Getenv("APP_ID"), os.Getenv("APP_SECRET") client := lark.NewClient(appID, appSecret) // 发送消息...= nil { fmt.Println(err) return } // 读取已读信息 ReadUsersMsg(client, msgID)...// 读取已读信息 ReadUsersMsg(client, msgID) } debug运行,然后再ReadUsersMsg处断点,然后再飞书上读消息后,继续运行结果如下: image.png
腾讯云消息队列 CKafka,分布式、高吞吐量、高可扩展性的消息服务,100%兼容开源 Apache Kafka 0.9 0.10 腾讯云消息队列 CKafka点击查看详情 消息队列 CKafka 简介...腾讯云消息队列 CKafka 的特性 兼容开源 100% 兼容 Apache Kafka 0.9 0.10版本,迁移上云0成本。...上下游生态 支持与 EMR、COS、容器、流计算、无服务器函数、日志服务等13+云上产品打通,实现快速一键部署。...高可靠 消息队列 CKafka 集群性能强劲,生产性超越开源方案;此外,消息队列 CKafka 分布式的部署,集群稳定性也有很好的保障。...统一运维监控 提供腾讯云平台整套的运维服务,包括租户隔离、权限控制、消息堆积查询、消费者详情查看等多维度监控告警等运维服务。
更有甚者,钉钉的群聊“强制已读回执”功能,甚至能够知道谁读了消息,谁没有读消息(老板的福音啊)。 那么群聊消息的收发流程、消息的送达保证、已读回执机制,到底该怎么实现呢?这就是今天要讨论的话题。...对于发送方发送的任何一条群消息,都需要知道,这条消息有多少人已读多少人未读,就需要一个基础表来记录这个关系。...7、已读回执流程优化方案 再次详细的分析下,群消息已读回执的“消息风暴扩散系数”,假设每个群有200个用户,其中20%的用户在线,即40各用户在线。...8、本文小结 对于群消息已读回执,一般来说: 如果发送方在线,会实时被推送已读回执; 如果发送方不在线,会在下次在线时拉取已读回执。...如果要对进行优化,可以: 接收方累计收到N条群消息再批量ack; 发送方轮询拉取已读回执。 物理删除已读回执数据,定时删除或归档非核心历史数据。
为了让用户在使用即时通信IM(下文简称"IM")中能获得最佳的效果,腾讯云IM的 iOS 和 Android系统现已支持 IPv6版本了!...登录腾讯云即时通信IM立刻升级体验! ?...腾讯云即时通信 IM 提供覆盖全球的高连通、高可靠、强安全的网络连接通道,自研多重最优寻址算法,具有全网调度能力,终端在海外登录时,IM SDK 会访问就近接入点或加速点,是全球化运营企业在通信云服务的最佳选择...截至目前,腾讯云即时通信 IM 能力已覆盖多个行业,让通信随心所想,触达全球。 ? 腾讯云通信 一直致力于 让每个企业 都享受智慧服务带来的改变 END 未来可期 ?...长按扫码关注腾讯云通信官方微信公众号 以获取更多更专业的云通信知识
在此背景下,短信作为一种成熟、稳定且广泛应用的通信手段,因其快速、直接和可靠的特点,仍然保持着不可替代的作用。...环境准备 活字格设计器 活字格服务器 对接步骤 1.获取SecretId和SecretKey (1)进入腾讯云用户管理,新建用户。...待签名与正文模板状态变为已通过时才可用。 5.获取SMS SDKAppId 在应用管理-应用列表页面,点击“创建应用”,获取新应用的SDKAppID。...6.活字格服务端命令对接发送短信 在活字格设计器中创建服务端命令,选择【腾讯云发送短信】命令。...7.实现效果 更多关于【腾讯云发送短信】命令插件可以参考这篇文章。 总结 引入发送短信功能是提升服务质量、增强用户体验、保障用户安全的重要举措。
,发送者刚发出消息时,当前群里其他群成员都是未读状态,陆陆续续有人看了这个消息,这时候消息的详情变成x人已读,y人未读,如下图所示,有具体的已读未读列表(万恶的功能,看到同事or老板的消息不能假装没看到了...),每条消息对应一个唯一的messageid(uint64_t),每个用户对应一个唯一的userid(uint64_t),应该如何保存这个消息对应的已读未读详情呢?...仔细分析,按照目前的设计,每一条消息,已读未读详情就要占用8B * 群成员数的内存,如果一个活跃的200人大群,每发一条消息,已读未读就要1600B,如果平均每天消息量是1k,那每个这样的群,每天就要1.6MB...{ uint32_t maxid, uint8_t readbit[]} 如上面的案例就是{5, readbit[0] =bin(0000 0000)}; 就占用了5B(4+1),A发消息,D已读消息时...比如C退出群,发消息时maxid还是5,已读+未读总人数应该是3(不包括发消息者本人),目前信息只有5个bit(0/1),识别不出来谁已经退出群聊了 退出群聊的成员如何处理?
队列名称是一个不超过64个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线(-) 进行了简单的测试,队列名称都是符合文档规则 发送消息 batch批量发送消息 消息正文。...表示这一批量中的一条消息。...目前批量消息数量不能超过 16 条 这块有个问题就是:都是编译成功了的 自己写了批量发送消息循环,当发送消息数最大值为1000时候,会直接报异常 当消息数最大值为10000时候,隔了5s左右,报出异常...快速报出exception 在linux服务器上也进行了测试: 接受消息 (BatchReceiveMessage) 用于消费队列中的多条(目前最多16条)消息 在api可以正常获取到 因接受消息时...备注 今天收到腾讯云 CMQ 产品经理针对文章里的问题特意发来的邮件回复: 同时谢谢腾讯云提供CMQ的内测体验资格!
1、引言 张小龙说:微信消息不做“已读”和“未读”的功能,是因为要给人撒谎的机会,这才符合人性。 真的对吗? 关于这个问题……对,也不对。...▲ 市面上有很多IM提供了已读功能,上图从上至下分别为:钉钉、易信、旺旺(千牛) (上图引用自文章《IM群聊消息的已读回执功能该怎么实现?》)...▲ 阿里旺旺的PC端消息“已读”功能 换句话说:聊天消息的“已读”和“未读”状态在什么情况下该做呢? 这是一个典型的功能分析,遇到这种分析,我们应该如何用产品思维入手呢?...3.2 第二步:本源思维:定位+场景 我们先来看看两个网友,对于微信消息为什么没有“已读”和“未读”功能的优质回答。...▲ “抢红包”的牛X之处在于:居然能让面对面的两个人使用IM却不觉乏味 5、补充 本文是从产品角度讨论微信中的消息“已读”功能,如果您对消息“已读”功能的理论和技术实现有兴趣,可以进一步阅读《IM群聊消息的已读回执功能该怎么实现
有甚者,钉钉的群有“强制已读回执”功能,你在群里发出的消息,能够知道谁读了消息,谁没有读消息。...二、已读回执流程 对于发送方发送的任何一条群消息,都需要知道,这条消息有多少人已读多少人未读,就需要一个基础表来记录这个关系。 消息回执表:用来记录消息的已读回执。...(如果发送方在线) 如果发送方不在线,ta会在下次登录的时候: (5)从关联表里拉取每条消息的已读回执 这里的初步结论是: 如果发送方在线,会实时被推送已读回执 如果发送方不在线,会在下次在线时拉取已读回执...答:回执数据不是核心数据 已读的消息,可以进行物理删除,而不是标记删除 超过N长时间的回执,归档或者删除掉 四、总结 对于群消息已读回执,一般来说: 如果发送方在线,会实时被推送已读回执 如果发送方不在线...,会在下次在线时拉取已读回执 如果要对进行优化,可以: 接收方累计收到N条群消息再批量ack 发送方轮询拉取已读回执 物理删除已读回执数据,定时删除或归档非核心历史数据 推送还是拉取?
那么,对于已读未读状态: 1)如果是私聊:消息的阅读状态比较容易实现,在性能和存储上也不存在问题; 2)如果是群聊:考虑到存储和处理性能,特别当处于一个云环境时,如何高效地处理群聊的已读未读状态是一个非常值得探讨的话题...4.1 通知消息已读(私聊、群聊通用) 当小宝阅读了一条或若干条消息,需向服务端发送消息已读通知:“众爱卿发的x+y+z消息,朕已阅”。...服务端收到小宝的已读通知时,需完成以下事项: 1)存储消息的已读状态; 2)返回应答给小宝; 3)向已读列表的消息的原始发送者通知消息已读。...4.3 查询群消息的已读、未读人员清单(群聊) 当客户端希望显示某一条群聊消息的已读、未读人员列表,需向服务端发起查询。...这仅仅是一个群在一天之内产生的阅读状态数据,如果是在云平台运行,单此功能消耗的空间,呵呵~~ 题外话:如果成员不是用4字节整型存储,而改用字符串,比如"1123356777",那就更可观了。
1、引言 张小龙说:微信消息不做“已读”和“未读”的功能,是因为要给人撒谎的机会,这才符合人性。 真的对吗? 关于这个问题……对,也不对。 ? ? ?...▲ 市面上有很多IM提供了已读功能,上图从左至右分别为:钉钉、易信、旺旺(千牛) (上图引用自文章《IM群聊消息的已读回执功能该怎么实现?》)...▲ 阿里旺旺的PC端消息“已读”功能 换句话说:聊天消息的“已读”和“未读”状态在什么情况下该做呢? 这是一个典型的功能分析,遇到这种分析,我们应该如何用产品思维入手呢?...3.2 第二步:本源思维:定位+场景 我们先来看看两个网友,对于微信消息为什么没有“已读”和“未读”功能的优质回答。...▲ “抢红包”的牛X之处在于:居然能让面对面的两个人使用IM却不觉乏味 5、补充 本文是从产品角度讨论微信中的消息“已读”功能,如果您对消息“已读”功能的理论和技术实现有兴趣,可以进一步阅读《IM群聊消息的已读回执功能该怎么实现
腾讯云通信 一直致力于 让每个企业 都享受智慧服务带来的改变 END 未来可期 长按扫码关注腾讯云通信官方微信公众号 以获取更多更专业的云通信知识 点击“阅读原文”立即参与618大促!
(arping命令是用于测试指定服务器返回他的网卡硬件地址(mac地址)) image.png image.png 首先回复一下在腾讯云vpc这应该是正常情况。...否则会向局域网中所有的机器进行广播,有机器应答(b机器)后会将b的机器mac存放在本地的 arp映射表中一份供后续通信使用,这是简单的讲解了以太网工作原理。...腾讯云vpc网络通信原理 腾讯云的vpc网络默认是关闭广播与组播功能的,这就有别与以太网的工作原理,当然这里也可以开启广播与组播功能,具体开启见(https://cloud.tencent.com/document.../product/215/36526) 在腾讯云vpc网络中a连接b机器流程 vm(a)->arp代理-> 桥接 -> 主机 —>虚拟交换机->gre封包 ->腾讯云网络 -> gre解包->虚拟交换机...(注:目前了解腾讯云 & 阿里云vpc都是相同效果即私有网络内arping服务器返回网卡硬件地址(mac地址)都是一样的,华为云和aws的vpc和传统以太网效果类似即arp -a 中可以查到私有网络内其他服务器的网卡硬件地址
腾讯云即时通信 IM 从更好地满足客户需求,更好地为客户服务的角度出发,经过一年时间的调研、立项、开发、内测,于近日正式上线了 Web 端消息搜索功能 - 云端搜索,是国内外首家提供此项能力的即时通信IM...其流程如下所示: 为了支持 Web 端消息搜索,腾讯云即时通信 IM 需要将应用的全量历史消息,和终端用户在应用内发送的实时消息导入消息搜索集群服务。...上述流程要求腾讯云即时通信 IM 部署大量的机器、带宽和存储资源,因此此功能并不包含在 IM 基础套餐包内,需要您额外付费购买。...为了节省您的开发时间和成本,腾讯云即时通信 IM 提供了精心设计的,UI 精美且开源免费的 UIKit,易于理解和操作,可以让终端用户基于 UIKit 轻松完成搜索过程,快速、准确地找到自己预期的内容。...搜索指定会话内所有文件消息 快来扫码免费体验吧~ 腾讯云即时通信Web-IM Demo 功能开通: https://console.cloud.tencent.com/im/plugin/TUICloudSearch
(如果您的域名同样注册于腾讯云(DNSPod),则该步骤自动完成。)...注意:目前只有少数注册商支持 DNSSEC ,如果您域名所在注册商不支持,可先将域名转入腾讯云,转入后方便一站管理,更可一键开启(带转入链接) PS:这个功能目前只有收费版才能开启,免费版解析无此功能。
为了帮助广大腾讯云生态合作伙伴售前架构师角色学习并了解腾讯云核心产品:政务专区的技术、产品原理,提高腾讯云政务专区解决方案架构能力。...现腾讯云产业人才培养中心推出腾讯云政务专区售前架构师CloudLite认证!...Part1 腾讯云政务专区售前架构师CloudLite认证 面向人群:腾讯云生态合作伙伴中有意向成为腾讯云政务专区售前架构师角色的个人和群体 学习目标:学习并了解腾讯云政务专区产品知识,具备腾讯云政务专区解决方案架构能力...目前,作为首个上架的腾讯云行业认证课程,“腾讯云政务专区售前架构师CloudLite认证”会在近期组织专场在线考试;感兴趣的小伙伴可扫描下方二维码报名考试并进行相关问题的交流。...具体考试上线时间将做后续通知~欢迎大家持续关注未来更多腾讯云行业认证;证书在手,市场我有! 扫码加入腾讯云学习交流群 或添加小助手微信:Tcloudedu777 学习了解更多业内精彩资讯
对于Mysql,可以监听其binlog日志,并输出到消息队列完成订阅,而腾讯云上有各种各样数据库,还有一些自研的数据库,都让用户来自研对接的方式显然成本太高,所以腾讯云推出了数据订阅任务,满足用户实时处理数据库数据变更的诉求...因此在处理时需要根据Kafka 中的每条消息的消息头中都带有分片信息进行划分处理。...二、DTS数据写入Kafka的模型 从腾讯云官方文档的介绍[2]中可以看到,Kafka中消息内容为Envelope序列化后的二进制数据,其中data为Entries序列化之后的二进制结构,每一个Entry...在Source中会解析Kafka的消息头,生成哈希Key,用于处理顺序拼包的逻辑。Keyby之后的Parser实现拼包逻辑以及binlog消息的解析。...在Parser中使用Keyed State保存已消费但还未处理的不完整的Envelope data(即每一个都有一份对应的状态)。
领取专属 10元无门槛券
手把手带您无忧上云