实际项目中Java多线程模型的总结整理


分享一下最近项目中用到的多线程模型。 需要实现:根据租户填写的表单,自动部署ES集群,提供ES服务。基本思路:就是将一个事务生命周期分成不同的阶段,每个阶段都是用线程去负责执行。
目前主要分为四个阶段:事件监听阶段,事件提交阶段,执行器阶段,状态校验阶段
流程图如下:
线程分类: A、监听线程 B、工作线程 C、状态校验线程 D、执行器线程

原理图简单介绍: 1、AcceptorThread线程:监听操作对列表,将新产生的事件记录扔进事件分类器,并且同时往内存容器中添加一条记录。 2、事件分类器:根据事件的类型,创建不同的工作线程 3、工作线程:工作线程是具体干活的,如负责调用marathon的create接口,删除接口,停止接口等 4、执行器: A、不断的监听执行容器,有任务的话,就去执行,如停止节点,启动节点,恢复节点等操作。 B、更新节点表的状态,以及 内存缓存容器中节点的状态 5、OptStateThread:监听内存缓存容器OptMap,如果有新的事件发生,根据类型产生不同的校验线程; 6、校验线程:具体负责校验的;根据校验的结果来更新集群的状态
总结: 开发云主机域名 A、体现了生产者,消费者思想 B、对事件进行了分割,各自线程只负责自己单独的部分。 C、对事务的生命周期,要学会进行合理的拆分
D、要横向思维,分阶段,分模块划分
代码不是很重要,主要是理解这种设计模式,设计思路; 其实,可以从Netty的多线程模型中吸取知识,从而应用到以后的项目中。








相关推荐: skype for bus问题,在外网可以建立会议,但是无法进入会议,提示“您的呼叫已中断

skype for bus问题,在外网可以建立会议,但是无法进入会议,提示“您的呼叫已中断”,在内网中没有问题。开发云主机域名相关推荐: 高可用集群之heartbeat安装配置1. 准备工作(本文永久地址:http://woymk.blog.51cto.com…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 04/02 16:38
Next 04/02 16:38