- 博客(73)
- 资源 (7)
- 收藏
- 关注
原创 搭建大型分布式服务(四十四)SpringBoot 无代码侵入实现多Kafka数据源:单分区提升至十万级消费速度!
在过去的一段时间里,我们利用了AI大模型写了一个多线程并发框架,那么,我们怎样集成到Kafka组件里,让消费速度提升N倍呢?《AI大模型编写多线程并发框架(六十一):从零开始搭建框架》《AI大模型编写多线程并发框架(六十二):限流和并发度优化》《AI大模型编写多线程并发框架(六十三):监听器优化·上》《AI大模型编写多线程并发框架(六十四):监听器优化·下》《AI大模型编写多线程并发框架(六十五):发布和应用》Github源码。
2024-09-02 11:06:02 1276
原创 AI大模型编写多线程并发框架(六十五):发布和应用
在这个充满技术创新的时代,AI大模型正成为开发者们的新宠。它们可以帮助我们完成从简单的问答到复杂的编程任务,所以AI编程将会是未来的主流方向,利用AI大模型的能力,本系列文章将介绍从零到一用AI大模型编写一个多线程并发框架。
2024-09-02 10:57:14 734
原创 AI大模型编写多线程并发框架(六十四):监听器优化·下
在这个充满技术创新的时代,AI大模型正成为开发者们的新宠。它们可以帮助我们完成从简单的问答到复杂的编程任务,所以AI编程将会是未来的主流方向,利用AI大模型的能力,本文将介绍从零到一用AI大模型编写一个多线程并发框架。
2024-08-30 20:02:17 1180
原创 AI大模型编写多线程并发框架(六十三):监听器优化·上
在这个充满技术创新的时代,AI大模型正成为开发者们的新宠。它们可以帮助我们完成从简单的问答到复杂的编程任务,所以AI编程将会是未来的主流方向,利用AI大模型的能力,本文将介绍从零到一用AI大模型编写一个多线程并发框架。
2024-08-30 19:59:59 705
原创 AI大模型编写多线程并发框架(六十二):限流和并发度优化
在这个充满技术创新的时代,AI大模型正成为开发者们的新宠。它们可以帮助我们完成从简单的问答到复杂的编程任务,所以AI编程将会是未来的主流方向,利用AI大模型的能力,本文将介绍从零到一用AI大模型编写一个多线程并发框架。
2024-08-26 22:37:10 1181 5
原创 AI大模型编写多线程并发框架(六十一):从零开始搭建框架
在这个充满技术创新的时代,AI大模型正成为开发者们的新宠。它们可以帮助我们完成从简单的问答到复杂的编程任务,所以AI编程将会是未来的主流方向,利用AI大模型的能力,本文将介绍从零到一用AI大模型编写一个多线程并发框架。
2024-08-26 21:59:24 1060
原创 搭建大型分布式服务(四十三)SpringBoot 无代码侵入实现多Kafka数据源发布到Maven中央仓库:让世界看到你的作品!
在软件开发的世界里,分享和协作是推动技术进步的重要力量。当你开发了一个优秀的SpringBoot插件,并希望将其分享给全世界的开发者使用时,将插件发布到Maven中央仓库(Central Repository)成为了一个理想的选择。本文将以发布一个SpringBoot插件到Maven中央仓库为例,详细介绍发布流程,并对比2024年之前和之后的发布区别。以macbook为例,介绍如何发布jar到中央仓库。
2024-06-29 16:20:01 1058
原创 搭建大型分布式服务(四十二)SpringBoot 无代码侵入实现多Kafka数据源整合插件发布
在分布式服务的架构演进中,消息队列作为核心组件之一,承载着解耦、异步、削峰填谷等关键职责。Apache Kafka 作为业界广泛使用的分布式流处理平台,因其高吞吐、低延迟的特性被大量应用在各类大数据场景中。然而,随着业务的复杂度不断提升,如何在 SpringBoot 中高效地整合并管理多个 Kafka 数据源,成为了一个值得探讨的问题。在过去的一段时间里,我们通过系列文章详细阐述了如何在 SpringBoot 中以零代码或极低的代码侵入方式,实现多 Kafka 数据源的整合。
2024-06-29 15:28:13 1213
原创 搭建大型分布式服务(四十一)SpringBoot 整合多个kafka数据源-支持亿级消息生产者
本插件稳定运行上百个kafka项目,每天处理上亿级的数据的精简小插件,快速上手。< dependency > < groupId > io.github.vipjoey < artifactId > multi-kafka-starter < version > 最新版本号
2024-06-23 16:26:07 979 1
原创 搭建大型分布式服务(四十)SpringBoot 整合多个kafka数据源-支持生产者
本插件稳定运行上百个kafka项目,每天处理上亿级的数据的精简小插件,快速上手。< dependency > < groupId > io.github.vipjoey < artifactId > multi-kafka-starter < version > 最新版本号
2024-06-23 16:13:15 1164
原创 搭建大型分布式服务(三十九)SpringBoot 整合多个kafka数据源-支持Aware模式
本插件稳定运行上百个kafka项目,每天处理上亿级的数据的精简小插件,快速上手。< dependency > < groupId > io.github.vipjoey < artifactId > multi-kafka-consumer-starter < version > 最新版本号
2024-06-02 16:13:59 1355
原创 搭建大型分布式服务(三十八)SpringBoot 整合多个kafka数据源-支持protobuf
本插件稳定运行上百个kafka项目,每天处理上亿级的数据的精简小插件,快速上手。< dependency > < groupId > io.github.vipjoey < artifactId > multi-kafka-consumer-starter < version > 最新版本号
2024-06-02 11:49:07 1150
原创 搭建大型分布式服务(三十七)SpringBoot 整合多个kafka数据源-取消限定符
本插件稳定运行上百个kafka项目,每天处理上亿级的数据的精简小插件,快速上手。< dependency > < groupId > io.github.vipjoey < artifactId > multi-kafka-consumer-starter < version > 最新版本号
2024-04-30 16:27:03 1315 4
原创 Mybatis Plus baomidou EasyCode插件自动生成驼峰字段实体类,而不是全小写字段实体类
1、mybatis 使用baomidou 插件,EasyCode自动生成实体类,但字段都是全部小写的,不太符合编码规范。函数,这样如果db表字段是下划线会自动转为驼峰,如果db的字段本来就是驼峰,则会全部转为小写,所以我们需要修改一下模板。2、mysql表字段全是驼峰,生成的实体类字段全是小写,使用的默认的Mybatis 插件模板;经网上搜索一轮,基本上确定是easy code插件模板,默认使用。复制一份模板,并增加以下配置。
2024-01-20 20:10:25 946
原创 mybatis plus baomidou 插入数据报列不存在 bad SQL grammar []; java.sql.SQLSyntaxErrorException
经网上搜索一轮,基本上确定是baomidou偷偷把驼峰转为下划线了,但奇怪的是,application.properties文件已经有如下配置,为什么不生效呢?1、mybatis 使用baomidou插件,插入数据,代码非常简单,所有配置都检查完好,但插入失败(实体类没有使用 @TableField注解)。2、报错日志,mysql表字段全是驼峰,实体类也是驼峰,但报了一个下划线的字段,列不存在,字段不存在的错误;检查了下数据源的配置代码,发现factory这种写法是没有读取到配置的。
2024-01-11 16:26:59 673 1
原创 搭建大型分布式服务(四十六)SpringBoot 单元测试一些小技巧
SpringBoot支持集成Mockito做单元测试,我们在本地做单元测试测试的时候,经常因为环境等问题需要mock掉外部方法(远程调用、DB查询等),在Mock掉的同时,如果也想根据入参条件返回mock结果,需要怎样做呢?
2023-12-27 20:05:59 384
原创 SQL行转列,将json数组拆分成多行,一行变多行例子,(LATERAL VIEW explode)
SQL行转列,将json数组拆分成多行,一行变多行例子,LATERAL VIEW explode 使用教程
2023-11-30 20:03:38 944
原创 搭建大型分布式服务(三十六)SpringBoot 零代码方式整合多个kafka数据源
让我们来看一下网上是怎样使用SpringBoot整合kafka数据源的,都存在哪些痛点?手撸kafka配置代码,各种硬编码,无法利用SpringBoot的约定大于配置的优势。当项目需要消费的topic,而且他们在不同集群时,需要不断地复制粘贴config和factory,如果项目需要5个不同集群的topic以上,那么这些代码将面临巨大维护压力,并且极其容易出错。假如来了个新业务,也是消费kafka,然后做一些业务逻辑处理,你会发现你不得不又搭建一个新工程,然后重复上述步骤,把代码和配置都复制粘贴一遍。
2023-11-17 20:28:48 570 1
原创 代码更换了目录,没有任何变更,但Idea编辑器却提示所有代码都变更了?
本文将介绍在编程过程中遇到的Git文件权限变更问题,并提供了问题的描述、原因分析以及解决办法。通过设置Git配置中的core.filemode属性为false,读者可以轻松解决类似问题,提高工作效率。
2023-10-15 10:38:36 738
原创 搭建大型分布式服务(四十六)利用mockito不启动SpringBoot项目下进行单元测试
SpringBoot支持集成Mockito做单元测试,有时候SpringBoot有很多外部依赖,在本地很难启动或者启动时间很长,而我们只想对某个方法进行测试,需要怎样做呢?
2023-05-04 12:16:59 1782 1
原创 从零开始搭建搜索推荐系统(五十三)QUERY从分词检索进阶
聊的不止技术。跟着小帅写代码,还原和技术大牛一对一真实对话,剖析真实项目筑成的一砖一瓦,了解最新最及时的资讯信息,还可以学到日常撩妹小技巧哦,让我们开始探索主人公小帅的职场生涯吧!(PS:本系列文章以幽默风趣风格为主,较真侠和杠精请绕道~)
2023-05-03 13:06:51 1774
原创 从零开始搭建搜索推荐系统(五十二)ElasticSearch搜索利器
聊的不止技术。跟着小帅写代码,还原和技术大牛一对一真实对话,剖析真实项目筑成的一砖一瓦,了解最新最及时的资讯信息,还可以学到日常撩妹小技巧哦,让我们开始探索主人公小帅的职场生涯吧!(PS:本系列文章以幽默风趣风格为主,较真侠和杠精请绕道~)...
2022-08-28 18:00:27 1322
原创 从零开始搭建搜索推荐系统(五十一)从一个模糊查找的需求开始
聊的不止技术。跟着小帅写代码,还原和技术大牛一对一真实对话,剖析真实项目筑成的一砖一瓦,了解最新最及时的资讯信息,还可以学到日常撩妹小技巧哦,让我们开始探索主人公小帅的职场生涯吧!(PS:本系列文章以幽默风趣风格为主,较真侠和杠精请绕道~)...
2022-08-28 17:57:21 366
原创 搭建大型分布式服务(三十五)十分钟搭SpringBoot积木 - DB数据迁移
玩转SpringBoot,像搭积木一样简单。在业务系统升级时,数据迁移是必不可少的一环。数据迁移又分离线和在线的方式,即存量数据和增量数据在平滑升级中融合。常用的DB数据迁移方式也有很多,文件拷贝、mysqldump、主从同步、canal、DataX、愚公、DTS等等,但这些方式往往是以镜像方式迁移,虽然有些工具支持数据类型或者字段名称转换,但支持不了复杂的转换,例如json转换等。本文将介绍如何封装支持复杂类型的数据迁移工具。...
2022-07-16 16:32:29 412
原创 搭建大型分布式服务(三十四)十分钟搭SpringBoot积木 - 数据重放DB数据转kafka消息
系列文章目录 文章目录系列文章目录前言一、本文要点二、开发环境三、容器模式四、小结前言玩转SpringBoot,像搭积木一样简单。在实际数据加工处理的业务中,整体数据链路比较长。下游加工逻辑在频繁迭代的时候,往往需要把客户接入的请求进行数据重放,来达到灰度升级的目的。那怎样快速把客户接入的数据重放给下游链路呢?一、本文要点前面的文章,介绍了基于Jolt如何实现业务型的ETL工具,本文将介绍这款工具的实际应用场景,如何快速将DB数据快速重放到kafka。系列文章完整目录JSON
2022-05-02 15:59:21 204
原创 搭建大型分布式服务(三十三)十分钟搭SpringBoot积木 - 完成Kafka消息转存到DB
系列文章目录 文章目录系列文章目录前言一、本文要点二、开发环境三、容器模式四、小结前言玩转SpringBoot,像搭积木一样简单。消费kafka消息,然后把数据存储到DB,这是一个很典型的业务了,相信每个小伙伴们都有类似的需求。遇到这类需求,大部分的做法都是从零开始搭建一个消费工程。这样的重复劳作无疑是非常的繁琐的,但如果我们只是仅仅把kafka消息转换成另外一个格式存储到DB,有没有通用的架构呢?一、本文要点前面的文章,介绍了基于Jolt如何实现业务型的ETL工具,本文将介绍这款
2022-05-01 17:48:18 316
原创 搭建大型分布式服务(三十二)十分钟搭Springboot积木 - 完成Kafka消息转存到ES
系列文章目录 文章目录系列文章目录前言一、本文要点二、开发环境三、容器模式四、JOLT实现数据转换五、总体设计六、小结前言将kafka消息转存到es,提供业务方检索,这是一种很常见的业务场景。例如数据检索、日志ELK等等。但假如kafka的消息结构和es的数据结构相差比较大,怎样办呢?硬编码去做字段映射?本文介绍一个便捷的方式,15分钟实现kafka消息转存es。一、本文要点前面的文章,介绍了基于Jolt如何实现业务型的ETL工具,本文将介绍这款工具的实际应用场景,如何快速将kafk
2022-04-11 10:05:36 1207
原创 搭建大型分布式服务(三十一)SpringBoot积木-Jolt低代码玩法
系列文章目录 文章目录系列文章目录前言一、本文要点二、开发环境三、Jolt 是什么?四、JOLT实现数据转换五、总体设计六、小结前言随着需求演进迭代,经常需要把上游进来的一份数据,按照不同数据格式(字段打平、名称修改、类型转换、结构调整、数据过滤)转存或者分发到各应用。而在其中,我们耗费了不少的人力在json to json和sink to where的编码上。一、本文要点前面的文章,介绍了Docker搭建各种环境、SpringBoot整合各种中间件、如何把应用部署到云容器,本文开始
2022-04-11 10:03:46 684
原创 搭建大型分布式服务(三十)面试官:工作3年了你还没写过SpringBoot Starter?
系列文章目录 文章目录系列文章目录前言一、本文要点二、开发环境三、创建项目四、修改项目五、测试一下六、小结前言面试官总喜欢问:你写过SpringBoot Starter吗?自己动手写一个SpringBoot,难吗?真的不难,网上随便一搜,各种教程文章一大堆。那为什么面试官还是喜欢问呢?其实我们可以换位思考一下,候选人工作好些年了,早已经度过了复制粘贴,到复制改写年龄,应当具备封装能力,甚至定制能力。假设你没有任何亮点,这么多CRUD工程师,我为什么要选你呢?这里不详细讲Spring
2022-03-20 17:51:21 801 1
原创 搭建大型分布式服务(二十七)如何通过Coding流水线CI/CD将SpringBoot服务部署到TKE容器集群
系列文章目录 文章目录系列文章目录前言一、本文要点二、开发环境三、编写真实Service类TagService.java四、编写测试类四、小结前言企业上云是比较热门的话题也是趋势,越来越多的企业放弃传统IDC选择上云,因为把服务上云,一来可以降低企业技术开发成本,而来升级扩容灵活,减少运维成本。那么在容器集群的开发模式是怎样的呢?我们来揭开它神秘的面纱。一、本文要点接前文,我们演示过怎样把一个nginx服务部署到容器集群,然后了解CI/CD的前世今生,发下nginx部署流程还是挺繁琐
2022-03-12 09:15:00 1301
原创 搭建大型分布式服务(二十六)一文了解持续交付CI/CD的前世今生
系列文章目录 文章目录系列文章目录前言一、石器时代二、铁器时代三、蒸汽时代四、容器时代五、小结前言接前文,我们体验了一把将nginx应用部署到容器集群上的流程,想必有些同学会发问,服务发布到容器集群的流程也不是很便捷啊!不用着急,我们先回顾一下持续集成和持续部署的前世今生。系列文章完整目录一、石器时代这是比较早的一种交付模式,通过纯手工编译打包,然后通过SecurityCRT/XShell等软件上传war包,然后服务应用服务器的war包目录,再重启应用服务器Tomcat/Resin
2022-03-06 19:53:35 673 1
原创 搭建大型分布式服务(四十五)SpringBoot 单元测试Mock如何根据参数返回结果?
系列文章目录 文章目录系列文章目录前言一、本文要点二、开发环境三、编写真实Service类TagService.java四、编写测试类四、小结前言SpringBoot支持集成Mockito做单元测试,我们在本地做单元测试测试的时候,经常因为环境等问题需要mock掉外部方法(远程调用、DB查询等),在Mock掉的同时,如果也想根据入参条件返回mock结果,需要怎样做呢?一、本文要点接前文,我们已经已介绍SringBoot如果做单元测试了,本文介绍在两种mock模式下,怎样根据入参返回自
2022-02-22 15:59:13 2245
原创 搭建大型分布式服务(二十五)如何将应用部署到TKE容器集群?
系列文章目录 文章目录系列文章目录前言一、本文要点二、开发环境三、创建容器集群四、小结前言以前,我们部署一个应用或者接口服务,往往是先编译构建打成jar或者war包,然后通过shell脚本或命令上传到虚拟机或者物理机上,覆盖Tomcat或其它容器指定目录,然后再重启Tomcat进程来升级应用或者接口服务。这种模式实施起来较为简单,但在如今看来,存在诸多缺陷。例如:应用服务无法动态扩缩容,应用服务很难做到资源隔离等等,服务混合部署难管理,资源能充分利用等。现在有了容器服务,这些问题会得到很大
2022-02-19 18:13:19 2192
原创 搭建大型分布式服务(二十四)如何创建一个TKE容器集群?
系列文章目录 文章目录系列文章目录前言一、本文要点二、开发环境三、创建容器集群四、修改项目五、测试一下六、小结前言在前面的系列文章,我们介绍了怎样去部署各种中间件去搭建开发环境,也介绍了怎样用SpringBoot去整合这些组件。那当我们把一个应用或者服务开发好了后,怎样去部署呢?本文将介绍怎样将一个微服务部署到腾讯云容器集群上。有些同学可能会问,发布部署这些东西不是运维做的事情么?我一个业务开发为什么要去了解这些?其实去了解一个服务的设计、开发、测试、交付乃至一个产品/业务流水线及生命周期
2022-02-13 16:52:19 1197
原创 搭建大型分布式服务(二十三)SpringBoot 如何整合比GuavaCache性能好n倍的Caffeine并根据名称设置不同的失效时间?
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例
2021-12-25 21:01:03 1925 1
原创 搭建大型分布式服务(二十二)SpringBoot 如何优雅地整合多个kafka数据源?
系列文章目录 文章目录系列文章目录前言一、本文要点二、开发环境三、创建项目四、修改项目五、测试一下六、小结前言在日常开发当中,经常会遇到需要消费的topic不在同一个kafka集群内,这时候需要配置多个数据源,如何优雅地完成这个配置呢?一、本文要点接前文,我们已经在项目里集成了kafka。本文将介绍如何优雅地整合多个kafka数据源。系列文章完整目录springboot 整合多个kafka数据源springboot 整合多个消费者topickafka listener 配置f
2021-08-19 17:13:37 2530 5
原创 搭建大型分布式服务(二十一)Mybatis 如何打印SQL语句和执行时间?
系列文章目录 文章目录系列文章目录前言一、本文要点二、开发环境三、创建项目四、修改项目五、测试一下六、小结前言在日常开发当中,我们经常需要通过SQL语句和执行耗时来定位问题。但mybatis框架是没有直接提供这种能力,只提供了非完整(即带” ?“ 占位符)语句的打印,不是很方便。那我们有什么方法实现目标呢?1、数据库慢查询日志优点:实现简单缺点:和业务日志有断层,且不一定有机器权限2、p6spy、log4jdbc、 jdbcdslog-exp 等组件优点:无需编码,只需配置缺
2021-07-08 15:39:29 2429
原创 腾讯云容器EasyExcel导出Excel报错NoClassDefFoundError: Could not initialize class sun.awt.X11FontManager
开发环境:springboot 2.4.3easyexcel 2.2.7jdk8问题描述:1、本地没问题,发布腾讯云容器后报错。 EasyExcel.write(response.getOutputStream(), ViewDatass.class).sheet("xxx明细").doWrite(datas);2、报错日志[Request processing failed; nested exception is com.alibaba.excel.excepti
2021-06-22 21:21:35 5033
原创 搭建大型分布式服务(二十)SpringBoot 如何防止SQL注入?
系列文章目录 文章目录系列文章目录前言一、本文要点二、开发环境三、创建项目四、自定义校验五、测试一下六、小结前言群里有个小伙伴提问,SpringBoot项目怎样做参数校验,防止SQL注入?改动尽量少,高灵活,因为并不是每个参数有需要校验的。一、本文要点接前文,我们介绍了如何做spring拓展,轻松面对面试官的提问了。本文介绍如何自定义参数校验,保护我们的系统,避免各种参数问题。系列文章完整目录springboot 自定义校验参数springboot 自定义校验规则spri
2021-06-22 21:01:57 1341 1
原创 搭建大型分布式服务(十九)面试官:你做过Spring框架功能拓展吗?
系列文章目录 文章目录系列文章目录前言一、本文要点二、开发环境三、项目改造四、运行一下五、小结前言群里有个小伙伴反馈说,前段时间去面试被面试官问到:你做过spring框架的哪些功能上的拓展呢?他说当时心里瞬间就凉了一截,满脑子浮现的是IOC和AOP,spring拓展实在想不起来是啥。为什么面试官都喜欢问spring拓展?为什么我们背过spring容器初始化流程还是回答不出来呢?其实这里主要考察候选人对spring框架的掌握程度,如果你能熟练运用spring的拓展点,也就间接证明了你对IO
2021-05-18 14:59:02 305 1
dubbo接口测试调试工具
2018-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人