可视化高并发,高处理任务异步编排设计

在我们系统应用中,如首页,商品详情页,活动页等承载大流量的系统,通常是在web门面系统中对各系统的数据进行聚合,比如依赖服务调用,缓存,数据库调用等;往往这些依赖过多的服务拖慢了我们接口的响应。

如果这些服务是可以同时调用的话, 顺序调用需要耗时100ms,而并发调用可能耗时50ms,所以我们在开发中可以使用并发机制, 来降低我们服务的响应时间,提升服务的吞吐量。

为此我们需要进行异步处理请求,首先, 我们应该了解下异步的概念,理解什么是真正异步;如果我一个线程执行任务时fork出多个子线程来处理任务并等待处理结果,这种并不是真正的异步。异步时针对cpu和io的,当我们的io没有就绪时,让空闲的cpu处理其他任务,这才是真正的异步。其实我们大多是所谓的异步化场景都不是真的异步,而在Java中真正实现异步化是非常困难的;我们的大多是异步并发都是通过线程池模拟实现的。

传统的Future、CompleteableFuture一定程度上可以完成任务编排,并可以把结果传递到下一个任务。但是需要代码进行复杂的逻辑编排,为此很是头疼,可以引发-------可视化流程处理异步任务编排。

效果实现

功能列表:

结果展示:

可以看出在任务B中可以获取任务A的初始参数和运行后结果,并且执行顺序看时间也可发现。

新建流程:

设计器分为左中右布局,左边布局是任务菜单,包含开始节点,定时开始,任务节点,远程任务,结束节点,定时结束,每个任务不同的类型,进行不同的业务处理

点击左侧的任务菜单,选中要拖拽的任务,直接拖拽到中间的画布即可,
其他任务节点与其类似。

开始节点:

开始节点是流程的必须的节点,每个流程必须开始—>任务—>结束这样的流程,开始节点配置流程数据自动编排后代码的生成路径和展示方式,
,指定位置,生成代码在值定的类下面的方法中,生成代码是已弹框的形式展示,方便直接将代码拷贝业务中。

结束节点:

修改流程名称和流程描述

任务连线:

选中工具栏上的任务连线的类型,然后点击任务左侧图标,直到鼠标呈现十字形状就可以进行拖拽连线,

连线的时候会对连线进行校验

任务属性:

点击任务或流程上的节点后,在右侧菜单中就会出现该节点的属性配置,流程属性:流程名称,流程描述,任务属性:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

主要提示的是:事件业务和业务参数的处理,事件业务:就是每个任务需要关联的业务处理器,点击会显示全部的处理,直接双击即可。业务参数:是这个业务处理器处理业务需要的参数,点击后传入JSON数据即可,后台会自动解析给下一任务,按需获取

数据加载:

该功能是加载保存在DB中的流程,设计好流程后点击保存按钮,会将设计的流程数据保存到数据库中,方便下次读取

流程信息:

改功能显示出流程的json数据,并且附加加载流程数据,保存,自动编排功能。加载流程数据:当json修改后需要执行加载流程数据,会把json数据加载到流程图中进行刷新展示。保存:如果是加载数据库中的数据,保存按钮就是修改操作,只有执行清空数据功能,和一开始进来的时候都是新建流程,也就是保存数据。保存的时候对JSON数据进行了校验。自动编排:会将生成的json数据和保存的代码路径传入后台,后台解析生成对应的类和方法,直接执行即可。

连线类型:

贝塞尔曲线,90度转角线,状态线,直线4中类型可选择

更多工具:

显示帮助,如何使用流程设计,升级日志,重大版本升级

需要源码的可加QQ 945324621 哈哈哈,像小学生画画一样去编写你的代码吧

