“你不大概充满预见地将生命的点滴串联起来;只有在你回头看的时候,你才发现这些点点滴滴之间的接洽。所以,你要坚信,你如今所经历的将在你未来的生命中串联起来… 正是这种信仰让我不会失去盼望,它让我的人生变得与众不同。我不禁在想:我的编码以及架构生涯中,那些点是什么,又终将会连成怎样的线?
”
1、精力层面:向别人请教问题是会上瘾的。02 分库中间件 Cobar
2、技能层面:理解连接池的实现原理。druid是基于数组实现的,厥后用到的 jedis 连接池基于 commons-pool 实现的,netty 连接池是基于 FixChannelPool 实现的。
3、架构层面:客户端和服务端的长连接通信需要思量心跳。雷同 druid 连接池发送心跳的机制,以及 netty 中的 idleStateHandler。
1、业务系统推送消息到 MetaQ厥后,我过细研读了京东京麦系统的 TCP 网关设计,关于推送方面的实现和我们上面的方案非常相似。
2、TCP 网关广播模式消费 MetaQ 的消息
3、TCP 网关获取当前服务器所持有的 Session 会话,推送数据给 App
1、RPC 调用雷同 RocketMQ remoting借鉴这些长处,我很快完成了工程实现,技术同事们对这个改造还算满意。但我深知,当前的系统还有两个待解决的问题:
2、任务调度通过 RPC 触发,有统一的注册中心(NameServer 模式)
3、支持多端口启动,以防当前端口启动失败
4、任务执行和任务调度的线程池做了隔离
1、任务调度重度依赖数据库, 认真正有 10 万、20 万级别的任务的时候,任务的分配以及调度的触发肯定会有瓶颈。于是,本年年初我在 GitHub 上写下了自己相对完整的一个任务调度系统,将 Quartz 替换成了时间轮,将任务触发改成服务端推送模式。
2、当系统是容器的时候,是否可以正常使用?
欢迎光临 创意电子 (https://wxcydz.cc/) | Powered by Discuz! X3.4 |