c#版工作流之性能支持(18)

2024-04-25 23:32

本文主要是介绍c#版工作流之性能支持(18),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

进入第4个运行年度,业务数据量沉积给产品带来了性能问题。为提高软件的可用性。对工作流组件进行了全面构建。构建过程分为几步进行:缓存优化/消息组件独立/运行数据分区【运行库/业务库/业务沉积库】。

缓存优化:在为规划独立缓存服务前,对变更频率较低数据基础数据进行了较长时间的内存缓存[30分钟];对更新较为频繁的数据采用来了短频缓存机制[只满足request请求级别]。改善后,数据库的直接访问次数大大降低。

消息组件独立:工作流引擎核心表不再为消息显示提供数据源,引入独立的工作流消息套表,使工作流核心表为消息组件提供一次性构建数据源。构建后消息将独立提供读服务。消息不再直接依赖核心表,工作流监测服务对消息的延后重构提供了可行方案,使工作流引擎进入可自我修复阶段。

运行数据分区:在数据量小的时候,工作流所有数据都在核心表中,简单了工作流构建方案。随着时间的数据沉积与业务全面推广,并发量与数据量的双层压力,使工作流引擎无法有效提供及时服务。经过对数据统计,在几个大集团的数据量中,总数据量在100w。运行中的业务量在5w,及审批记录量在20w左右,按照这个数据积累进程,年度沉积量将进入50w。为在不增加硬件前提下提供平稳的响应体检,对数据进行读写分离改造,及为执行中数据提供运行库【5w-30w】数据量,业务库【存储近N年的完成业务】,业务沉积库【存储N年前的完成数据】。

flowable采用了类似的方法,但本次改造在它的基础上进一步引入业务沉积库概念。将提供更为长时间的高可用性方案。

这篇关于c#版工作流之性能支持(18)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/936099

相关文章

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

C#实现一键批量合并PDF文档

《C#实现一键批量合并PDF文档》这篇文章主要为大家详细介绍了如何使用C#实现一键批量合并PDF文档功能,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言效果展示功能实现1、添加文件2、文件分组(书签)3、定义页码范围4、自定义显示5、定义页面尺寸6、PDF批量合并7、其他方法

C#下Newtonsoft.Json的具体使用

《C#下Newtonsoft.Json的具体使用》Newtonsoft.Json是一个非常流行的C#JSON序列化和反序列化库,它可以方便地将C#对象转换为JSON格式,或者将JSON数据解析为C#对... 目录安装 Newtonsoft.json基本用法1. 序列化 C# 对象为 JSON2. 反序列化

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

C#文件复制异常:"未能找到文件"的解决方案与预防措施

《C#文件复制异常:未能找到文件的解决方案与预防措施》在C#开发中,文件操作是基础中的基础,但有时最基础的File.Copy()方法也会抛出令人困惑的异常,当targetFilePath设置为D:2... 目录一个看似简单的文件操作问题问题重现与错误分析错误代码示例错误信息根本原因分析全面解决方案1. 确保

从原理到实战解析Java Stream 的并行流性能优化

《从原理到实战解析JavaStream的并行流性能优化》本文给大家介绍JavaStream的并行流性能优化:从原理到实战的全攻略,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的... 目录一、并行流的核心原理与适用场景二、性能优化的核心策略1. 合理设置并行度:打破默认阈值2. 避免装箱

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”