- 博客(214)
- 资源 (5)
- 问答 (3)
- 收藏
- 关注
原创 WebSocket之外,SSE协议为何被大厂悄悄采用?
SSE(Server-Sent Events,服务器发送事件)是一种基于 HTTP 的协议,允许服务器向客户端(如浏览器)主动推送实时数据。它是 HTML5 规范的一部分,旨在简化单向实时通信的实现。SSE 是替代传统轮询(Polling)和长轮询(Long Polling)的高效方案,适用于需要服务器主动推送的实时场景。关注【BiggerBoy】公众号,获取更多技术干货!文章首发于公众号:BiggerBoy。使用 JavaScript 的。
2025-05-09 21:10:58
351
原创 RocketMQ半消息对消费者不可见是如何实现的?——事务消息机制揭秘
——“半消息藏在这里,但为什么你偷看也没用?上篇中提到“TBW102是RocketMQ预留的事务消息Topic”,是什么意思?为什么消费者看不到半消息?是如何实现的?带着这些疑问,开启今天的探索之旅!这句话隐藏的意思就是:生产者发送事务消息时实际Broker会把半消息存储到TBW102这个Topic。当生产者通知Broker提交时,Broker会将消息发送到生产者指定的Topic,此时消费者才能消费该消息。
2025-05-09 17:06:10
263
原创 RocketMQ系列笔记:从入门到精通,全面掌握消息中间件
RocketMQ的发展历程就像一部“从草根到顶流”的励志剧。从最初的Notify到如今的RocketMQ 5.0,它不仅在阿里巴巴内部“扛起了双十一的大旗”,还在全球范围内成为了消息中间件的“顶流”。无论是“削峰填谷”还是“云原生进化”,RocketMQ都在不断突破自我,成为分布式系统中的“扛把子”。接下来的系列笔记将带你深入RocketMQ的每一个细节,从入门到精通,从理论到实战,让你轻松掌握这款“顶流”消息中间件!🚀。
2025-03-02 09:19:54
896
原创 RocketMQ二面通关秘籍:面试官问得太细,这些问题你准备好了吗?
Consumer集群部署可以提高消息的消费能力,避免单点故障。顺序写盘可以大大提高磁盘的写入性能,而零拷贝技术可以减少数据在内核空间和用户空间之间的拷贝次数,从而提高消息的传输效率。例如,如果一个Topic有8个队列,但部署了10个Consumer实例,那么只有8个Consumer实例会分配到队列并消费消息,剩下的2个Consumer实例会处于空闲状态。这会导致Producer无法将消息发送到新的Broker节点,Consumer也无法从新的Broker节点拉取消息,最终可能导致消息发送失败或消费延迟。
2025-03-02 09:07:52
356
原创 从零开始:使用Ollama本地部署DeepSeek大模型
通过Ollama本地部署DeepSeek大模型,你不仅可以摆脱服务器繁忙的困扰,还能享受更高的隐私性和定制化体验。无论是学习、工作还是创作,DeepSeek都能成为你的得力助手。赶快动手试试吧,开启你的AI探索之旅!希望这篇博客能帮助你顺利完成DeepSeek的本地部署。如果你有任何问题或建议,欢迎在评论区留言讨论!
2025-02-25 13:32:02
951
原创 深入理解 MySQL 事务隔离级别:从“读未提交”到“串行化”的全面解析
事务隔离级别(Transaction Isolation Level)是数据库管理系统(DBMS)用来控制事务并发执行时,数据可见性和一致性的机制。不同的隔离级别决定了事务在并发执行时,能够看到其他事务的哪些修改,以及如何避免并发问题。通过本文,我们深入探讨了 MySQL 的四种事务隔离级别,分析了它们的特点、行为、实现机制以及适用场景。希望这篇文章能帮助你更好地理解 MySQL 的事务隔离级别,并在实际开发中做出更合理的选择。如果你有任何问题,欢迎随时留言讨论~ 😄附:事务隔离级别与并发问题的关系图。
2025-02-25 13:20:43
79
原创 从零开始:手把手教你使用Ollama本地部署DeepSeek大模型
通过Ollama本地部署DeepSeek大模型,你不仅可以摆脱服务器繁忙的困扰,还能享受更高的隐私性和定制化体验。无论是学习、工作还是创作,DeepSeek都能成为你的得力助手。赶快动手试试吧,开启你的AI探索之旅!希望这篇博客能帮助你顺利完成DeepSeek的本地部署。如果你有任何问题或建议,欢迎在评论区留言讨论!
2025-02-23 10:59:36
853
原创 MySQL笔记 | 事务与隔离级别:从“转账”到“数据安全”的奇幻之旅
通过这篇文章,我们从生活中的“转账”出发,深入探讨了 MySQL 事务和隔离级别的核心知识。我们学习了事务的 ACID 特性、四种隔离级别、事务的实现机制(Undo Log、Redo Log、MVCC),以及事务的实战应用和注意事项。事务和隔离级别是 MySQL 中非常重要的概念,掌握它们不仅能帮助你写出更健壮的代码,还能让你在面试中脱颖而出。希望这篇文章能让你对 MySQL 事务和隔离级别有更深入的理解!
2025-02-23 08:27:18
41
原创 MySQL笔记 | 一条更新语句是如何执行的?
连接器:验证你的身份和权限,建立连接。分析器:检查 SQL 语句的语法是否正确,生成语法树。优化器:选择最优的执行计划,决定如何使用索引、如何定位要更新的记录等。执行器调用存储引擎的接口,读取要更新的数据。写入 Undo Log,记录更新前的状态。更新数据。写入 Redo Log,确保更新操作持久化。写入 Binlog,记录数据修改操作。事务提交提交 Redo Log。提交 Binlog。释放锁资源。返回结果:返回更新操作的影响行数。
2025-02-17 18:40:34
46
原创 MySQL笔记 | 一条查询语句是怎么执行的?
连接器:验证你的身份和权限,建立连接。查询缓存:检查是否有缓存可以直接使用(MySQL 8.0之后已移除)。分析器:检查SQL语句的语法是否正确,生成语法树。优化器:选择最优的执行计划,决定如何使用索引、表的连接顺序等。执行器:调用存储引擎的接口,真正执行SQL语句,返回结果。这个过程就像是一场“奇幻之旅”,SQL语句从你手中出发,经过层层关卡,最终带着结果回到你身边。虽然过程复杂,但MySQL的每个组件都各司其职,确保SQL语句能够高效、准确地执行。
2025-02-16 09:44:48
63
原创 深夜奋战:解决 nohup java -jar xxx.jar 启动失败的曲折之路
问题原因相对路径导致资源文件加载失败。解决方法使用绝对路径启动 JAR 文件,或明确指定资源文件路径。经验教训在 Linux 系统中,尽量使用绝对路径启动应用程序,避免因当前工作目录变化导致的路径问题。
2025-02-15 10:57:42
715
原创 已解决MQClientException: No route info of this topi
当时遇到的情况报MQClientException: No route info of this topi,发现perm设置成了1,改为6后正常。如题RocketMQ生产者投递消息时报错,可能的原因,topic路由信息设置的队列读写权限问题。在RocketMQ控制台主题-输入对应主题,点击topic配置。如下如设置为6为可以读和写,一般设置为6。在下面窗口修改perm为6,提交即可。
2025-01-10 09:58:09
197
原创 mysql8.4安装遇到的问题
将 “–mysql-native-password=ON” 添加到你的参数中,并移除 “–default-authentication-plugin=mysql_native_password”。如果你是在mysql的配置文件中添加了default-authentication-plugin=mysql_native_password,将其注释掉,改为mysql-native-password=ON,重新安装即可。点击上图更改,改为英文,保存后,重新安装即可。
2024-09-12 10:26:11
1371
原创 记一次Java应用查询不到最新数据的问题
主备机房数据库做同步,redis可没做同步,那如果备机房之前测的时候把旧数据缓存起来了,之后在主机房管理平台修改配置数据库数据是改了,主机房redis是清了,数据库也同步到备机房了,但是备机房redis不会触发清除啊!其实这个问题的关键是,备机房也和主机房一起工作了,导致备机房的redis有了缓存数据,按正常使用方式,备机房只有主机房故障才会启用,不会也不建议同时使用,因为可能还会有其他问题。这不解决了一大半吗!复盘一下,首先是部署拓扑,做的主备机房异地灾备,主备机房数据库做同步,查看了两边数据是一致的!
2023-11-25 20:38:40
795
原创 Dubbo服务提供者如何优雅升级?
当我们使用dubbo作为服务间通信的组件时,在后期的系统维护中可能会因为业务需要,服务提供者某些接口需要升级,对应的服务消费者配合作相应的修改,测试通过后一起发版上线即可。但是在这个过程中,有很多需要注意的点,不妨来梳理一下以作记录,希望对此不清楚的开发者有所帮助。再次申明一下我们的需求吧。假设服务A提供了一个服务IHelloService,其中有一个方法sayHello,服务B、C、D…都对此有依赖,假设服务A提供的该接口已上线且被服务B、C、D正常消费,线上运行稳定。End。
2023-03-22 18:48:55
719
原创 如何实现根据环境切换不同配置?
当我们使用nacos做为配置中心时,一定会遇到的问题就是在应用中配置nacos的server-addr时测试环境的nacos地址和线上nacos地址如何区分的问题。如上通过@取值的方式,如@nacosNamespace@是取pom.xml文件中的配置,我们在下面profile中定义相关配置。拿开发环境和正式环境来说,比如开发环境的nacos地址是nacos.dev.biggerboy.com:8848,而正式环境是nacos.biggerboy.com:8848。使用maven打包时,可通过-P。
2023-01-17 18:16:35
1905
原创 为什么建议主键整型自增?
我们从查找过程可以看到,整个过程关键点就是在这棵树上不停的比较id值是否等于、大于还是小于2,即数据的大小比较。数据比较是消耗CPU的,而不同的数据类型耗时不同,常见的整型要小于字符型。整型的1
2022-11-06 15:56:31
716
原创 高性能分布式限流:Redis+Lua真香
限流,这个词其实并不陌生,在我们生活中也随处可见。做核酸时,工作人员会在核酸检测点的空地上摆放着弯弯曲曲的围栏,人们排着队左拐右拐的往前移动,其实这么做的目的就是限流!因为核酸检测的窗口是有限的,一下子进那么多人,没那么多空间让人们站下,就会造成拥挤,甚至会造成事故。所以需要限流!图源网络同样的,我们的应用程序也是类似的,任何系统它处理请求的能力都是有限的,一旦请求多到超出系统的处理极限,系统就会崩溃。
2022-09-13 10:21:02
1773
原创 spring boot+dubbo配置多注册中心(zookeeper)
原来配置单个的时候,只有registrity,现在改为registries,在其下配置多个注册中心,registry1和registry2是注册中心的name,使用时用这个名字即可。在springboot项目中,引入dubbo的starter和zookeeper依赖,pom.xml。记录一下在spring boot项目中如何给dubbo配置多注册中心(zookeeper)。重点来了,配置多个注册中心方式如下,在application.yml文件中添加如下配置。
2022-09-08 10:44:55
3252
原创 mysql查询每个用户最新的一条订单
这样查询其实有问题,如用户有两个订单id分别为1、2,第一个创建时间是2022-9-6 10:49:07,第二个创建时间是2022-9-6 13:49:18,此时查询结果是【create_time:2022-9-6 13:49:18 id:1】。所以采用子查询加表连接的方式,前提是表连接后每个用户的查询的结果是唯一的。根据自身业务可以调整子查询的查询结果列,我这里是按最新的create_time,如果id是自增的也可以用max(id),响应调整表连接的条件即可。
2022-09-06 13:54:40
4306
原创 springcloud alibaba集成feign
我的猜想,因为写String类型,框架并不知道要用哪种格式,默认为text/plain,但是order服务的下单接口入参上加了@RequestBody,表明需要为application/json类型。这里的OrderCreateParam和order服务里的OrderCreateParam 是完全不同的类,在各自的工程里,Result也是。这里的入参和出参都可以改为String,也可以任意组合,及入参为String,出参为对象,或入参为对象,出参为String。至此,Order服务的下单接口已完毕。....
2022-08-29 18:58:07
596
原创 windows环境rocketMq启动mqbroker.cmd无反应
意思就是加载delayOffset.json文件失败,加载其备份文件也失败,下面具体失败原因是解析json失败,大概率是json字符串不是json格式。这时我们找到rocketmq的日志,打开看一下日志C:\Users\admin\logs\rocketmqlogs\broker.log是否有提示。打开delayOffset.json和delayOffset.json.bak文件,发现里面啥也没有,仔细一看是好几个空格或者制表符。把这俩文件中的空字符都删了,并输入{},然后保存,再次启动就好了。......
2022-08-27 19:03:55
3038
1
原创 MySQL索引知识点&常见问题汇总
索引就是一种用于快速查找数据的数据结构,是帮助MySQL高效获取数据的排好序的数据结构。使用比较巧妙的数据结构,利用数据结构的特性来大大减少查找遍历次数使用索引可以大大减少检索的数据量,从而加快数据的检索速度, 这也是创建索引的最主要的原因。通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。创建索引和维护索引需要额外耗费时间。当对表中的数据进行增删改的时候,如果数据有索引,那么索引也需要动态的修改,会降低 SQL 执行效率。索引需要使用物理文件存储,所以也会耗费一定磁盘空间。.........
2022-08-26 10:06:01
392
原创 总监让我当小组长我拒绝了
作者:北哥来源:BiggerBoy最近看到一个话题,热度很高:【总监让我当小组长,我不愿意,是不是全网也就我会拒绝?】一大部分网友说拒绝得好,只有一小部分说这是个锻炼的好机会不应该拒绝。反对的差不多占百分之八十。
2022-08-25 11:39:57
787
原创 RocketMq报错MQClientExceptionThe producer service state not OK, maybe started once, RUNNING
用注解的形式配置时不用手动启动 producer,所以把producer.start() 的代码删除就OK了。我是用的@Bean配置DefaultMQProducer,把下面producer.start();
2022-08-20 10:46:50
3324
原创 GitHub部署vuepress报错The deploy step encountered an..The process /usr/bin/git failed with exit code 128
使用vuepress+GitHub pages 搭建个人博客,采用GitHub工作流自动部署博客时部署失败。工作流权限配置的不正确。
2022-08-18 11:30:52
2127
原创 VSCode下载慢的问题解决
点击官网下载链接后,下载的非常慢,不一会提示网络错误,就无法下载了,用迅雷也是,过一会就失败了。使用国内的镜像服务器加速,就很快。这个时候可以这样改一下下载链接。
2022-08-15 16:23:42
502
原创 深入排查线上接口超时问题:Skywalking链路追踪揭示的真相
排查线上接口超时问题,当使用Skywalking 链路追踪分析慢接口慢在哪一步时,发现写的是springmvc耗时十秒多,感觉很纳闷,springmvc也没多少处理逻辑,怎么会耗时这么久呢?经过排查日志,发现有一个方法执行前后的日志打印时间相差十秒左右,刚好和skywalking 显示的springmvc耗时十秒吻合。这个方法的逻辑是将第三方传过来的图片地址做本地化转换,涉及到源图片的下载和上传到公司图片服务两步操作,这可以看成是两次网络请求,速度的快慢取决于图片大小和网络环境。至此,找出了接口耗时的元
2022-08-04 14:24:56
2495
原创 fastjson值java对象与JSON串互转
JSONObject时经常会用到它的转换方法,包括Java对象转成JSON串、JSON对象,JSON串转成java对象、JSON对象,JSON对象转换Java对象、JSON串等,使用方法总结如下,持续更新…如果student对象内有一个对象集合hobbies,相应的,JSON字符串转Map时如果不做处理,hobbies内的字段顺序可能会和原始hobbies字段值不一样。JSONObject.toJavaObject(JSON对象实例,Java对象.class);...
2022-07-29 14:13:15
3688
原创 nacos源码启动找不到istio包
找不到istio.mcp.v1alpha1.MetadataOuterClass.Metadata,istio.networking.v1alpha3.ServiceEntryOuterClass.ServiceEntry;istio这个包找不到,搜了一下Metadata和ServiceEntry都没有这两个类。在nacos-istio模块下执行这个命令,等待编译完即可。源码版本2.1.0,启动时,编译不通过,报错。......
2022-07-27 12:39:31
5534
7
原创 idea启动springboot失败Command line is too long
springboot项目启动时底层是执行命令行启动的,命令行太长了导致的,不同的平台最大命令行长度限制不一样。(目前的jdk版本为11,之前用8没遇到过。打开.idea下的workspace.xml,找到PropertiesComponent。如下图打开启动配置窗口,选择@argfile,点击apply,ok。在idea中启动springboot项目时报错。将命令行加载到文件内,idea支持这样的配置。如果还不行,往下看。...
2022-07-23 10:56:41
1130
原创 几款ZooKeeper可视化工具,最后一个美炸了~
本文首发于公众号BiggerBoy。通过人为操作去查看、管理ZK上的数据时,就亟需一个可视化操作界面。下面给大家介绍几款目前市面上流行的ZK可视化工具,有需要时就可以直接用啦。
2022-07-17 12:23:37
17562
4
原创 解决Slf4j日志不打印问题
日常站点状态巡检时发现有异常日志,定位到日志位置,看其上线文自定义输出的日志时却发现,自己加的日志都没输出。排查了一下初步定位到,这个类中日志输出使用的的注解的功能,浏览了一下其他使用该注解的类,自定义加的日志也都在线上没打印。而使用获取的对象打印的日志,在线上能正常打印。本地启动,使用的的注解的类,日志也能打印,测试环境也可以。就很奇怪!有点经验的都会猜到,jar包冲突导致的。怎么验证以及解决呢?首先可以用的命令如下,将依赖树输出到文件,方便查看和检索可以搜索log等关键词,看除了自己引的log包以外,
2022-06-23 18:35:42
21889
1
mybatis框架下使用generator插件自动生成domain/mapping/mapper
2018-11-14
[下载]commons-net-3.3.jar
2017-09-15
SpringBoot 2设置session过期时间生效后再修改不生效
2019-09-19
http 400 bad request解决
2019-07-25
springmvc中拦截器拦截路径
2017-06-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人