可视化高并发,高处理任务异步编排设计相关推荐

  1. cpu多核 node 单线程_详解node单线程实现高并发原理与node异步I/O

    一.node单线程实现高并发原理 众所周知nodejs是单线程且支持高并发的脚本语言.可为什么单线程的nodejs可以支持高并发呢?很多人都不明白其原理,下面我来谈谈我的理解: 1. node的优点: ...

  2. python异步高并发_通过python异步通讯方式构建高并发压力测试工具

    背景说明 在工作中,要对一个接口进行压测,我当时就想通过python自己编写一个压力发生器. 初步方案(单线程循环发送) 通过循环向服务端发送请求,代码如下: #采用单步循环的方式循环测试 impor ...

  3. 高并发高流量网站架构详解--转载

    原文地址:http://www.ha97.com/818.html Web2.0的兴起,掀起了互联网新一轮的网络创业大潮.以用户为导 向的新网站建设概念,细分了网站功能和用户群,不仅成功的造就了一大批 ...

  4. 高并发高可用的 架构实践

    一. 设计理念 1.     空间换时间 1)     多级缓存,静态化 客户端页面缓存(http header中包含Expires/Cache of Control,last modified(30 ...

  5. 【高并发解决方案】5、如何设计一个秒杀系统

    什么是秒杀 秒杀场景一般会在电商网站举行一些活动或者节假日在12306网站上抢票时遇到.对于电商网站中一些稀缺或者特价商品,电商网站一般会在约定时间点对其进行限量销售,因为这些商品的特殊性,会吸引大量 ...

  6. 构建高并发高可用的电商平台架构实践 转载

    2019独角兽企业重金招聘Python工程师标准>>> 构建高并发高可用的电商平台架构实践 转载 博客分类: java 架构 [-] 一 设计理念 空间换时间 多级缓存静态化 索引 ...

  7. 构建高并发高可用的电商平台架构实践 转自网络

    从各个角度总结了电商平台中的架构实践,由于时间仓促,定了个初稿,待补充完善,欢迎大家一起交流. 转载请声明出处: 作者:杨步涛 关注分布式架构.大数据.搜索.开源技术 QQ:306591368 技术B ...

  8. 高并发高流量网站架构[转]

    2019独角兽企业重金招聘Python工程师标准>>> Web2.0的兴起,掀起了互联网新一轮的网络创业大潮.以用户为导向的新网站建设概念,细分了网站功能和用户群,不仅成功的造就了一 ...

  9. 高并发 高负载 网站系统架构

    高并发 高负载 网站系统架构 注:我看到这篇文章写的太好了,可以没法转到CSDN上我就COPY了,看到下面激烈的评论,我也一并COPY了.不过还是要谢谢哪位作者了.这样的文章很少. 转自:http:/ ...

最新文章

  1. Redis知识点汇总
  2. 深度学习总结:tensorflow和pytorch关于RNN的对比,tf.nn.dynamic_rnn,nn.LSTM
  3. 推荐 | Transformer最新成果!Learn to Dance with AIST++: Music Conditioned 3D Dance Generation!
  4. 用户名和密码都正确,无法直接登陆虚拟机上的linux
  5. 17.高性能MySQL --- MySQL 分支与变种
  6. Web的Cookies,Session,Application
  7. C#类库项目创建config文件
  8. 关于 Android 8.0 gts 的 widevine 类问题 GtsMediaTestCases / GtsExoPlayerTestCases
  9. C语言实现strcmp函数
  10. 修改dhcp服务器租期,修改dhcp租期命令是expire day?
  11. Golden Software BLN文件格式
  12. MSP430F149学习之IO端口
  13. Golang PDF转图片 拼接长图 压缩PDF及图片 输出JPEG
  14. 20行Python代码爬取网站美女图,哇太多了,我U盘装满了
  15. iOS13.3如何越狱 checkra1n越狱工具0.9.7beta如何使用
  16. h5网页服务器,h5网页游戏服务器搭建
  17. C#配置文件之App.config和.settings
  18. 工程经济—价值工程在工程建设中的应用
  19. 软件工程_东师站_第六周作业
  20. SQL脚本通过汉字转换为拼音全拼

热门文章

  1. JWT JWS JWE
  2. The Devil of Face Recognition is in the Noise
  3. 夏季来临,警惕蜱虫叮咬感染疾病——莱姆病
  4. 麒麟V10 root登录系统
  5. 全球定位系统和惯性系统在高速公路上的高精密定位
  6. 有赞云开发小坑(个人笔记)
  7. 【读书笔记】AUTOSAR规范与车用控制器软件开发01
  8. [Phonegap+Sencha Touch] 移动开发68 Sencha Touch弹出键盘挡住输入框的解决办法
  9. Promise.all的用法及其细节
  10. kaggle糖尿病视网膜病变失明检测top5解决方案