- 博客(105)
- 收藏
- 关注
原创 Spark云原生流处理实战与风控应用
Spark在云原生和流处理领域的深度演进,使其成为现代数据架构的核心引擎。通过Kubernetes实现资源弹性、利用Structured Streaming保证精确一次处理,并在实时风控等关键场景验证其能力,Spark正重新定义实时计算的边界。随着无服务器架构和AI集成的深入,Spark在云原生时代的价值将愈加凸显。本文将深入探讨Spark在Kubernetes环境下的动态扩缩容、Structured Streaming的精确一次处理机制,并通过真实案例解析实时风控系统架构实现。
2025-08-26 11:00:12
709
1
原创 Spark性能调优的道与术:从理论到实践的精髓
性能优化是Spark开发中永恒的话题,优秀的调优策略往往需要在理论深度与实践经验之间找到平衡点。本文将系统性地介绍Spark性能调优的核心方法论,涵盖资源分配策略、Shuffle机制演进以及现代监控调优工具链,帮助开发者构建高性能的Spark应用。随着Spark on Kubernetes的普及和AI驱动的自动调优发展,性能优化正变得更加智能化。但深入理解这些核心原理,仍是应对复杂场景的基础。:对于批处理作业,初始Executors设为总任务的1/4,最大Executors设为集群可用资源的80%。
2025-08-19 11:00:00
693
原创 PySpark性能优化与多语言选型讨论
本文将深入探讨PySpark的底层实现机制、多语言API性能差异以及如何与深度学习框架集成实现分布式推理。:监控Python Worker内存,避免OOM(建议开启spark.python.worker.memory),PySpark在多语言生态中的优势将进一步扩大。:Driver端的Python解释器与JVM分离,通过Socket通信,避免GC相互影响。:PySpark通过Py4J实现Python-JVM交互,Worker进程隔离保障稳定性。PySpark与多语言支持:架构原理、性能对比与AI集成实践。
2025-08-12 11:08:03
680
原创 Spark SQL:用SQL玩转大数据
突破传统Hive单一数据源限制,支持RDD、Parquet、JSON、CSV、JDBC(如MySQL/Oracle)等异构数据源,形成统一抽象的数据帧(DataFrame)接口。Spark SQL的核心价值在于以SQL语法统一异构数据处理流程,通过Catalyst与Tungsten的深度协同,使开发者无需关注底层分布式复杂性,专注业务逻辑实现。摆脱对Hive执行引擎的依赖(仅复用其元数据存储与HQL解析),自研执行引擎实现更高性能扩展。一、Spark SQL核心定位:大数据处理统的一入口。
2025-08-04 11:00:27
1240
原创 Spark初探:揭秘速度优势与生态融合实践
与MapReduce强制将计算过程分为Map和Reduce两个阶段不同,Spark的DAGScheduler可以将一系列操作合并为更高效的任务阶段,只有在需要与其它节点交换数据时才进行shuffle操作,从而大幅减少不必要的磁盘I/O。本文将深入探讨Spark为何能比Hadoop MapReduce快上数十倍甚至百倍,剖析其核心内存计算机制与RDD弹性分布式特性,阐述Spark与Hadoop生态系统的互补关系,并最终通过一个5分钟快速搭建本地Spark环境的实践指南,帮助读者快速上手这一强大工具。
2025-07-29 11:34:31
831
原创 Spark与Flink深度对比:大数据流批一体框架的技术选型指南
Spark的定位为"快速的、通用的、可扩展的大数据处理引擎",如同一个全能型选手,能够处理各种类型的数据任务。Spark最初以批处理闻名,后通过Spark Streaming实现微批处理(Micro-batch)来支持流计算,近期又推出Structured Streaming向真正的流处理靠拢。,Flink的设计更为完善。根据Apache路线图,Flink 2.0将引入性能提升3倍的流处理SQL引擎,而Spark Structured Streaming计划实现与Flink API的互操作性。
2025-07-22 11:00:00
816
原创 LightProxy使用操作手册
LightProxy是一款由阿里巴巴集团开发团队精心打造并开源的网络代理和调试工具,旨在帮助开发人员在进行Web开发和测试时,能够轻松实现网络数据的抓取、调试以及性能分析等复杂操作。这款工具不仅支持macOS和Windows两大主流操作系统,实现跨平台操作,而且其界面设计简洁直观,功能布局合理,即使是初次接触的用户也能迅速上手,进行基本的代理设置和调试操作。LightProxy是一款功能强大的网络调试工具,它可以帮助我们捕获和分析网络请求,是进行前端开发、后端调试以及移动应用测试的重要工具。
2025-07-15 11:30:24
713
原创 Sentry一看就会教程
前情摘要此前发布的低代码前端异常监控相关文章中,我们已了解到通过 Sentry 实现错误监控与日志上报的核心要点。这不仅有助于快速定位和解决问题,还能提升应用程序的稳定性和用户体验:优化日志上报机制:通过手动和自动上报日志,确保所有错误都能被记录和上报。提高问题定位效率:利用Sentry的搜索和分析功能,快速定位问题根源。建立使用规范:通过规范Sentry的使用,确保日志信息的准确性和一致性。提升开发效率:减少因问题定位困难而导致的开发时间浪费,提高开发效率。
2025-07-08 11:00:29
754
原创 微前端架构解析:核心概念与主流方案特性对比
微前端架构旨在解决单体应用在一个相对长的时间跨度下,由于参与人员、团队的增多、变迁,从一个普通应用演变成一个巨石应用后,随之而来的应用不可维护的问题。弹框类的功能无法应用到整个大应用中,只能在对应的窗口内展示。多种构建模式 - 同时支持在微前端模式和非微前端模式构建,兼容动态化的运行时集成和静态化的构建时集成。CSS 隔离 - 可选的 CSS 隔离设定,并根据不同的渲染方式,具备宽松隔离和严格隔离的可选项。EMP是由欢聚时代业务中台自主研发的最年轻的单页微前端解决方案,除了具备微前端的能力外,还实现了。
2025-07-01 11:00:00
921
原创 JavaScript中的递归与回溯
细心的朋友应该能发现,嵌套 for 循环的次数其实就等于我们要排列的 (k) 的次数。当我们选择到了[1,2]之后,则需要回到1的位置,因为这个时候需要选择3选项,形成[1,3],那么回到'1'的操作,就类似于二叉树遍历回到父节点的操作,如果此时我们不操作,path.pop(),就会形成了[1,2,3],这样的结果明显不是我们想要的,因此在操作push "3"的过程中,需要先把2给pop掉。以上面题目为例子,从1-4(n)的数字中,排列2(k)个数的组合。要想理解回溯的含义,最为经典的还是二叉树的遍历。
2025-06-24 11:05:18
768
原创 vue2.7升级指南
vue3中,新增了 defineComponent ,它并没有实现任何的逻辑,只是对setup函数进行封装,返回options的对象,它的存在是完全让传入的整个对象获得对应的类型,它的存在就是完全为了服务 TypeScript 而存在的,在TypeScript下,给予了组件正确的参数类型推断。7月1号,尤大在博客上宣布了 Vue2.7 版本的正式发布,这对于 Vue2 版本的用户来说绝对是一个利好消息 —— 不需要大刀阔斧的重构就能体验到 Vue3 中的核心特性了。.userInfo?
2025-06-17 11:00:00
1722
原创 前端性能优化-虚拟滚轮(Virtual Scroll)
该方案的解决方法是第一次只渲染所能承受范围内的数据量,当滚动条拖动接近底部(或右部)时,再去追加下一批所需要渲染的元素,该方案也是有一个明显的缺陷在于,无限地滚动下去必然会触及浏览器的性能瓶颈,而且所需要渲染的元素会越来越多,性能迟早会被拖垮。这个方案是大家浏览到页面所常用的,通常在需要展示非常多行的数据时,页面会采用分页的做法来分割数据,虽然该方法减少了一次性所渲染的行数,但是如果查询的表列数非常多的话,还是有很大概率需要渲染非常多的元素,所以不是一个稳妥的选型。
2025-06-09 11:05:11
955
原创 Nginx实战
1、正向代理例子(VPN):正向代理就是代理客户端,正向代理服务器是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求,并将获得的内容返回给客户端。访问百度,这个时候肯定不是访问同一个服务器,而是通过nginx来转发和控制服务器,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端。
2025-06-03 11:14:30
802
原创 关于列表性能分析与标准
同时下面还有一个updateStyle的方法,这是列表中更新样式的方法,通过源码解读可以发现,在内部处理了空白区域的高度和top,这个方法是在开启了虚拟滚动才会调用的,所以更加坚定了干掉虚拟滚动的想法。然后会看到操作过程的性能分析,可以看到有一段一段的红色进度条,出现红色的进度条说明操作过程,是超出长任务(大于50ms)的,一般出现这种是频繁的操作了DOM元素,触发了浏览器的layout,也会是js的宏微任务运行过多导致。类似于这样的操作,我一般都是选取红色长任务条的平均值,作为衡量列表滚动的时长。
2025-05-26 11:15:38
1015
原创 storybook使用指南
此处写文档与我们平常写文档直接一个table是存在区别的,要按照storybook的规则进行书写,否则无法正常在下方的controls内看到可交互的文档内容。完成了这些设置后,基本就完成了一个组件简单的说明文档了,接下来就可以在网页内进行测试。使用storybook写文档时,需要先引入所需的组件,并且做好注册操作。看到在项目中有对应的菜单了,接下来要进行参数的设置。在引入了组件后,就可以开始写我们熟悉的属性文档了。在进行了基本的初始化之后,就可以执行。1. storybook是什么。喜欢本文请点点关注~
2025-05-20 11:00:00
540
原创 Fullcalendar常用功能介绍
注意:除非确认所有视图都不能使用,才使用这种视图,文档上描述不是很清晰,并不能让我们知道自定义后事件是如何触发的,很多东西都要重新写过,事件触发还得自己搞。使用方式以当前的日历视图实例.getApi()去获取整个日历视图的相关数据,返回的是一个Calendar的类型。显示日历视图:FullCalendar可以显示日历视图,包括月视图、周视图和日视图等。由于返回的是Calendar,所以可以直接使用Calendar下面的方法,如。从上面可以看出,我们的视图,是由对应视图插件,加上展示条件进行共同配置的。
2025-05-14 11:00:00
2372
原创 前端性能&异常分析排查流程
在确保前端应用程序提供无与伦比的用户体验的同时,还需考虑到性能方面的因素。使用 Chrome 开发者工具中的Performance 选项卡,查看页面加载过程中的时间线,并分析每个时间段的耗时情况。工具:可以自动测试网站的性能、可访问性和最佳实践等指标,并提供建议和改进方案,帮助开发者全面评估网站的性能和质量。第三方库冲突:使用了多个第三方库或框架,可能会产生依赖冲突或版本不兼容的问题,导致页面无法正常运行。4、点击长任务,可以看到执行的总时长,可以从这里分析是渲染的时间占比长还是函数调用的时间长。
2025-05-09 11:00:00
1163
原创 Dify平台压测
选择该工具的原因:由于Dify的chat-messages为流式响应接口,经调研Locust相较其他工具(如Jmter、K6、wrk),直接在测试脚本中通过参数设置即可支持流式接口的调用,故本次压测使用Locust作为压测工具。由于在8核16G的限制下,资源已无法再进行调整,同时在压测过程中发现接口最终会通过pdsql进行数据的查询和修改,故对pdsql的配置进行调优,具体调整如下。该查询sql是压测接口中会执行的sql,同时查看表结构确认查询可以命中索引,且该表无数据,通过。
2025-04-29 11:00:00
2067
1
原创 SQL问数提示词模板与测试
输出格式:请以 json返回,json里面的格式为{"sql":"{需要返回的sql}", "desc": "对sql的解析"}, sql不需要换行。通过提示词提取到核心字段后,将属于低代码外键字段的名称修改为"xxID",并保存视图,用视图的字段名,作为表结构维护起来,再做一次大模型总结。:请以 json返回,json里面的格式为{"sql":"{需要返回的sql}", "desc": "对sql的解析"}, sql不需要换行。查询项目名称为中粮考勤的参与人,并按参与工时降序排序,最多返回 10 条。
2025-04-22 11:00:00
1549
原创 Dify架构分析
随着业务的发展,如果原有的模块已经无法满足需求,Dify可以快速地添加新的模块,而不需要对原有的系统进行大规模的修改。Dify作为主流的AI开发平台工具,具有独特的优势。如下图,用于提供每个节点配置prompt、配置输入、配置输出的一项核心功能,核心本质是根据不同的节点类型,作为节点的上下文,对这个节点的输入和输出进行字符串替换,无实现的技术难度。实际上调试使用的功能就是工作流节点的节点停留,可以调试从开头节点到当前节点的实现逻辑,并将每个节点的运行信息显示在前端的一个基础功能,无实现的技术难度。
2025-04-14 11:00:05
1382
原创 Dify内部工具实现过程
因为我们要了解的是工作流怎么调用到插件的过程,所以根据上面的入口,继续探查时,我们会进入到这个else if的判断逻辑,需要继续进入到WorkflowAppGenerator里面的逻辑。从上面的实例化映射中,我们可以知道ToolNode就是内置工具的节点处理类,其中ToolNode的核心是ToolManager。循环的核心逻辑实际上就是遍历工作流的边和节点,获取到新的节点后,实例化节点,执行节点的内部run函数。收集上一个节点产生的内容,以上下文的方式中传入到当前节点,并作用于当前节点的参数配置。
2025-04-07 10:59:15
823
原创 使用pycharm社区版调试DIFY后端python代码
原来的docker compose文件并没有暴露中间件的端口,请修改各个中间件的端口暴露,方便本地和docker跑的用的中间件一样,下面的文件是从0.15.3版本文件里面更改中间件后的docker-compose文件,主要改了redis、pgsql、weaviate等,同时还限制了新建的网络为172网络,防止和一般的192局域网段冲突。配置PYCHARM的运行参数;这里的.env文件要和第一个步骤的.env文件的sercetKey一致,理论上两个东西是一样的,不知道为什么开源的搞了两个文件放在不同的地方。
2025-04-02 11:00:00
2780
1
原创 Dify 0.15.3版本 本地部署指南
通过本地部署,用户可以更灵活地定制和扩展Dify的功能,满足多样化的需求。由于有些代码逻辑,前端是取后端返回的URL进行请求的,例如图标地址是后端给的地址,因此需要修改一下.env文件里面的各种http地址为具体的ip或者域名,如下图,根据自己部署的域名或者IP,将原来的127.0.0.1改成对应的地址,生产建议全域名。Dify 0.15.3版本在Linux上的本地部署指南,涵盖单机部署机器配置、系统Python环境安装、中间件部署、npm环境配置、Dify及相关组件运行、Rerank模型安装等内容。
2025-03-27 10:59:31
3123
1
原创 OpenAI没做到的,梁文锋他们做到了?长上下文赛道的NSA与MoBA启示录(下)
一、解剖NSA:当算法设计师和硬件工程师"联姻"DeepSeek的NSA像一台精密的瑞士钟表,将算法创新与硬件优化完美啮合。其核心奥秘在于:让稀疏计算不再是理论上的"节能标兵",而是实际部署中的"速度狂魔"。要实现这一点,团队祭出了三把"手术刀":动态分层筛选、硬件对齐设计、端到端可训练性。1.动态分层筛选:注意力界的"三明治法则"NSA的注意力计算像吃三明治——先大口咬下主体结构,再细品关键夹心:● 第一层:望远镜模式。
2025-03-19 16:00:00
1768
原创 OpenAI没做到的,梁文锋他们做到了?长上下文赛道的NSA与MoBA启示录(上)
想象一下,当你要处理一本百万字的小说时,模型需要计算每个字与所有其他字的关系——这相当于让一个人同时记住整本书的每个细节,并实时分析它们之间的联系。统Transformer的"全注意力"机制就像一场没有VIP通道的演唱会:每个观众(token)都要和所有其他观众握手(计算注意力分数),导致场馆入口(GPU显存)挤爆,安检速度(计算速度)暴跌。受此启发,稀疏注意力(Sparse Attention)应运而生——通过智能跳过"不重要"的计算,将复杂度从O(n²)降至O(n log n)甚至O(n)。
2025-03-17 19:29:10
763
原创 三分钟看懂模型蒸馏:为什么说它是AI轻量化的关键技术?
想象一下,你有个特别厉害的老师傅,做菜功夫炉火纯青,现在要培养个小徒弟,既得学会老师傅的手艺,动作还得比老师傅麻利——模型蒸馏就是这个道理,把动辄千亿参数大模型(老师傅)的能耐,"浓缩"进一个小模型(小徒弟)里。
2025-03-10 11:00:37
1080
原创 前端Leader,推荐你在团队内使用这几个插件
这种方式不仅仅是一种代码规范的监控工具,更是一种隐形的指导,让团队在编写代码的同时保持代码的规范。为了减少在本地的配置,可以把针对 VSCode 的配置,写一个setting.json文件跟随项目,一起提交到远程仓库,这样的话就保证了项目成员都用的是这套配置。在这个平衡点上,随着开发业务的增加,加上大量历史代码、多种编码风格的原因,我们也不得不关注代码质量的保证。2、然后在 VSCode 右上角找到打开设置(json)的图标,点击后,会打开 settings.json 文件;3、然后把以下配置贴进去即可。
2025-03-03 11:01:50
474
原创 深度解码DeepSeek-R1:一场颠覆AI训练范式的“慢思考革命“
在HuggingFace社区,已有327个垂直领域改进版诞生:医疗诊断模型能清晰罗列鉴别诊断依据,法律助手可追溯司法解释的演变脉络,甚至剧本创作AI会标注"此处悬念不足,建议增加倒叙"的自我评注。当被问及AI的终极形态时,这位亲历过三次技术革命的专家沉思良久:"或许不久的将来,我们考核程序员的不再是代码量,而是提出正确问题的能力——因为解决问题的智慧,正在从人脑向硅基载体不可逆地迁移。更惊人的是,当要求实现"元宇宙葬礼"功能时,AI自动标注了伦理审查要点,并建议"加入数字遗产公证模块"。
2025-02-24 11:05:55
826
原创 低代码表单引擎刷新机制
算法采用递归遍历刷新点,并写入刷新点的图结构来实现刷新点的计算以及回归。每计算完刷新点的结果,系统会解析结果,并将结果也解析成新的解析点进入图结构中,后继续进行广度优先的遍历。通过对比分析不同刷新模式的优缺点,我们最终选择了刷新点触发模式,并给出了具体的实现步骤和算法逻辑。:服务端主动解析会触发刷新的点,以及低代码维护者设定的刷新点(触发其他字段刷新机制的字段的信息后续简称刷新点)。在我们的常见场景中,刷新的及时性和交互友好度更为重要,最后选择了刷新点触发模式作为我们的刷新机制。为所有分数的累加结果。
2025-02-17 11:11:11
1242
原创 AGI的基石:什么是机器学习
其中节点之间的连接形成了一个沿着序列的定向图,如从一层到前一层的特点链接,允许信息流回网络的先前部分,因此每个层中的模型都依赖于过去的事件,使信息得以持续。如果厨师再次给你同样的配料做的餐点,你无法识别配料,你必须从头开始,因为你没有任何记忆。LSTM 是一种特殊的循环神经网络(RNN),能够学习长期依赖关系,这使得 RNN 擅长记住过去发生的事情,并找到时间上的模式,使其下一次猜测更有意义。上下文越大,模型能够考虑的信息就越多,生成的回答也就越相关和连贯,相应的,所需要的算力也就越多。
2025-02-10 11:08:39
754
原创 一文读懂元数据
从上图可以看到,元数据A来源于元数据A1、元数据A2以及元数据A3,这背后的技术层面的含义是,一个或者多个ETL作业中存在某个映射管理(计算逻辑),将元数据A1、A2、A3通过加工生成元数据A。其中数据的核心载体是数据平台中的模型以及数据应用中的应用模型,数据模型或者数据应用发生任何的变更都会导致元数据发生变化,例如新增某个业务场景会导致新的元数据产生,减少某个应用场景会导致一些元数据消失。管理性元数据分为技术型元数据、结构性元数据、溯源元数据、保存性元数据、权限元数据、元-元数据等。
2025-01-21 11:00:00
1571
原创 X-mind的应用指南
Xmind 是一款流行的思维导图和脑图工具,被广泛应用于项目管理、需求分析、学习和创意开发等领域,提供一种直观的方式组织和可视化信息,以结构化的形式展示思想、计划和任务。
2025-01-13 15:33:07
1207
原创 谁偷看了小美的情书?HTTPS如何守护爱情的秘密
非对称加密是通过公开自己的公钥,让加密内容只有自己的私钥能解开,虽然能有效保护信件内容不被窃取,但它无法保证信件来源是否真实,就像小美和小东之间已经有了非常强大的加密措施,但如果老王替换掉了公钥,伪造了一封信,试图冒充小东写给小美的信,普通的收信者可能会难以分辨真假。小东对小美说,那我们就将“密钥 S”进行对称加密,再传输,这样老王就不知道密钥S了,小美推敲了下反驳了这个方法,因为使用对称加密对“密钥S”加密再传输, 那加密“密钥 S”的“密钥 S1”,还是有被老王偷到的风险。需要 CA机构的公钥。
2025-01-13 11:31:22
986
原创 Flink CDC在七巧低代码和七析BI中的应用
因此,七巧低代码平台采用的是共享数据库,按租户分表的多租户数据架构,业务上需要与七析BI进行数据对接,保持实时,又需要支持海量的业务表保持同步。当时Flink CDC 2.0刚出,是比较热门的CDC同步框架,同时有阿里背景背书,支持基于日志的CDC同步机制,支持增量同步、实现了Dblog算法,断点续传、高可用,同时可以使用Flink的算子对数据进行处理,不需要额外引入更多的技术组件,立马就吸引了我们,并对Flilnk CDC的基础使用做了调研。任务数可以减少,但无效的同步会增加,而实际上,这些任务占用的。
2025-01-06 11:02:48
1235
原创 新版本下的旧 URL “拦截门” - 如何优雅地拒绝访问
通过在路由中设计版本标识,并借助路由过滤公共方法,我们成功实现了新版本下访问旧版本URL路由的拦截和引导,以及旧版本下访问新版本URL的处理。而对于旧用户,我们默认将其引导至旧版本,同时提供了体验新版本的选项。1.在新版本下,用户访问旧版本url,出现以下引导页面。2.在旧版本下,用户访问新版本url,出现以下引导页面。:在路由元信息meta中添加参数version,类型为数组,指明路由适用的版本。在功能和界面上进行了较大的改进,因此存在新版本和旧版本的切换使用,路由版本标识有了,那就来整个。
2024-12-30 11:00:06
393
原创 Flink集群批作业实践:七析BI批作业执行
集群的生命周期与作业的生命周期一致。每一个Flink作业都会根据userJar和运行时的数据生成一个JobGraph,Flink会为每一个作业生成一个JobMaster来管理这个job的整个生命周期。第一步是将原来的fat jar拆分成一个thin jar和lib jar,thin jar是我们的flink程序代码,lib jar是我们程序的其他依赖。每一个slot都会分配一个线程执行,所以slot是Flink作业的最小执行单位,而task slot的总数量代表整个Flink集群的并行度。
2024-12-23 15:58:43
843
原创 AIGC 时代:低代码与AI的场景融合
系统上线后,随着业务的发展,企业在流程管理、数据可视化等方面的需求增多,开发人员又需按同样的流程进行二次开发,流程复杂且耗时长,使得应用开发速率难以满足需求迭代速率,进而导致系统功能与业务脱节,利用率低。应用搭建者根据企业管理者的要求,完成数据报表的搭建。围绕低代码平台现存的问题,人工智能的出现为低代码平台困境提供了新的思路,平台可以设计 Agent,让用户能够通过简单的一行文字描述或甚至一张图片,即可获取解决方案,设置快速创建可用的应用程序,帮助用户快速上手代码产品,从而降低低代码平台的使用门槛。
2024-12-23 11:09:39
1461
原创 前端低代码如何打破系统孤岛
内嵌方案千千万,有微前端qiankun、无界等,而iframe作为原生高效的方案,又能带来什么样的能力呢?Iframe 定义• 内联框架概念:内联框架(Iframe)是一种 HTML 元素,用于在网页中嵌入另一个独立的HTML文档,允许在一个页面内显示多个相互独立的文档内容。• 会话隔离特性:Iframe 创建了一个沙盒环境,其内部的脚本和内容不会影响到外部页面,实现了不同文档间的会话隔离,增强了网页的安全性和稳定性。
2024-12-16 11:29:18
1158
原创 k8s 优雅监控jvm及dump heap的方案探讨
为了避免因健康检测失败而导致的pod重启,我们需要实施有效的监控策略,这包括监控JVM的内存使用情况、GC活动以及应用程序的响应时间。Kubernetes Operator 是一个特定于应用程序的控制器,它扩展了 Kubernetes API 的功能,以代表 Kubernetes 用户创建、配置和管理复杂应用程序的实例。而开启JMX则能提供实时的监控数据,但需要额外的配置和资源。通过这种方式,我们可以实现一个全面的、自动化的 JVM 监控和 heap dump 解决方案,大大提高问题诊断和解决的效率。
2024-12-09 11:07:31
1444
原创 低代码之树状列表数据结构设计
本篇文章详细介绍了树状列表的功能清单与实现方案,从基础的层级数据渲染到复杂的跨节点拖拽操作,每个功能都围绕用户的实际需求展开。通过设计的树状数据结构,能很好的支持校验权限、精确计算位置、实现拖拽节点等步骤,确保了树状列表的功能实现既高效又可靠。
2024-12-03 11:00:00
1925
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人