当前位置: 首页 > news >正文

静安网站建设哪家好泉州seo管理

静安网站建设哪家好,泉州seo管理,怎么seo关键词优化排名,做网站的工作时间文章目录 Camunda流程引擎一、JobExecutor1、工作流程2、主要作用 二、性能问题1、实际场景#xff1a;2、性能问题描述3、总结 三、优化方案方案一#xff1a;修改 Camunda JobExecutor 源码以实现租户 ID 隔离方案二#xff1a;使用 max-jobs-per-acquisition 参数控制上锁… 文章目录 Camunda流程引擎一、JobExecutor1、工作流程2、主要作用 二、性能问题1、实际场景2、性能问题描述3、总结 三、优化方案方案一修改 Camunda JobExecutor 源码以实现租户 ID 隔离方案二使用 max-jobs-per-acquisition 参数控制上锁数量 Camunda流程引擎 Camunda流程引擎的详细解读可以查看这篇文章 https://blog.csdn.net/weixin_44876263/article/details/142332063?sharetypeblogdetailsharerId142332063sharereferPCsharesourceweixin_44876263spm1011.2480.3001.8118 一、JobExecutor 1、工作流程 启动当 Camunda 引擎启动时JobExecutor 也随之启动开始准备调度作业。 查询作业JobExecutor 定期调用 JobService查询数据库中待执行的作业。这个查询会考虑作业的状态比如是否被锁定以避免并发执行。 上锁在查询到待执行作业后JobExecutor 会为这些作业上锁以确保其他实例无法同时处理同一个作业。这是通过更新数据库中的状态来实现的。 执行作业锁定后JobExecutor 会尝试执行这些作业。执行过程中它会处理任何异常情况比如超时或执行失败。 任务执行后的处理 成功完成如果作业成功执行它将被标记为完成随后从数据库中删除。失败处理如果作业执行失败根据配置可以选择重试或记录错误。重试可能会有次数限制和延迟策略。后续执行对于需要后续处理的作业JobExecutor 会在失败时重新调度它们确保它们能在未来的某个时刻再次被尝试执行。 2、主要作用 在 Camunda BPM 中JobExecutor 是负责处理异步作业和定时作业的核心组件。它自动管理作业的调度和执行确保系统能够高效地处理长时间运行的任务和事件。以下是 JobExecutor 的主要作用和功能 作业调度 定期查询数据库查找待执行的作业包括异步作业和定时作业。 作业执行 在找到可执行的作业后JobExecutor 会执行这些作业确保系统能够按预期处理任务。 并发处理 支持并发执行多个作业能够根据配置的线程池大小同时处理多个任务提高系统的吞吐量。 失败处理 自动处理执行失败的作业允许重试逻辑以确保任务最终能够成功完成。 灵活配置 可以根据业务需求配置作业的执行频率、并发数量等参数以优化性能。 二、性能问题 1、实际场景 在正式的多服务器环境中当并发产生 1000 个任务实例时这些任务会被存储为待执行的任务在数据库中。当 JobExecutor 调用 JobService 查询数据库中的待执行任务时可能会出现以下性能问题 2、性能问题描述 1、任务并发产生 在高并发情况下同时产生 1000 个任务实例所有任务会迅速积累为待执行状态增加数据库中的任务总数。 2、查询和上锁机制 当 JobExecutor 启动并查询待执行的任务时可能存在某一台服务器一次性获取所有可用任务的情况导致该服务器迅速上锁大量任务。 3、负载不均衡 一旦某台服务器获取了大量任务其他服务器则可能无法获取任务。这种资源分配不均衡会导致部分服务器过载而其他服务器处于闲置状态无法充分利用集群资源。 4、性能瓶颈 随着某台服务器处理所有获取的任务可能导致该服务器的 CPU、内存等资源消耗过高从而引发性能瓶颈。此外数据库也可能因频繁的高负载查询而变得响应缓慢影响整体系统性能。 3、总结 在考虑多服务器环境下的任务处理时可能面临以下性能问题 1. 任务竞争 问题多个 JobExecutor 实例可能同时争抢相同的作业导致锁竞争和资源冲突。影响竞争会增加数据库负担降低任务处理效率导致响应时间延长。 2. 负载不均衡 问题在使用 max-jobs-per-acquisition 时某些 JobExecutor 可能会获得更多任务而其他实例则可能处于闲置状态。影响这种不均衡会导致资源利用率降低可能出现某些服务器过载而其他服务器闲置的情况。 3. 数据库压力 问题频繁的数据库查询和作业获取请求可能导致数据库负载增加。影响高负载可能导致数据库性能下降进而影响整体系统的稳定性和响应速度。 4. 任务执行延迟 问题由于上锁数量或任务竞争的限制任务的执行可能受到延迟。影响延迟会影响用户体验和业务流程的及时性尤其是在实时性要求较高的场景中。 5. 扩展性问题 问题随着任务数量的增加现有的调度和执行机制可能无法有效扩展。影响系统可能无法承受更高的负载导致性能瓶颈和资源浪费。 三、优化方案 提高多服务器环境下的任务处理效率确保任务的隔离性与资源利用的平衡 方案一修改 Camunda JobExecutor 源码以实现租户 ID 隔离 目标 为每台服务器指定一个租户 ID使得每台服务器仅能查询和处理其对应租户的任务从而提高任务的隔离性和资源利用效率。 实现步骤 租户 ID 支持 在 JobExecutor 中引入租户 ID 的概念使其能够识别和区分不同租户的作业。 查询作业时的过滤 在作业查询逻辑中增加对租户 ID 的过滤确保每台服务器仅获取与其租户 ID 相关的作业。 数据库查询修改 根据需要调整相关数据库查询以支持租户 ID 的使用。 优点 高隔离性每个服务器只处理特定租户的任务显著降低了任务之间的竞争。管理灵活性可以独立管理各个租户的负载便于监控和维护。 缺点 维护复杂性需要维护自定义源码增加了系统的复杂性。升级难度在升级 Camunda 时可能需要重新合并修改的代码增加了维护成本。 代码实现示例 租户 ID 支持创建实例时引入租户概念 查询作业时的过滤 修改org.camunda.bpm.engine.impl.persistence.entity.JobManager中的findNextJobsToExecute方法 数据库查询修改 修改org.camunda.bpm.engine.impl.persistence.entity.JobEntity中的selectNextJobsToExecute查询待执行任务方法 方案二使用 max-jobs-per-acquisition 参数控制上锁数量 目标 通过设置 max-jobs-per-acquisition 参数控制每次获取作业时的上锁数量以避免单台服务器获取过多任务。 实现步骤 配置参数 在 Camunda 的配置文件中设置 max-jobs-per-acquisition例如 camunda:bpm:job-execution:max-jobs-per-acquisition: 10 # 每次从数据库中查询时最多锁定并执行 10 个作业任务调度 确保系统根据这个参数进行作业调度以控制并发作业的处理。 优点 简单易行 不需要修改源码便于快速调整系统配置。 灵活性 能够根据需求迅速调整上锁数量以优化性能。 缺点 竞争可能性 多个 JobExecutor 实例可能同时查询相同的作业导致资源竞争加剧特别是在高负载情况下。 负载不均 由于任务调度是随机的可能导致某些 JobExecutor 获取更多任务而其他实例闲置造成资源利用不均。
http://www.hkea.cn/news/14328582/

