elastic-job,DataflowJob类型作业,如何配置可以实现每个分片多线程执行?

京峰 发布于 2017/06/12 16:23
阅读 2K+
收藏 0

elastic-job,DataflowJob类型作业,怎么配置可以实现每个分片,processData处理时是多线程执行呢?

加载中
0
亮_ShardingSphere
亮_ShardingSphere

1.x每个实例可以处理多个分片,因此可以自行写代码将每个分片多线程化。

2.x的实现方式和1.x没有本质区别,但api上看每个实例只能分到一个分片。是因为框架内部将分到同一实例的多个分片自动多线程化,因此无需使用方程序员过多关注多线程的事情了,都由框架统一处理。

亮_ShardingSphere
亮_ShardingSphere
回复 @HdPang : 是的,分片项和具体业务逻辑如何对应需要业务开发者自己处理。elastic-job的职责是把分片项在分布式的环境中分对了
WallacePang
WallacePang
回复 @亮_dangdang :自动均衡配置是指某个实例属于第几分片吧?但是具体某个分片处理那些数据 这个逻辑是需要配置的吧
亮_ShardingSphere
亮_ShardingSphere
回复 @HdPang : 不用特意配置,它会自动的均衡分配的
WallacePang
WallacePang
0 亮哥好,如果需要处理4万条数据,有两个实例,分4片,每个实例分到2片,这个分片要怎么配置,还是说要代码中写分片逻辑??
0
jiaming1
jiaming1

目前我看的是1.x的。每个服务实例可以处理多个分片。但是我看到框架内部实现了多线程来处理多个分片(每个子线程处理一个分片)。我有两个疑问,1是每个分片被线程池中的一个子线程处理了,所以每个分片的数据量还过大的话,再想进行多线程处理。就比较麻烦把。2是我看到框架内部线程池创建线程数是cpu的两倍。那我如果分片项过多,对执行效率是不是会有一定的影响。

返回顶部
顶部