- 博客(31)
- 收藏
- 关注
原创 针对线上消息积压的排查思路以及解决方案
1、首先我们得明确消息队列本来就是用来异步、解耦、削峰,先评估是否对业务有影响,如果没影响是否可以慢慢消费,不进行处理。2、增加消息队列分区,这种情况适用于生产节点较多,例如生产有20个节点,消息队列分区数是6个,这个时候其实有些节点是没有进行消费的,可以将分区数扩大到12或者16,让更多节点参与消费,增大消费能力。但需注意分区扩充后就无法再进行缩小。
2024-10-05 10:21:41
1185
原创 重新认识BIO、NIO、IO多路复用、Select、Poll、Epollo它们之间的关系
最后我画一张图来总结它们的关系NIO本身这项技术本身是一个大的基石,我们利用了这个基石实现了IO多路复用,而Select、Poll、Epollo这些操作系统函数,是我们操作系统层面的基石,借助这种机制能够帮我们实现事件监听,实现单个线程处理多个事件。从而实现完整的IO多路复用机制,这样就解决了BIO连接数的限制,能够支持处理更多的连接。
2024-03-14 08:18:17
1097
原创 Vim命令整理
在我们的日常开发中,有很多时候会用到vim命令查询我们的应用日志,这里就是对常用的命令进行记录,方便查找以及使用。(3)从下往上查找多个关键字,如"keyWord1","keyWord2",关键字为 且的关系。(4)从上往下查找多个关键字,如"keyWord1","keyWord2",关键字为 且的关系。小技巧:如果是从下往上查找,按回车后,n是往上查找,N是往下查找。从上往下查找则相反。(1)从下往上查找某个关键字,例如 "keyWord1"(2)从上往下查找某个关键字,例如 "keyWord1"
2024-01-19 08:45:42
420
原创 设计模式、Java8新特性实战 - List<T> 抽象统计组件
在日常写代码的过程中,针对List集合,统计里面的某个属性,是经常的事情,针对List的某个属性的统计,我们目前大部分时候的代码都是这样写,每统计一个变量,就要定义一个值,且要在for循环增加一行累计的代码,比较繁琐,而且代码写出来不够优雅。
2023-08-04 08:23:59
1362
原创 谈谈对IO多路复用的select机制的理解
谈谈自己对IO多路复用的select机制的理解,理解了select机制,再理解epoll机制就比较容易了。
2022-12-15 08:42:50
1633
1
原创 Apollo搭建与实战(分布式部署)
一、背景最近在公司需要完成一个技术优化事项:由于SpringCloudConfig在使用上修改配置以后需要进行服务器重启的形式来进行配置变更,流程比较麻烦以及繁琐,所以需要配合运维把手头上负责的项目的配置中心SpringCloudConfig替换成Apollo作为新的注册中心。所以就想认真的学习下Apollo,做好技术储备。二、Apollo的环境的搭建(分布式多环境)首先Apollo的文档真的很全,强烈推荐大家直接走官方文档Apollo,也不用去看网上的一些博客,除非遇到搭建不成功的情况下,可以
2022-03-27 22:50:55
5540
原创 ShardingJDBC实战
目录一、背景二、优化事项三、具体实战一、背景最近在公司手头上的项目单表达到了五千万的规模,而且日增长量每天就有10w左右,一个月就有大概300w的数据,这样一直下去过几个月以后表的数据很容易就上亿了,这样不利于管理以及在大表的情况下,对于表的DDL效率也会相对下降,和几个同事商量了下,于是乎开始做分表的技术优化。二、优化事项(1)首先先确定使用场景,当前表的使用场景更多的是根据一个具体的标识值去查询,范围查询的场景频率相对低下,在这这种情况下考虑想标识值作为分片键去进行分表。 .
2021-11-07 11:17:08
1752
原创 关于使用RedisTemplate在主从架构下使用Lettuce的情况下如何实现读写分离
话不多说,我们知道RedisTemplate在SpringBoot 2.x以后使用了redis的高级客户端Lettuce进行了开发,题主在测试的过程中发现,即使搭建了哨兵的主从架构,使用RedisTemplate读写命令的时候无论是读还是写的命令都会在主节点进行。而从节点只是同步数据而已如果我们在使用RedisTemplate的时候想用到读写分离的功能的话,首先题主在网上找了很多文章都没有讲到这个点(可能大家在生产环境都是用的集群多主架构吧),通过debug源码,发现RedisTemplate提供.
2021-07-15 22:05:29
1805
2
原创 从应用的角度讲讲Tomcat的三大参数 maxThreads、acceptCount、maxConnections
Tomcat实战参数理解文章目录Tomcat实战参数理解前言一、首先讲讲三大参数的含义二、如何调优三、总结前言这几天因为公司项目搞活动,导致接口的请求负载非常高,甚至有些接口会直接报连接超时,所以研究了下Tomcat的一些参数原理,最主要有三个参数(从业务出发)提示:以下是本篇文章正文内容,下面案例可供参考一、首先讲讲三大参数的含义(1)maxThreads,这个网上有很多文章都有描述,顾名思义就是tomcat的接收请求的线程池的核心线程数,也可以理解成Java线程池的工作线程,默认是2
2021-01-04 22:35:23
2018
1
原创 如何解决 springcloud zuul 路由不到外置tomcat运行的cloud项目
首先,如果是使用内置tomcat运行(java -jar命令)来跑项目,怎么路由到,网上有很多教程,这里就不描述了关于如何使用zuul路由到外置tomcat,首先外置tomcat运行会有一个war包名的问题,需要带上war包(自动带上)名字来能访问 如 http://192.168.6.55/API/server/info所以我们在跑我们的cloud项目的时候,配置文件的两项配置是失效...
2020-03-07 12:14:01
1138
2
原创 如何使用idea构建maven项目为可执行jar
关于使用idea构建maven项目为可执行jar(注意这里不是讲springboot项目),网上很多博客都前篇一论,无外乎就是两种(1)idea自带的插件方式进行打包步骤一:生成一个META-INF文件配置信息步骤二:开始build包切换到输出目录,用命令 java-jar myLog.jar 启动成功运行main函数至于第二...
2020-02-04 23:41:01
853
原创 关于springBoot整合dubbo时,扫描配置 service的接口和service的实现类不在同一个包下的问题。
对于dubbo,有生产者和消费者两端。对于生产者端的配置,按照github上springBoot的官方案例,是把要暴露service接口和service实现都放在同一个包下。如图:同时扫描配置也是只扫描这个包就行了。消费者端是这样,也是要创建service的接口,同时调用service接口的service实例也是放在同一个包下。同时消费者端的扫描配置是这样:但是我觉...
2018-08-19 15:36:21
15706
原创 关于redis使用的一些注意事项
1.首先redis使用默认无密码,如果想要有密码就必修修改配置文件redis.conf(或者redis.windows.conf、redis.windows-service.conf,选择一个感觉都一样)。打开配置文件找到requirepass,把前面#号去掉(不要留空格),然后再后面设置你的密码,设置完毕后再重启服务器2.重启服务器也要说一下,个人感觉这里挺多坑的(一)第一种情况是你
2018-01-25 15:35:33
3665
原创 如何快速使用idea部署web项目
1.首先创建一个工作目录2.在idea中打开这个工作目录3.在工作目录中创建一个module,并勾选web应用,并且命名myWeb, 然后单击完成。4.此时项目目录为:5.点击file--->project Settings 设置项目6.相关设置,选择jdk,没有就 点new 配置一个output路径配好(默认这么)配置一个w
2018-01-23 16:18:38
15772
原创 关于SpringMVC上传文件的一些细节和需要注意的地方
注意点一: 前端form表单必须添加 enctype="multipart/form-data"属性,并且使用POST提交注意点二: 必须在SpringMVC的配置文件中添加上传的支持和相关jar包 <!-- 處理文件上傳 --> <bean id="multipartResolver"class="org.springframework.web.mul...
2018-01-07 22:37:58
849
原创 关于spring+hibernate整合的一些问题
三大框架的整合,在dao的实现层,由于使用的是hibernate4+spring3,hibernate4拥有更好的事物管理机制,所以dao层不需要再继承HibernateSupportDao类,(目前没有找到好的方法),所以采用最原始的方法: 关于获取session的做法可以这样,通过注入sessionFactory属性然后用获取(一):通过sessionFactory.openSession
2017-11-12 16:23:56
259
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人