你的位置:首页 > 软件开发 > Java > 一个简单的任务执行引擎设计

一个简单的任务执行引擎设计

发布时间:2017-02-19 00:00:56
前言:最近做的一个项目是一个数据库服务化的管控平台,用时髦一点的名词来说是一个DBaaS产品。这种面向云化的产品,呈现给最终用户的体验是提供一个管理页面,把数据库的生命周期,监控等功能通过WEB页面或者Open API暴露给用户或者第三方的程序,常见的产品类似于阿里云或者AWS的 ...

一个简单的任务执行引擎设计

前言:

最近做的一个项目是一个数据库服务化的管控平台,用时髦一点的名词来说是一个DBaaS产品。这种面向云化的产品,呈现给最终用户的体验是提供一个管理页面,把数据库的生命周期,监控等功能通过WEB页面或者Open API暴露给用户或者第三方的程序,常见的产品类似于阿里云或者AWS的RDS。而我们的做的产品实际上是一个分布式的数据库服务平台,除了底层的存储,还有上层的proxy去完成分库分表,读写分离等操作。

对于终端用户来说,使用的是一个数据库连接,但实际上在后面,会有很多系统一同工作。例如当用户创建一个RDS的时候,会去创建底层的数据库实例(MySQL,SQL Server等),Loader Blance,Proxy等,而这些组件其实也是由其他系统通过Open API或者RPC的方式暴露给上层应用。作为Paas或者DBaaS的最上层的产品,免不了会调用其他的系统接口去申请资源。那么在代码实现上会碰到一个问题,当依赖多个系统的时候,依次调用各个系统的的过程中,如果中途出错,错误处理比较难。

之前状况:

之前的项目代码中,没有统一的任务执行框架,由各个开发人员自行去编码,那么经常看到这种代码

try{  resultA = call_system_a;  resultB = call_system_b;}catch(Exception e){  if ( ! resultA ){     do_some_clean_work_sysytem_a;  }else ( result && ! reusltB ) {

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:一个简单的任务执行引擎设计

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录