技术-技术方案优化策略--多线程与分布式
来源:互联网 发布:超人软件站 编辑:程序博客网 时间:2024/06/05 05:06
使用场景:
离线任务、异步任务、大数据任务、耗时较长任务的运行**,适当地利用,可达到加速的效果。
注意:线上对响应时间要求较高的场合,尽量少用多线程,尤其是服务线程需要等待任务线程的场合(很多重大事故就是和这个息息相关),如果一定要用,可以对服务线程设置一个最大等待时间。
常用方案:
1)单机多线程,可以引入线程池的机制,目标:
- 提高性能,节省线程创建和销毁的开销;
- 限流。给线程池一个固定的容量,达到这个容量值后再有任务进来,就进入队列进行排队,保障机器极限压力下的稳定处理能力在使用JDK自带的线程池时,一定要仔细理解构造方法的各个参数的含义,如core pool size、max pool size、keepAliveTime、worker queue等,在理解的基础上通过不断地测试调整这些参数值达到最优效果;
2)多机多线程--分布式系统
引入一个单独的节点,作为调度器,其他的机器节点都作为执行器节点;
调度器来负责拆分任务,和分发任务到合适的执行器节点;
执行器节点按照多线程的方式(也可能是单线程)来执行任务;
整个任务系统就由单击演变成一个集群的系统,而且不同的机器节点有不同的角色,各司其职,各个节点之间还有交互。这个时候除了有多线程、线程池等机制,像RPC、心跳等网络通信调用的机制也不可少。
0 0
- 技术-技术方案优化策略--多线程与分布式
- 技术-技术方案优化策略--代码层面
- 技术-技术方案优化策略--数据库层面
- 技术-技术方案优化策略--缓存层面
- 技术-技术方案优化策略--异步
- 技术-技术方案优化策略--NoSQL
- 技术-技术方案优化策略--JVM调优
- 技术-技术方案优化策略--监控
- ARM 程序设计优化策略与技术
- ARM 程序设计优化策略与技术
- ARM 程序设计优化策略与技术
- [转]ARM程序设计优化策略与技术
- ARM 程序设计优化策略与技术
- ARM 程序设计优化策略与技术
- iOS多线程技术方案
- 多线程技术方案(ios)
- 分布式锁1 Java常用技术方案
- 分布式锁1 Java常用技术方案
- 使用Ajax验证用户名是否存在
- 动画效果改变view的高度
- opencv的pyrDown()函数
- 怎样查看apk包名
- Java基础篇
- 技术-技术方案优化策略--多线程与分布式
- BIM工程代码分析
- TensorFlow学习笔记(4)--实现多层感知机(MNIST数据集)
- 配置Nginx多核CPU,worker_cpu_affinity使用方法和范例
- Hadoop系列之FieldSelectionMapReduce用法
- Python快速教程Vamei博客 笔记(未完)
- 使用Subline开发React-Native编辑器环境搭建
- 数据结构1——稀疏多项式乘法计算器
- 资源管理模式:pooling模式