- 博客(155)
- 收藏
- 关注
原创 JAVA高级工程师--Elasticsearch安装以及内置分词器、IK分词器
把文本转换为一个个的单词,分词称之为analysis。es默认只对英文语句做分词,中文不支持,每个中文字都会被拆分为独立的个体。
2026-01-30 16:05:44
521
原创 JAVA高级工程师--Elasticsearch
Elasticsearch 是一个分布式的高性能的搜索和数据分析引擎,简称ES。ES底层基于Lucene,Lucene是一套用于全文检索和搜索的工具包,是类库,ES在Lucene的基础上开发了一个强大的搜索引擎。分布式搜索引擎=搜索引擎+分布式存储与搜索。
2026-01-29 11:23:44
654
原创 JAVA高级工程师--RabbitMQ消费者消息限流、超时、死信队列以及若依集成升级
在一开始介绍MQ的时候,就提到了削峰填谷,本质上就是限流,所以我们需要对限流做一个落地的实现。这一块,基于消费者做代码实现。并且基于手动ack的开启我配置了,但是并未生效。后面发现代码中硬编码了,其实那段RabbitMqConfig类中该方法messageListenerContainer是不需要的,在RabbitMqClient类中并未使用SimpleMessageListenerContainer那需要yml配置怎么生效的呢?在这个包中,
2026-01-29 10:23:02
1019
原创 JAVA高级工程师--RabbitMQ消息可靠性、若依集成升级
本文深入探讨了RabbitMQ消息可靠性机制在实际开发中的应用,重点分析了生产者端的Confirm和Return机制,以及消费者端的Ack机制。针对若依项目集成RabbitMQ的案例,详细说明了如何正确配置三种确认机制,并指出了原有代码中存在的线程安全、异常处理等问题。文章还根据不同业务场景(普通日志、一般业务、核心业务)给出了差异化的配置建议,强调金融交易等关键业务必须使用完整确认机制。最后提供了决策流程图,帮助开发者根据业务需求选择合适的可靠性配置方案,确保消息不丢失的同时兼顾系统性能。
2026-01-26 14:38:16
688
原创 JAVA高级工程师--配置文件密码加密
我看到这个第一反应是,秘钥直接放在这里,本质上和直接明文密码一样的。直接暴露盐值(password)会使加密失去意义。使用微服务,我们发现配置文件非常多,而且需要调用很多服务,但是这些服务密码是明文,这很不安全。我们最好要做一个加密,只能让领导架构师或者技术经理知道这个密码。使用不同的盐值用于不同环境(开发、测试、生产)将盐值提交到版本控制系统。方法很多,不仅这个。
2026-01-23 16:06:56
176
原创 JAVA高级工程师-消息中间件RabbitMQ工作模式(二)
本文介绍了RabbitMQ的几种主要消息队列模式:1. 简单模式:一对一通信,无需交换机,使用默认队列实现基础消息传递。2. 工作队列:多个消费者竞争消费同一队列,支持负载均衡和消息确认机制。3. 发布/订阅:Fanout交换机广播消息给所有绑定队列,实现一对多通信。4. 路由模式:Direct交换机通过精确匹配routingKey实现消息分类处理。5. 主题模式:Topic交换机支持通配符匹配,提供最灵活的路由方式。每种模式都包含详细的Java代码示例,展示了生产者创建连接、声明队列/交换机、发送消息,以
2026-01-22 09:39:07
790
原创 JAVA高级工程师-消息中间件RabbitMQ(一)
MQ:Message Queue(消息队列),是在消息传输的过程中,把消息保存到的一个容器。消息可以是我们产生的一些信息数据,一般都都是传字符串或者json字符串。消息队列主要用于一些分布式系统或者微服务系统之间的通信。远程调用:同步借助中间件进行通信:异步死信队列是消息中间件中一种重要的容错和处理机制,用于处理无法被消费的消息。当某个消息无法被正常消费时,系统将该消息从原始队列中移动到死信队列,以便进行后续的处理或分析。
2026-01-21 13:47:57
532
原创 JAVA高级工程师--若依项目增加云短信注册登录与JWT实现
本文介绍了基于阿里云短信服务的手机验证码登录注册功能开发方案。主要内容包括:1)选择阿里云云通信号码认证服务(无需企业资质)实现验证码发送;2)独立开发短信微服务模块,包含验证码发送与校验功能;3)前端实现手机号输入校验、验证码倒计时等功能;4)后端安全处理,将验证码校验逻辑移至服务端,防止绕过验证直接登录;5)采用Redis缓存验证码并处理重复发送问题。同时指出了原方案的安全漏洞(前端验证逻辑)及改进方案,强调应将关键验证逻辑放在服务端执行。
2026-01-09 22:00:06
905
原创 JAVA高级工程师--用户发起一个请求,经历了哪些过程
摘要:本文详细解析了用户请求在微服务架构中的完整处理流程,包括7个关键阶段:1)网络层DNS解析与负载均衡;2)API网关层的路由转发、安全认证和限流;3)服务注册发现;4)微服务内部处理(包含Filter、Interceptor、AOP等多层处理);5)服务间调用(使用OpenFeign实现);6)分布式组件协作;7)响应返回路径。整个过程涉及DNS、CDN、负载均衡器、API网关、服务注册中心、微服务集群、数据库等多个组件,形成了一套分布式、多层次、可观测的完整请求处理链路。
2026-01-05 15:16:07
425
原创 JAVA高级工程师--Maven父子关系专题
本文介绍了Maven多模块项目的层级结构与POM继承机制。项目采用三级结构:顶级父工程管理公共配置和子模块(proCommon、proMoudleA、proMoudleB),二级模块可继续包含子模块。父POM通过dependencyManagement统一管理依赖版本,子模块继承后只需声明依赖无需指定版本。文章详细解析了依赖传递规则、scope作用域及打包类型(jar/war/pom),并阐述了Maven的依赖解析策略(如最短路径优先)。这种分层管理方式能有效统一项目配置,确保模块间依赖一致性,同时提供灵活
2025-12-24 17:13:13
984
原创 JAVA高级工程师--如何学会大厂微服务基础架构构建(二)SpringCloudAlibaba实践篇
因为现在还在开发阶段,前端项目需要访问一个地址,所以我现在启动服务表格中编号4/5/7/8/910的服务还是采取本地启动,你可以选择使用远程的也是一样的,然后开始自己业务模块微服务开发。大概意思就这么理解,你开发了一个服务,该服务需要去nacos注册,然后别人就可以看到你的服务,来消费。Gateway:第二代微服务网关,比zuul更好用,内置webflux,更灵活,内部也实现了限流和负载均衡,也可以更好的支持异步,目前最佳选型。其中网关也是一个微服务,所以网关也需要注册到Nacos注册中心。
2025-12-23 15:49:37
875
原创 JAVA高级工程师--如何学会大厂微服务基础架构构建(一)
从单体拆分为分布式,再拆分为微服务,粒度越来越细。通过统一的治理框架(如Spring Cloud)、容器编排平台(如Kubernetes)和云平台,将这些细碎的服务高效地管理起来,形成一个有机的整体。
2025-12-22 16:40:39
595
原创 JAVA高级工程师--Redis持久化详细版
Redis数据库模式与持久化机制:单机模式默认16个逻辑数据库(可配置),集群模式仅支持DB0。持久化方式包括RDB(快照备份,性能高但可能丢数据)和AOF(日志追加,数据更安全但文件较大)。RDB适合全量备份,AOF提供秒级备份。推荐生产环境同时启用两种方式,利用RDB快速恢复和AOF数据完整性。AOF支持重写机制压缩文件,4.x后新增混合持久化功能。损坏的AOF可通过redis-check-aof工具修复。根据业务场景(读写比例、数据重要性)选择合适的持久化策略。
2025-09-11 11:00:36
1216
原创 JAVA高级工程师--虚拟化与容器化Docker
虚拟技术、docker、常用docker命令,docker端口映射,文件挂载、docker compose
2025-09-09 10:49:04
1095
4
原创 JAVA高级工程师--云服务模式&多租户&SAAS项目商业模式&架构全景
基础设施即服务把客户所需要的一些基础设施搭建好,然后开放一些虚拟机这些设备或者是硬件的一个租赁服务,租给企业用户,这样的服务就是ICE。利用CPU、内存、网络带宽、硬盘等一些硬件资源。这样的模式自由度比较高,租赁用户可以在基础设施上,自行安装任意的软件,任意环境。比如阿里云云服务器。企业一般使用这个居多。局限性:维护成本高,对技术人员有要求,时间成本高。平台即服务在云端把客户所需的环境,软件,直接打包成平台,再出租给用户使用。比如腾讯云、阿里云,在空间里包括好了基础环境,用户只需部署自己的软件包。
2025-08-25 16:22:28
564
原创 基于SpringCloud的广告系统设计与实现(四)
ad-common 这样的通用模块定义 “特定的” 代码并不合适,因为这些代码只是在特定的微服务调用时才会用到,而不是所有的代码都需要用到。更合适的做法是再定义一个叫做 sdk 的项目,这里面只定义微服务调用用到的请求对象和响应对象,而不涉及具体的实现类。
2025-01-24 10:56:03
942
原创 基于SpringCloud的广告系统设计与实现(三)
这段配置的作用是:定义了一个路由规则sponsor,匹配所有以开头的请求。将匹配到的请求转发到Eureka服务注册中心中名为的服务。在转发请求时,保留原始请求的路径(不去掉前缀)。SQL标准定义了四种隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。
2025-01-21 16:59:33
1099
原创 基于SpringCloud的广告系统设计与实现(二)
这个注解是用在配置类上的,我们需要在配置信息的类上加上 @Configuration 注解,以明确指出该类是 Bean 配置的信息源。同时,如果你需要做特殊定制时,加上一些配置,没有的话,直接 new 一个放到容器中就可以。关于 @Autowire,它实现了依赖对象的自动装配,而自动装配的各个 Bean 都是在 Spring 容器启动时自动配置好的,并一直保持在 Spring 容器中。1. 与前端和客户端保持统一,拥有统一的结构,方便前端和客户端的统一处理,特别是在程序出错的情况下,可以直接显示错误信息。
2025-01-17 14:15:44
759
原创 基于SpringCloud的广告系统设计与实现(一)
核心功能Service Registry(服务注册)Service Discovery(服务发现)基本架构Eureka 由三个角色组成:Eureka Server,提供服务注册与发现。
2025-01-16 17:25:08
983
原创 vue样式穿透 ::v-deep的具体使用
这篇文章主要介绍了vue样式穿透 ::v-deep的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧之前在项目中用到了element UI,使用特别简单,而且组建也非常的丰富。即时这样,在项目中肯定也需要用额外的样式来打造自己的应用。直接在中编写的话只会影响当前组件内的样式,但如果去掉scoped话又会影响全局样式。想了好多方法,都没得到很好的解决。最后呢,还是通过翻阅才解决的。
2023-07-05 08:57:41
2532
原创 GIT学习笔记
使用GIT有些时间了,也遇到一些问题:遇到大量冲突,解决完之后,没有修改的代码也变成蓝色了,如果不push,代码将会丢失 代码丢失
2023-06-07 19:25:47
753
原创 学习SpringCloudAlibaba(二)微服务的拆分与编写
把通用性功能做成微服务,比如用户中心,消息中心, 阿里的大中台与小中台其实也是按通用性,只是中台是多个微服务的聚合。3.设计API(我需要哪些API呢)/数据模型(表结构设计|类图|ER图等等)1、分析业务(流程图、用例图、架构图等等),主要任务是业务建模,确定架构。规划好微服务的职责边界,只关注职责范围内的业务,比如订单服务。2、确定业务流程(评审)《DDD的开山鼻祖》《实现领域驱动设计》
2023-02-10 17:11:32
952
1
转载 vue中引入路径说明
/当前文件同级目录…/当前文件上一级目录@ 的作用是在你引入模块时,可以使用 @ 代替 /src 目录,避免易错的相对路径。
2023-01-19 11:23:34
1647
转载 Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource could
我的这个案例中,我是把一个Spring Boot项目拆分成了shop-web、shop-service、shop-mapper等若干个模块,shop-mapper模块是数据库操作层,里面有个application.yml配置文件进行了数据库连接配置;shop-web模块中也有个application.yml文件,进行了端口、程序名等的配置。我把入口类写在shop-web模块中,然后进行项目启动,结果也产生了上面的异常信息。看提示信息是说当前项目没有配置DataSource相关的配置!
2023-01-04 09:59:13
280
原创 学习SpringCloudAlibaba(一)
而其他的众多组件在2020年停止维护。7、Alibaba Cloud OSS: 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。8、Alibaba Cloud SchedulerX: 阿里中间件团队开发的一款分布式任务调度产品,提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。3、RocketMQ:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。
2023-01-03 11:21:30
611
转载 自定义yml配置文件及外部部署
spring boot的资料非常多,多到非常容易不用动脑就解决了问题呢~项目做完之后冷静下来,觉得还是应该验证一下,毕竟打脸是为了以后有头有脸。在注解@PropertySource中,有个属性factory主要用来声明解析配置文件的类,这个类必须是PropertySourceFactory接口的实现。从这里入手。Spring Boot自定义加载yml实现,附源码解读。
2022-12-28 14:19:45
2017
转载 Vue解决element的tab切换时显示不正确
原因:在页面进行加载时,隐藏的图表找不到对应的div大小,所以默认给了一个大小。这里说明一下,一定要在把需要的echart图表做成组件来使用,不然的话一开始默认加载不到,页面是会报错的,一定要做成组件来使用。版权声明:本文为CSDN博主「前端李小白」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。我在开发时,在tab控件点击切换,那么数据不变,要不显示不正确。原理:利用v-if属性,当切换至对应的tab时,设置其v-if的值为true即可,同时设置默认显示的tab。
2022-09-29 19:02:12
3154
3
原创 (一)ElasticSearch认识及安装
Elasticsearch 是一个基于 Lucene 库的搜索引擎。它提供了一个分布式、支持多租户的全文搜索引擎,具有 HTTP Web 接口和无模式 JSON 文档。Elasticsearch 是用 Java 开发的,并在 SSPL+Elastic License 许可证下作为开源软件发布。官方客户端在 Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby 和许多其他语言中都是可用的。
2022-09-14 19:46:43
904
原创 技术面试(二)面试如何准备
当我们理解了团队需要和考察角度,把人选和计划排出来,虽然真正的面试轮次还没正式开始,可是已经成功了一半。(二)电话面试与现场面试电话面试最大的作用,就是用相对较小的代价,“过滤”掉那些明显不靠谱的人。在计划中,电话面试轮次通常会比较少(1~2 轮),因而,电话面试要能覆盖到我们最关心的那部分内容。而电话面试的决策,通常也非常迅速,电话面试的面试官互相碰个头,如果通过,招聘经理也觉得没什么大问题,那就可以继续,进入现场面试。
2022-09-11 15:22:09
1171
原创 职场写作(二)常见职场写作场景——周报
在周报里,你可以写三件事:第一,主线任务。复盘上周的主线工作完成情况,分析原因,并说清楚下一步的行动计划。第二,决策思路。这是最体现管理者的思维和能力的地方,一定要好好写。第三,情报视野。我们可以说一说,在业务之外,你还有什么观察,行业里有什么新动态?
2022-08-19 13:10:49
1414
原创 职场写作(二)常见职场写作场景——通知
1. 通知要吸引对方的注意力,所以我们要在标题上下功夫,用明确的行动和具体的事来呼唤他的注意力。2. 通知是一个直接传达行动的文体,所以一定要明确行动需求。3. 我们想要让通知的对象快点行动起来,就得想办法降低他的行动成本,给他思考方案,让他更好地行动起来。展示关键过程,让你的通知变得有温度案例:我们部门一个特别会工作的年轻同事,负责得到高研院的教务工作。有一次他组织了全国各地的同事回北京培训,这个动作可不小,全国几十个班主任都得飞回北京。
2022-08-19 11:22:42
2817
原创 职场写作(一)怎么让写作促成结果
导向行动用户意识默认公开 首先一定要清楚写文的目的是什么,传递有价值的信息。 公式写法:导向行动=起止时间+执行动作+赏罚结果。所有的文体都能导向行动。有的文体本身就带有明确的行动指令。比如通知、邮件、会议纪要,把指令写清楚就可以了。有些文体其实是需要对方给出资源。比如简历需要 HR 给面试机会,方案需要领导支持我的措施,申请需要领导审批,这一类文体当然就更难一些。 凡是行动,必有起止。凡是执行,必有结果。明确了执行动作的重要性,执行动作应该怎么才能交付呢?咱们千万别拐弯抹角。职场不是谈恋爱,要有什
2022-07-05 20:02:44
3517
转载 postman和postman interceptor的安装
终于有时间做这个事情,弄完后太方便了。postman interceptor其他 转载:postman和postman interceptor的安装 - oumae - 博客园 我按博主的4.1.2和0.2.9安装后,可以采集request,但是发送请求,一直loading,于是我换成4.1.2和0.2.23,然后就ok了。......
2022-06-29 16:08:37
1665
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