- 博客(184)
- 资源 (12)
- 收藏
- 关注
原创 flink实战--metrics监控与rest api
Flink metrics简介 Flink的metrics是Flink公开的一个度量系统,允许收集flink程序的公开指标到外部系统,我们也可以自定义指标通过metric收集,实际开发时经常需要查看当前程序的运行状况,flink 提供了 UI 界面,有比较详细的统计信息。但是 UI 界面也有不完善的地方,比如想要获取 flink 的实时吞吐。本文将详细介绍如何通过metric......
2019-05-24 17:39:13
15821
7
原创 flink实战--读写Hbase
简介 在Flink文档中,提供connector读取源数据和把处理结果存储到外部系统中。但是没有提供数据库的connector,如果要读写数据库,官网给出了异步IO(Asynchronous I/O)专门用于访问外部数据,详细可看:https://ci.apache.org/projects/flink/flink-docs-release-1.6/dev/stream/o...
2019-01-18 19:07:18
8359
35
原创 flink实战--flink集群的搭建与部署
flink实战案例一:flink集群的搭建与部署1.下载Flink压缩包下载地址:http://flink.apache.org/downloads.html根据集群环境的情况下载相应的版本的flink压缩包hadoop2.6,Scala2.11,所以下载:flink-1.5.0-bin-hadoop26-scala_2.11.tgz解压tar -zxf flink-1.5.0-bi...
2019-01-17 16:44:09
15029
原创 spark将数据写入ES(ElasticSearch)终极总结
简介spark接入ES可以使用多种方式,常见类型如下。将Map对象写入ElasticSearch 将case class 类对象写入ElasticSearch 将Json的字符串写入ElasticSearch本文主要介绍将case class 类对象写入ElasticSearch:也就是获取数据然后使用case class封装数据,然后在case class中选取一个字段当做 id,...
2019-01-09 13:11:47
31808
19
原创 flink实战--水印(watermark)终极总结
水印(waterMark) 了解水印前需要了解事件时间(eventTime)和处理时间(processTime)的概念,参考博客:https://blog.csdn.net/aA518189/article/details/82908993了解事件时间。 Flink通过水印来推进事件时间。水印是嵌入在流中的常规记录。计算程...
2018-12-24 15:12:23
7817
2
原创 flink实战--flinkSQL入门大全
FlinkSQL概念介绍Table API & SQL Apache Flink具有两个关系API - 表API和SQL - 用于统一流和批处理。Table API是Scala和Java的语言集成查询API,允许以非常直观的方式组合来自关系运算符的查询,Table API和SQL接口彼此紧密集成,以及Flink的DataStream和DataSet A...
2018-11-12 18:07:03
25407
3
原创 flink实战--flink原理解析
Flink出现的背景 我们知道目前流处理的主要流行的计算引擎有,Storm,SparkStreaming。但是这个两个计算引擎都有自己的局限性。Storm实现了低延迟,但是目前还没有实现高吞吐,也不能在故障发生的时候准确的处理计算状态(将数据从一个事件保存到另一个事件的,这些保留下来的是数据较计算状态),同时也不能实现exactly-once。SparkStreaming通过微批处理方法............
2018-09-30 15:40:22
22356
7
原创 flink实战--实战案例
本文以flink本地模式 进行各个场景的实战开发Flink本地运行模式Flink支持两种不同的本地运行机制: LocalExecutionEnvironment启动完整的Flink运行环境,包括一个JobManager和一个TaskManager。这些包含了内存管理以及在集群模式下运行时所运行的所有内部算法。 LocalEnvironment也可以向Flink传入用户自定义配置。...
2018-09-18 11:52:31
8877
3
原创 kafka工作原理与使用
1.Kafka概述1.1.什么是KafkaApache Kafka是分布式发布-订阅消息系统(消息中间件)。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。传统消息中间件服务RabbitMQ、Apache ActiveMQ等,Apache Kafka与传统消息系统相比,有以下优点...
2018-06-30 20:43:01
2058
原创 kafka集群的搭建与使用
1.下载Apache kafka 官方: http://kafka.apache.org/downloads.htmlScala 2.11 -kafka_2.11-0.10.2.0.tgz(asc,md5)2.Kafka集群安装第一步:安装JDK &配置JAVA_HOME第二步:安装Zookeeper 参照Zookeeper官网搭建一个ZK集群, 并启动Z...
2018-06-30 20:33:57
974
原创 Hadoop之hdfs的工作原理和安装
一 HDFS简介(Hadoop Distributed File System)1简介:是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上。它所具有的高容错、高可靠性、高可扩展性、高获得性、高吞吐率等特征为海量数据提供了不怕故障的存储,为超大数据集(Large Data Set)的应用处理带来了很...
2018-04-08 22:32:07
1015
原创 redis的安装与使用
下载redis因为redis一般会在linux系统进行安装,所以下载时要下载linux系统的安装包。官网地址:http://redis.io/下载地址:http://download.redis.io/releases/redis-3.2.8.tar.gz因为Redis是用c语言写的 需要需要现编译在安装编译工具:make BuildFileant build.xml...
2018-04-01 16:52:26
491
原创 基于ssm三大框架实现登录注册功能的配置过程
第一步 ssm jar包整合,本人的下载资源里面有整合的jar包主要有:ssm整合jar包 ,jstl,数据库连接,josn junit,等jar包第二步,建立各类包和配置文件,尽量把各个配置文件分开,统一放在一个自己建立的config文件夹中,容易区分,后面也好检查更改主要配置,mybatis,spring—mybatis,和springmvc,以及web.xml和jdbc(数据库连接信息)j...
2018-03-17 16:35:13
2577
原创 longchain4j实战 -- Multi-Agent协调机制实战
本文介绍了Multi-Agent架构在企业复杂业务场景中的应用优势。针对单Agent在处理多领域任务时存在Prompt复杂、工具选择准确率低等问题,提出了SupervisorAgent模式:通过主Agent协调多个专业Agent(如FlinkAgent、KafkaAgent)分工协作。文中以天气穿搭助手为例,展示了基于LangChain4j的多Agent实现方案,包含WeatherAgent、OutfitAgent和负责调度的SupervisorAgent,通过工具封装实现自主任务规划和结果整合。该架构显著
2026-07-16 15:55:14
167
原创 Java MCP(Model Context Protocol)实战大全
摘要: MCP(Model Context Protocol)是AI时代连接大模型与企业系统的开放协议,解决AI无法理解企业内部接口的问题。传统HTTP接口面向开发者,而MCP通过标准化描述(如功能、参数、返回值)让AI理解并调用系统能力。核心角色包括MCPServer(提供能力描述与执行)和MCPClient(调用工具),调用流程涵盖工具发现、请求生成与结果返回。Java开发者可通过Solon等SDK快速构建MCPServer,需手动配置MCP地址供AI客户端连接。MCP本质是AI领域的“OpenAPI”
2026-07-16 14:56:25
146
原创 LangChain4j -- 如何使用自定义的tool增强模型能力
摘要: LangChain4j的Tool机制赋予大模型调用后端能力,通过函数声明(如Java方法标注@Tool)转换为OpenAI兼容的JSON Schema。模型根据用户问题判断是否调用Tool,执行后回填结果生成响应。基础依赖需注意版本组合(如0.35.0)。示例中,UserTools定义查询余额/积分的方法,AiServices绑定模型与工具,实现自动调用。企业场景可扩展多Tool协作、复杂对象返回及Prompt策略控制,建议构建统一工具层集成Hive、ES等数据平台能力。Tool机制是Demo到生产
2026-06-26 16:53:58
199
原创 LangChain4j -- LangChain4j入门大全
LangChain4j:Java生态中的大模型应用开发框架 摘要:LangChain4j是Java生态中面向大语言模型(LLM)应用的开发框架,类似Python的LangChain。它帮助Java开发者快速构建企业级智能应用,支持多种主流模型(OpenAI/DeepSeek/Claude等)和功能:ChatModel(核心聊天接口)、Message消息体系(系统/用户/AI消息)、Prompt模板、Memory上下文记忆、Embedding向量化以及RAG检索增强等。通过封装HTTP请求、对话历史管理等复杂
2026-06-26 16:12:43
265
原创 RRF 混合检索 + BGE 重排序
本文针对纯向量检索在关键词精确匹配上的不足,提出了一种混合检索方案。通过结合RRF(Reciprocal Rank Fusion)融合算法和BGE-Reranker重排序技术,有效提升了检索系统的性能。实验表明,该方案在Agentic RAG系统中使Recall@10提升22%至0.82,MRR提升至0.76,且无需调参、对异常分数具有鲁棒性。文章详细介绍了技术原理、实现流程和性能优化,包括并行检索架构、中文分词处理等实践要点,并对比分析了各环节对检索效果的影响。该方案在保持可控延迟的前提下,显著提升了检索
2026-06-23 21:09:39
313
原创 检索增强生成(RAG)有哪些优秀的方案
本文介绍了三种检索增强生成(RAG)系统的主要特点和应用场景。VectorRAG基于向量相似度检索,支持多模态数据处理;GraphRAG通过图结构管理知识网络,擅长关系分析;AgenticRAG具备自主决策能力,适用于复杂工作流。选择系统需考虑数据类型、使用场景和可扩展性:VectorRAG适合文档检索、GraphRAG适用于知识图谱、AgenticRAG应用于智能客服等自动化场景。实施建议包括根据需求选择架构、优化数据处理流程及建立性能监控体系。
2026-06-22 14:51:24
234
原创 RAG系统设计 -- 多路召回设计
摘要:检索增强生成(RAG)通过结合向量检索、关键词检索和知识图谱检索三种互补方式,构建了工业级RAG架构。向量检索擅长语义匹配,关键词检索适合精准术语查询,知识图谱则能挖掘实体关联。三者配合Rerank重排模型,可有效提升检索质量。文章还分析了不同相似度计算方法的特点,并指出不同检索结果的评分标准差异大,必须经过归一化处理才能融合排序。这种多路召回策略显著提升了RAG系统的准确性和可解释性。
2026-05-25 15:01:00
408
原创 MySQL性能优化大全
摘要:本文系统总结了SQL多表关联查询的优化原则。核心结论包括:1)执行计划比数据量更重要;2)JOIN性能取决于驱动表选择和索引匹配;3)排序优化需确保排序列来自驱动表且命中索引;4)分页应先排序取ID再回表。文章详细分析了多表关联的6个典型慢点,提出"主诉求决定驱动表"原则,强调复合索引设计应遵循"等值过滤→排序列→关联列"顺序。针对不同场景给出具体优化方案,包括主表分页、关联表排序等模板,并指出LEFT JOIN按右表排序易导致性能问题。最后列举8个常见分页陷阱
2026-04-10 10:44:05
384
原创 基于VScode构建企业级云容器开发平台技术方案
本文提出了一套企业级VSCode云开发平台建设方案,旨在解决传统研发模式中存在的环境不一致、资源不足、安全风险等问题。方案采用控制面与数据面分离架构,基于Kubernetes实现开发容器管理,通过OpenResty网关实现多租户隔离。平台整合了Ceph存储、分层镜像设计和大数据组件支持,提供标准化开发环境、数据安全管控和一体化开发体验。重点介绍了网络隔离、存储优化、镜像分层和权限审计等核心模块设计,为企业构建高效安全的云原生开发平台提供了系统化解决方案。
2026-04-02 16:55:50
726
1
原创 paimon实战 -- 深度解析 paimon 数据更新黑科技
Apache Paimon通过创新的MergeEngine机制解决了传统数仓更新成本高的问题。其四种合并引擎各具特色:Deduplicate保留最新记录、Partial-Update实现多流拼接、Aggregation支持存储层预聚合、First-Row保留首条数据。基于LSM-Tree架构,Paimon采用追加写入和读时合并的方式,显著提升写入性能。使用Partial-Update引擎时,只需在建表时指定即可实现字段级更新。注意事项包括:NULL值处理、必须定义主键、乱序数据处理和文件合并优化。该技术为实
2026-03-26 20:45:10
93
原创 paimon实战 -- 数据时间旅行原理解析
摘要:Apache Paimon通过Snapshot快照机制实现时间旅行功能,允许查询历史数据版本。其核心原理是采用LSM-Tree结构管理多版本元数据,而非物理备份数据。当数据变更时,Paimon生成新的Snapshot文件记录Manifest清单,并通过追加写方式存储增量数据文件。用户可通过Snapshot ID、时间戳或Tag三种方式回溯数据。系统通过Compaction合并和Snapshot清理机制平衡存储空间,未被引用的旧数据文件才会被物理删除。这一功能为数据容灾、算法回溯和数据审计提供了高效解决
2026-03-13 09:39:41
75
原创 flink源码解析 -- 检查点协调器CheckpointCoordinator
Flink中的CheckpointCoordinator是JobMaster的核心组件,负责协调分布式Checkpoint的全生命周期。作为调度中枢,它定期触发Checkpoint(通过ScheduledExecutorService)、分配唯一ID、向Source注入Barrier,并跟踪各Task的确认状态。关键流程包括:Barrier对齐/非对齐处理、算子状态快照、异步上传和最终确认。其核心职责是确保Checkpoint的定时触发、全局协调和完成确认,但不直接参与状态存储。性能瓶颈常出现在Barrie
2026-02-03 21:21:12
182
原创 java程序性能优化篇
count 只关心“符合条件的行数”,不关心其它表的展示字段。4.**COUNT 与 LIST 同源** | 分页的 count 和 list 的过滤条件、JOIN 策略要一致,且 count 尽量更轻(少 JOIN、少排序)3.**权限/存在性用 EXISTS** | 判断“是否有权限”“是否在某个集合”时,优先用 EXISTS + 索引,少用 `IN (子查询)`2. **先过滤再关联** | 尽量在单表上先完成过滤、排序、分页,再对外做关联,避免“全表 JOIN 后再 LIMIT”
2026-01-30 15:07:41
245
原创 如何基于Flink + Clickhouse打造百亿规模日志查询平台
摘要:本文探讨了日志检索系统从Elasticsearch迁移到ClickHouse的技术方案。Elasticsearch虽具备全文检索优势,但其分词特性与日志场景所需的精准模糊匹配存在本质冲突。相比之下,ClickHouse基于原始字符串匹配的朴素模型更符合日志查询需求。文章详细介绍了基于Flink的高吞吐日志写入架构,强调批量写入对ClickHouse性能的关键影响,并提供了multiMatchAny查询优化、表结构设计等核心实践。通过Flink+ClickHouse组合,实现了低成本、高性能的百亿级日志
2026-01-28 21:27:07
739
原创 paimon实战-- 基于hive-catalog搭建paimon计算与存储环境
本文介绍了基于HiveCatalog统一管理Apache Paimon数据湖元数据的生产实践方案。Paimon作为新一代流批一体数据湖存储,相比Iceberg/Hudi更偏向流式优先设计。通过HiveCatalog实现Flink/Spark/Hive多引擎安全访问同一份Paimon数据,详细讲解了HiveCatalog的优势、整体架构设计、环境准备、部署配置步骤,以及各引擎访问Paimon表的具体方法。该方案解决了filesystem catalog在生产环境中的局限性,利用Hive Metastore实现
2026-01-23 16:43:11
351
1
原创 flin实战 -- 核心参数解析
下游算子可能阻塞(IO / RPC / DB)大并行度(> 500)。Kafka → Flink → 外部服务。,在下游消费能力不足或出现背压时,TM Netty 内存打满。任务启动瞬间建大量连接。
2026-01-13 20:42:03
92
原创 如何基于Jupyter内核自研NoteBook
本文介绍了一套基于微服务架构的Jupyter内核管理系统设计方案。系统采用SpringBoot框架,通过WebSocket实现实时通信,使用Redis进行消息发布订阅。核心功能包括:1)租户隔离的Jupyter服务管理,每个租户独立Pod部署;2)双层Session架构,分离用户会话和内核会话;3)Gateway层连接池管理,实现高效的内核生命周期管理。系统支持内核创建、代码执行、状态监控等功能,并设计了REST API和WebSocket接口规范。技术选型包括MySQL数据持久化、Jupyter消息协议5
2025-12-19 16:19:26
994
原创 数据质量系统的设计
让数据问题不再依赖“某个老司机”,而是变成一种可复制、可演进的工程能力。如果你正在建设:数据质量平台数据治理体系数据中台 / 数据湖欢迎交流你们当前所处的阶段,很多坑,其实是可以提前避开的。
2025-12-18 16:30:25
540
原创 规则引擎如何选型
在风控、营销、审批、定价、权限控制等系统中,几乎是绕不开的基础能力。但现实情况是:有的团队一上来就引入 Drools,最后发现复杂度远超收益;有的团队用 Groovy 写了上百个脚本,逐渐演变成“第二套业务系统”;还有的团队在规则频繁变更时,依然只能靠发版解决。本文从出发,对业内常见规则引擎进行系统对比,帮助你在真实业务中做出更理性的选型。
2025-12-18 16:28:01
950
原创 Groovy对业务能力扩展
因为之前在项目中使用了Groovy对业务能力进行一些扩展,效果比较好,所以简单记录分享一下,这里你可以了解:为什么选用Groovy作为脚本引擎了解Groovy的基本原理和Java如何集成Groovy在项目中使用脚本引擎时做的安全和性能优化实际使用的一些建议。
2025-12-18 16:14:35
572
原创 仿照Flink基于SPI机制实现插件化消息发送服务
本文设计了一个基于Java SPI和Flink插件机制的可插拔消息服务框架。核心架构包括:1)core-api定义MessageSender接口;2)插件通过jar包实现接口,并配置META-INF/services文件;3)PluginManager使用独立ClassLoader加载插件目录中的jar包,通过ServiceLoader发现实现类。该框架实现了消息发送服务的模块化和热插拔,支持短信、邮件等多种消息类型,新增类型只需实现接口并放入插件目录即可,无需修改主程序代码。整体架构借鉴了Flink的pa
2025-11-28 15:33:44
857
原创 java程序优雅设计技巧
在之后,它成为许多系统设计中非常关键的工具。,子类可以不实现,但仍能覆盖。下面我把它在实际架构中的典型使用场景总结得尽量清晰、实战化。
2025-11-14 14:02:11
383
原创 使用gRPC实现分片服务的心跳机制
摘要:本文介绍了基于gRPC构建分布式系统心跳机制的设计方案。采用gRPC双向流实现高效心跳检测,支持节点注册、分片信息下发和任务处理。系统包含ResourceManager和多个Worker节点,使用静态模运算分片策略,并通过分片版本控制实现稳定性。文章详细描述了Proto定义、核心实现逻辑(包括心跳流处理、分片计算和数据获取)和重平衡策略,强调了分片变更时的稳定窗口机制和幂等处理的重要性。方案充分利用gRPC的高性能、双向流特性和跨语言优势,为分布式系统提供了可靠的心跳和任务分配机制。
2025-11-11 16:06:47
806
原创 paimon实战 -- Flink 写入 Paimon 流程深度解析
写入(Write):多并行 Writer 把记录写成临时文件并生成 Committable 元数据;持久化(Pre-commit / snapshotState):Writer 和 Committer 把必要的元数据持久化到 Flink State Backend;提交(Commit):在全局 checkpoint 完成后,Committer 把 Committable 应用到 Paimon(写 Manifest/创建 Snapshot),从而原子地使数据对读取者可见。
2025-11-11 11:08:26
277
原创 分布式分片执行原理解析
本文介绍了一种基于分片机制的分布式任务调度方案。传统分布式锁方案存在性能瓶颈,无法充分利用多节点并行处理能力。新方案通过引入ResourceManager协调角色,将任务数据按规则分片,不同节点处理不同分片的数据,从而保证任务唯一性同时实现并行处理。系统支持节点动态感知、自动平衡和容错恢复,适用于大规模数据同步、定时统计等场景。相比分布式锁方案,分片机制在并行能力、性能和容错性方面具有明显优势,是分布式任务调度从"锁控制"到"智能分片"的有效升级。
2025-11-06 10:34:23
607
原创 高性能接口设计思路大全
摘要:本文系统总结了18种高并发场景下的接口优化方案,涵盖数据缓存、架构设计、数据库优化等关键领域。通过批量操作、异步处理、预取缓存、池化技术等核心方法,可显著提升接口响应速度和系统吞吐量。重点包括SQL和索引优化、分页查询改进、限流保护机制以及JVM调优等实战技巧,结合压测工具持续分析性能瓶颈,帮助构建高稳定、高性能的后端系统。
2025-11-06 10:11:42
767
flink需要的jersey-core和jersey-client
2019-03-01
flink-connector-jdbc_2.11-1.11.2.jar
2021-02-24
基于SSM框架开发的共享单车管理系统
2018-06-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