前言 在大量消息的情况下 Kakfa 是如何保证消息的高效及一致性呢? 正好以这个问题结合 Kakfa 的源码讨论下如何正确、高效的发送消息。 内容较多,对源码感兴趣的朋友请系好安全带??(源码基于 v0.10.0.0 版本分析)。同时最好是有一定的 Kafka 使用经验,知晓基本的用法。 简单的消 ...
分类:
其他好文 时间:
2020-02-07 12:40:43
阅读次数:
62
环境: 型号:MacBook Pro (16-inch, 2019) 处理器:2.6 GHz 六核Intel Core i7 版本:10.15.3 (19D76) 现象:切换到微信时卡顿,输入文字,发送消息时,卡顿 解决办法: 关闭自动切换独显 操作:#强制使用核显(集成显卡)sudo pmset ...
分类:
微信 时间:
2020-02-05 16:45:56
阅读次数:
1050
消息队列使用场景 1、异步处理: 减少等待时间,更快的返回处理结果,提高系统性能以及更好的用户体验。 fe: 在一个秒杀系统中,可能需要如下几步:风险控制,锁定库存,生成订单,消息通知以及统计数据,在未优化的情况下,用户请求到达网关后进入服务端要至少 经历这五个步骤,但是对于秒杀系统而言关键的步骤在 ...
分类:
其他好文 时间:
2020-02-03 13:27:16
阅读次数:
68
数据传递: 一旦WebSocket客户端、服务端建立连接后,后续的操作都是基于数据帧的传递。 WebSocket根据opcode来区分操作的类型。比如0x8表示断开连接,0x0-0x2表示数据交互。 1、数据分片 WebSocket的每条消息可能被切分成多个数据帧。当WebSocket的接收方收到一 ...
分类:
Web程序 时间:
2020-02-01 16:28:33
阅读次数:
109
producer 在发送消息的时候,会生成一个 "唯一" 的 msgId,broker 会为这个 msgId 创建哈希索引 UNIQ_KEY 由客户端生成 org.apache.rocketmq.common.message.MessageClientIDSetter#createUniqID ms ...
分类:
其他好文 时间:
2020-01-30 14:40:40
阅读次数:
103
什么是窗口句柄 举个例子: 你有你自己的身份证号,一报身份证号,你应该知道是你了 你也有名字,当然名字复杂点,并且不是唯一,没有数字来得方便, 所以,窗口句柄就相当于身份证号,每个窗口都有一个编号,操作系统用这个编号来发送消息的.这就是[操作系统的消息机制。 一个窗口如果里面有组件的话,那么每个组件 ...
分类:
其他好文 时间:
2020-01-29 19:43:14
阅读次数:
51
数据密集型应用特点 需求 存储数据,以便自己或其他应用程序之后能再次找到——数据库 记住开销昂贵操作的结果,加快读取速度——缓存 允许用户按关键字搜索数据,或以各种方式对数据进行过滤——搜索索引 向其他进程发送消息,进行异步处理——流处理 定期处理累积的大批量数据——批处理 关于数据系统的思考 数据 ...
分类:
其他好文 时间:
2020-01-29 10:34:29
阅读次数:
122
众所周知,微服务架构是由一众微服务组成,项目中调用其他微服务接口更是常见的操作。为了便于调用外部接口,我们的常用思路一般都是封装一个外部接口的客户端,使用时候直接调用相应的方法。webservice或WCF的做法就是引用服务,自动生成客户端。在webapi2.0里,我们都会手动封装一个静态类。那么在 ...
分类:
Web程序 时间:
2020-01-29 10:33:00
阅读次数:
128
CSP并发模型 CSP模型是上个世纪七十年代提出的,用于描述两个独立的并发实体通过共享的通讯 channel(管道)进行通信的并发模型。 CSP中channel是第一类对象,它不关注发送消息的实体,而关注与发送消息时使用的channel。 Golang CSP Golang 就是借用CSP模型的一些 ...
分类:
其他好文 时间:
2020-01-26 00:52:03
阅读次数:
122
页面发布课程管理 技术方案 本项目使用MQ实现页面发布的技术方案如下: 技术方案说明:1、平台包括多个站点,页面归属不同的站点。2、发布一个页面应将该页面发布到所属站点的服务器上。3、每个站点服务部署cms client程序,并与交换机绑定,绑定时指定站点Id为routingKey。指定站点id为r ...
分类:
其他好文 时间:
2020-01-23 22:45:27
阅读次数:
970