crossoverJie

Results 63 comments of crossoverJie

@1156721874 是的,如果 `Topic` 有多个分区肯定得分布式锁才行。但这样加锁解锁后的效率也会降低。 所以我建议对于秒杀这样的场景 `Topic` 只需要一个分区即可,这样可以保证信息的顺序以及避免使用锁,直接将请求由并行变为串行。 不过这样吞吐量就会下降,但对于秒杀来说吞吐量本身就不高,我觉得是可以接受的。

@Bihanghang 应该是去哪个网站找的模板,时间有点久记不太清了。

短期内如果有这个问题其实可以直接扩容 Route,但这样瓶颈又会转移到 server 端。 所以长期来看确实使用 TCP 私有协议效率高些,不过这个改动会比较大,得慎重考虑一下。

> 通过tomcat实现的http服务发送消息,线程过多的话会不会对netty服务器的io有影响 过多肯定都是有影响的,在一个 JVM 中线程过多导致的上下文切换对整个应用都有影响(`并不只是现在的 IM 场景`);不过我觉得在这里并不是问题。 - Tomcat 可以配置线程池上限。 - 在任何 web 应用中 Tomcat 线程都是和其他线程合在一起的,很少有案例表明 Tomcat 会影响其他业务。 > 譬如,在netty服务端起一个消息消费的客户端,所有的要发的路由消息,放到mq中,由mq统一管理,这种否可行 MQ 更多的目的还是为了削峰限流以及异步为目的,在 IM 实时通讯的场景我觉得并不适用,消息通常都是要求实时性,一旦使用 MQ 便失去本身的目的了。

1. Nginx 现在好像也支持 TCP 长连接的反向代理了,我还没试过;在我们的实践中对客户端的接入及消息的发送都加上了鉴权,已经可以去除大部分的恶意连接(话说服务器的 80 端口也是暴露出去的)。 2. 如果要全局轮询只能每次都从公共内存中获取节点信息(比如 Redis),但这样本地缓存也就没用了。 3. 这里的预热是指预热什么?

消息 ACK 已经在做了。

> 什么时候能更新消息ack? 开发中,可以 watch 一下,更新后会收到提醒。

@13120241790 好想法,不过当初设计 `cim` 时主要还是面向后端人员。 移动端也可以支持,这需要我提供一个 `jar` 包,然后一些 `api` 文档即可。 不过需要花费一些时间。

@282144757 预计在年后产出 SDK 及相关开发文档,到时便可参与。

已经纳入计划。