唯品会Saturn
文章平均质量分 53
唯品会Saturn 代码分析
weixin_40455124
这个作者很懒,什么都没留下…
展开
-
VipShop Saturn的使用注意
由于每个job 在executor上都会启动好几个进程,无论job是否enable,是否在executor有shard,因此要注意任务分组,长期不用的job要删除如果有多个zookeeper集群,可以分配到不同console上以提升分片效率及隔离Saturn 从代码上支持了k8s及mesos,但没有文档说明对长时间job,可以考虑超时强杀,但此类job一定要设置好资源释放:beforeTi...原创 2020-02-26 06:24:44 · 509 阅读 · 0 评论 -
vipshop saturn job shard执行过程
以java job为例,单个job的执行都是从public abstract class AbstractElasticJob的execute函数开始,execute的触发是在public class SaturnWorker implements Runnable类的run中。execute函数主要负责各种前置条件(包括结束console re-shard 结果)通过后调用真实执行函数e...原创 2020-02-26 06:13:51 · 480 阅读 · 0 评论 -
VipShop Saturn 的job sharding 过程
Saturn的sharding 是由Console 来负责,对于每个namespace 是分开进行sharding控制。Sharding的入口是创建一个namespaceShardingManager,创建在public class RegistryCenterServiceImpl的createNamespaceShardingManager方法的如下片段:namespaceSharding...原创 2020-02-24 21:43:47 · 436 阅读 · 0 评论 -
vipshop saturn executor 的job 管理
首先订正下quickstart 的做法:saturn 的job 同时保存在数据库及zookeeper上,修改job不能只修改zookeeper上的数据,都应该通过console的rest api或者界面实现。executor 不连接数据库,所有对job的修改都是通过zookeeper watcher触发的。先上一个zookeeper 截图:saturn对job的watcher分布在很多类中...原创 2020-02-23 16:26:19 · 438 阅读 · 0 评论 -
Vipshop saturn executor没有分片,JOB执行过程报executor is empty
Vipshop saturn 的开源文档中的错误还是不少,executor 没有分片还是由于文档说明不清楚,配置错误导致。在按demo文件启动executor 及demo的job,发现job 一直没有执行,跟踪代码分析发现:在类public abstract class AbstractElasticJob 中 的public final void execute(final Triggere...原创 2020-02-23 15:40:08 · 940 阅读 · 0 评论 -
Vipshop saturn开发环境搭建记录
saturn的文档比较少,记录下基于3.1.0 版本在eclipse搭建过程Node.js 不要用最新版本,我使用的是v8.7.0不要使用内置H2 数据库,H2对应的sql 文件有错误saturn-docker 下的sql文件版本也不对,只能作为演示使用使用saturn-console\src\main\resources\db\mysql 来搭建mysql才是正解zookeeper可...原创 2020-02-04 22:47:14 · 487 阅读 · 1 评论 -
唯品会saturn开发环境中避免设置saturnLibDir
最近在看vipshop的Saturn,为更好跟踪分享Saturn saturn,简单修改启动代码,将classpath 中所有path自动设置为saturnLibDir.只需要修改一个函数 :com.vip.saturn.job.executor.Main的setExecutorClassLoader,修改后代码如下private void setExecutorClassLoader(Cla...原创 2020-02-04 15:06:08 · 316 阅读 · 0 评论