相关文章:

  • 如何做淘宝客有没有免费的网站网站开发页面
  • 安徽省建设工程造价管理总站网站沧州网络公司有哪些
  • 微网站免费模板免费制作网站的软件
  • 网站做担保交易平台互联网保险的概念
  • 免费建站建设网站搭建网站10条重大新闻
  • 禅城区建设局网站晋州做网站的联系电话
  • 给公司怎么做官方网站网页设计搭建网站
  • 怎么区别网站开发语言重庆商会网站建设
  • 网站兼容怎么调徐州seo招聘
  • 顺德网站建设教程网站初期做几个比较好
  • 做一个网站最低多少钱35个成功的市场营销策划案例
  • 北航刘禹导师做网站品牌设计师需要具备什么能力
  • 厦门好景科技做网站网站介绍经过下拉怎么做
  • 如何通过查询网站注册时间地方门户网站如何宣传
  • 网站建设分项报价表做题网站中计算多项式的值怎么做
  • 泗阳做网站长春公司建站模板
  • 域名过期的网站怎么看学校校园网站建设服务
  • 响水做网站的公司the7 做的网站
  • 公司网站建设案例教程招商网站有哪些
  • 织梦网络公司网站源码hao123从网上开始
  • 义乌做网站多少钱wordpress 网站打不开
  • 企业资质证书查询官方网站外贸建站系统源码
  • 网站设计团队名称游戏网站建设成功案例
  • 英语培训建设网站方案做电影网站都需要什么工具
  • 平乡网站制作wordpress 还原备份数据库
  • 邙山郑州网站建设云南省安宁市建设厅官方网站
  • 农家乐网站建设营销方案企业网站建设的基本原则有哪些?
  • 苏州网站建设公司电话网站建设页面设计图片
  • wordpress建立移动站内江市建设培训中心网站
  • 手机数据线东莞网站建设技术支持外贸公司网站建设费用报销