1.producer调用publish方法是为了向zookeeper注册topic,同时注册broker节点改变事件,用于新机器加入时生产者的负载均衡
2.sendmessage时,先选择partition,再根据partition选择一台broker
3.构造putcommand,传入opaque给putcommand(自增,线程安全),用于区分command,主要作用是区分本地的回调方法(消息发送过快而服务器响应过慢,可能由于本地回调对象过多造成内存溢出)
3.调用RemotingClientWrapper(是gecko的RemotingClient对象的装饰器,提供统计消息功能)的sendToGroup方法,发送消息
4.remoteclient调用asyncWriteToSession发送消息(有超时时间,)
分享到:
相关推荐
6. **低延迟:** Metaq优化了消息处理流程,降低了消息处理的延迟,提高实时性。 #### 二、Metaq的核心组件与工作原理 **1. Producer(消息生产者)** - **职责:** 负责产生消息并将其发送到Metaq中。 - **关键...
Producer是消息的发送者,它的启动流程如下: - 在发送消息时,如果Producer集合中没有对应topic的信息,则会向NameServer查询该topic的相关信息,并将其缓存在本地; - Producer会定时向NameServer发送心跳,更新...
### Producer启动流程 - **获取路由信息**:Producer在发送消息之前,会首先检查本地缓存中是否存在目标topic的路由信息。如果没有,则会向Namesrv请求topic相关的发布信息,并缓存这些信息。 - **更新路由信息**:...
阿里云ONS(消息队列服务)是基于阿里云提供的分布式的、高可靠性的消息服务产品,它来源于阿里内部广泛使用的消息中间件MetaQ,亦即后来的开源项目RocketMQ。ONS支持海量消息的生产与消费,以无单点故障、高可扩展...
- **订单处理**:在电商场景中,RocketMQ被广泛应用于订单创建、支付确认等流程,确保每个环节的信息准确无误地传递。 - **日志收集**:用于收集分布式的日志数据,便于集中管理和分析。 - **数据同步**:实现数据库...