- 博客(224)
- 资源 (3)
- 收藏
- 关注
原创 nacos协议
而对于 Nacos 服务发现注册中的持久化服务,因为所有的数据都是直接使用调用 Nacos 服务端直接创建,因此需要由 Nacos 保障数据在各个节点之间的强⼀致性,故而针对此类型的服务 数据,选择了强⼀致性共识算法来保障数据的⼀致性。服务发现注册中心,在当前微服务体系下,是十分重要的组件,服务之间感知对方服务的当前可正。因此,为了满足服务发现注册中心的可用性,强⼀致性的共识算法这里就不太合适了,因为强⼀致。此对于配置数据的管理,是必须要求集群中大部分的节点是强⼀致的,而这里的话只能使用强⼀致。
2024-02-19 15:47:08
518
原创 mac idea 插件安装位置
插件安装过程中,出现了两次插件冲突,无法正常启动idea的情况,找了很长时间都没有找到插件的安装位置,被迫重新安装了idea。
2023-11-29 13:52:50
3035
原创 springboot-scanBasePackages包扫描
由于对rocketMq进行了一次封装,mq模块里面引用了RocketMQTemplate的bean,如果只引入jar包的依赖,启动的时候不会报错,但是在调用到 RocketMQTemplate的bean时会出现空指针。log.info("###########xx-common-mq初始化###########");com.xx.xx.common.mq 引入的其他服务的公共包路径。com.xx.xx.admin.api 当前服务的路径。注意:当前服务的路径要在其他服务公共包路径的前面。
2023-10-25 18:21:19
1342
原创 mac两指左右滑动不进行页面前进后退
不启用google浏览器 滑动导航与滚动。两指作用滑动进行页面前进后退。打开控制台,运行以下命令即可。执行完后,重启浏览器。
2023-08-24 11:09:12
889
原创 Scope ‘request‘ is not active for the current thread
在项目中如果有些bean实现了spring中的某些接口(如:SessionAware,RequestAware或BeanPostProcessor等等),就会在服务器启动的时候自动创建代理。在异步请求中,rpc调用了其他服务的接口(接口提供方的实现是需要进行用户校验) 因为调用方请求是异步的已经丧失了web端的request信息和请求中的用户信息。(proxy),这时如果该bean的scope为request、session...这些web作用域的时候就会出现。
2023-01-25 19:37:31
3133
2
原创 UT010034: Stream not in async mode
项目出现这个报错信息,是服务文件导出接口,采用了异步的方式,比较奇怪的问题是,该接口之前使用的也是异步的方式,在一次服务法版时候突然就出现了这种报错。后面根据异常的报错位置,把这行代码进行了捕获,因为是aop对接口进行的打印,直接捕获掉了异常,没有做什么处理。
2023-01-25 19:33:47
565
原创 Broken pipe at sun.nio.ch.FileDispatcherImpl.writev0(Native Method) UT010029
这个就很明显了是第二中情况,客户端问题导致了Stream is closed,客户端的请求中断,网关,前端,等导致前端的请求断开了链接。通过traceid找到这个异常导致的下一个异常。出现这种问题,一般有以下几种情况。
2023-01-25 19:21:43
2820
3
原创 docker减少构建镜像大小
最后的 . 代表的是要打包镜像的上下文, 该文件内的所有内容都会打包到镜像里面。可以看到 .dockerignore 文件内,忽略的文件没有被打到镜像中。镜像打包的结果为 3.072KB。
2023-01-03 23:10:59
1194
原创 xxjob-入参-返回值-执行结果
@XxlJob("aaaaa")public ReturnT<String> getName(){ //执行结果为成功 ReturnT<String> success = ReturnT.SUCCESS; // 获取xxjob传入的参数 String param = XxlJobHelper.getJobParam(); //执行结束,返回给xxjob的数据 XxlJobHelper.handleSuccess("执行结束返回给xxjo.
2022-05-25 20:47:57
4153
1
原创 LocalDate获取当月最后一天时间
public static LocalDate getStartOrEndDayOfMonth(LocalDate date, Boolean first) { LocalDate resDate = LocalDate.now(); if (date == null) { date = resDate; } Month month = date.getMonth(); if (first) { .
2022-01-22 10:33:17
5192
原创 rocketMq-nameServer
目录1. nameServer配置信息2. 系统架构3. NameServer中路由原信息4. 路由发现5. 总结1. nameServer配置信息启动时打印加载的配置属性./mqnameserver -c configFile -p2. 系统架构2主2从架构3. NameServer中路由原信息nameServer 每10秒扫描一次 broker,移除没有激活的broker,连续120秒没有收到心跳包,进行移除,关闭socket连接b..
2021-12-22 19:33:07
1919
原创 springBoot-test方法,启动注解
a.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test注意:test.java 下的文件夹路径要和 main.java下的路径保持一致,否则也会出现wen t方式一:@RunWith(SpringJUnit4ClassRunner.c..
2021-12-15 17:11:21
1114
原创 查看docker各个容器分配的地址
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
2021-12-13 09:08:46
836
原创 rocketMq源码调试
git地址GitHub - apache/rocketmq: Mirror of Apache RocketMQhttps://github.com/apache/rocketmqnameServer启动类org.apache.rocketmq.namesrv.NamesrvStartupbroker启动类org.apache.rocketmq.broker.BrokerStartup生产者org.apache.rocketmq.example.quickstart.Producer
2021-12-11 10:19:56
1425
原创 空值 和 null
打个比方:空值 '' : 杯子是真空的NULL : 杯子是装满空气的NOT NULL 的字段是不能插入“NULL”的,只能插入“空值”NULL 其实并不是空值,而是要占用空间,mysql在进行比较的时候,NULL 会参与字段比较,所以对效率有一部分影响。is not NULL 不能排除 ‘’ 空值<> 能够排除 ‘’ 空值1、在进行count()统计某列的记录数的时候,如果采用的NULL值,系统会自动忽略掉,但是空值是会进行统计到其中的。...
2021-11-23 19:00:58
1267
原创 mysql-索引
目录聚簇索引非聚簇索引覆盖索引回表查询前缀索引联合索引查询规则联合索引排序联合索引分组索引的创建索引创建规则聚簇索引B+树索引数据结构里,叶子节点就是数据页自己本身,那么此时我们就可以称这颗B+树索引为聚簇索引,聚簇索引默认是按照主键来组织主键索引(叶子节点存放的是,数据页,然后根据 数据页目录 中的主键:槽位的对应关系,获取数据)非聚簇索引非主键索引(叶子节点存放的是,主键id+索引字段,(回表查询)需要再通过主键去聚簇索引进行查询获取数据)
2021-11-23 18:35:44
300
原创 RAID + 表物理模型
目录RAID导致mysql服务变慢表是逻辑概念,表空间是物理层面RAID导致mysql服务变慢RAID种多磁盘冗余阵列技术,服务器存在多个磁盘,可以使用不同的磁盘做数据备份,在查找数据的时候,会先定位使用哪一个磁盘,然后再去磁盘上加载数据启RAID卡的缓存机制,但是此时就一定要注意这个RAID的锂电池自动充放电的问题,因为只要你用了RAID缓存机制,那么锂电池就必然会定时进行充放电去延长寿命,保证服务器掉电的时候可以把缓存数据写回磁盘,数据不会丢失在锂电池充放电的过程中,RAID的.
2021-11-23 18:30:52
904
原创 rabbitMQ-kafka+mq作用目的
目录rocketMq架构mq作用消息幂等性判断mq消息积压mq消息过期rabbitMq优点缺点消息重复消费丢失数据1. 生产者丢数据rabbitMqkafka2. mq丢数据rabbitMqkafka3. 消费者丢数据rabbitMqKafka顺序消费rabbitMqkafkarocketMq架构Name Server:是一个几乎无状态节点,可集群部署,在消息队列RocketMQ版中提供命名服务...
2021-11-23 18:25:07
2274
原创 mysql压测
目录在linux上安装sysbench工具数据库压测的测试用例基于sysbench构造测试表和测试数据对数据库进行360度的全方位测试压测结果分析在linux上安装sysbench工具首先你需要有一台linux机器,如果你只有一个windows笔记本电脑,可以在里面装一个linux的虚拟机,然后你可以用如下的命令设置一下yum repo仓库,接着基于yum来安装sysbench就可以了,安装完成以后验证一下是否成功。curl -s https://packagecloud
2021-11-23 18:19:49
1078
原创 mysql-log+可重复读(mvcc)
目录redoLoginnodb_log_buffer_sizeredologBuffer刷到磁盘的时机事务redoLog数据流转undoLogmvcc = ReadView + UndoLog多版本链条redoLogredo log不是单行单行的写入日志文件的,他是用一个redo log block来存放多个单行日志的。一个redo log block是512字节,这个redo log block的512字节分为3个部分,一个是12字节的header块头,一个是4..
2021-11-23 18:18:08
567
原创 mybatis-plus自动填充操作
Mybatis-PlusAn enhanced toolkit of Mybatis to simplify developmenthttps://baomidou.oschina.io/mybatis-plus-doc/#/auto-fill自动填充字段@Componentpublic class FillMetaObjectHandler implements MetaObjectHandler { @Autowired private ApplicationRuntimeEn
2021-11-23 10:38:09
315
原创 LocalDate LocalDateTime 操作
/** * @param time 202110 * @return 2021-10-01 */private LocalDate startTimeStringToLocalDate(String time) { time = time + "01"; LocalDate parse = LocalDate.parse(time, DateTimeFormatter.BASIC_ISO_DATE); return parse;}/** * @param time 202.
2021-11-13 19:41:16
346
原创 mysql-执行计划(select_type && type)
字段查询更新-- 数字修改UPDATE user set id = id + 50where id=1;-- 字符串修改update userset name = CONCAT(name,'123','abc')where id = 2;多表查询和单表多次查询mysql表设计合理且有设置缓存和索引等的话,肯定是比自己程序去逐表查取更简洁,高效。专业的事情让专业的工具去做,关系库就是干这个的。 不过不建议3表以上的连接查询(可优化表设计,简化业务逻辑和使用程序分步解析数.
2021-10-31 09:01:24
1636
原创 myql-字段值追加更新
字符串修改id=2的数据,在name原字段值的基础上,添加123abc 字符串-- 字符串修改update userset name = CONCAT(name,'123','abc')where id = 2;数字修改id=1的数据,在id原字段值的基础上增加50-- 数字修改UPDATE user set id = id + 50where id=1;...
2021-10-31 08:33:51
686
原创 mysql数据库-监控指标名词
QPS就是说,你的这个数据库每秒可以处理多少个请求,你大致可以理解为,一次请求 就是一条SQL语句,也就是说这个数据库每秒可以处理多少个SQL语句TPS往往指的是一个数据库每秒里有多少个事务执行完毕了,事务提交或者回滚都算是事务执行完毕了,所以TPS衡量的是一个数据库每秒处理完的事务的数量IOPS:这个指的是机器的随机IO并发处理的能力,比如机器可以达到200 IOPS,意思就是说每秒可以执行200个随机IO读写请求。吞吐量:这个指的是机器的磁盘存储每秒可以读写多少字节的..
2021-10-31 08:27:47
695
原创 mysql-主从同步+分库分表
myCate 或 sharding-sphere 中间件,实现主库写,从库读,分库分表同步方式after_Commit 主库写入日志到binLog, 等待binLog复制到从库,主库提交自己的本地事务,等待从库返回成功的响应,然后主库返回提交事务成功的响应给客户端MySQL 5.7 默认方式,主库把日志写入binLog, 并且复制给从库,然后开始等待从库的响应,从库返回说成功给主库了,主库再提交事务,接着返回提交事务成功的响应给客户端实现方式方式1传统方式,搭建半同步复制:..
2021-10-31 08:22:19
517
原创 mysql-buffer缓冲区+链表
数据页溢出第一个数据页会存储部分数据,数据最后包含一个20个字节的指针,指向了其他的一些数据页,那些数据页用链表串联起来数据页缓存哈希表插入数据的时候,先从磁盘中加载一个空的数据页,添加到缓存页,然后将数据写到缓存页中保存缓冲区中所有的位置(表空间号+数据页号),在对数据进行操作的时候,会先去 缓存哈希表 查找数据存放的数据页是否存在,存在的话,拿到 缓存哈希表 key对应的 缓存页地址去获取数据,不存在从磁盘获取数据页,从free链表获取空闲缓冲页,读取的数据写入到缓冲区,缓...
2021-10-31 08:16:45
945
原创 kafka_offset
目录offset保存位置的演化zookeeper保存offset的劣势Kafka-topic保存优势消费者消费情况消息丢失:多次消费:一次消费:offset保存位置的演化zookeeper保存offset的劣势利用 Zookeeper 来存储记录每个消费者/组的消费进度,在使用过程当中,JVM帮助我们完成了一些优化,但是消费者需要频繁的去与 Zookeeper 进行交互,而利用ZKClient的API操作Zookeeper频繁的Write其本身就是一个比较低效..
2021-10-14 23:48:46
314
原创 redis-SortSet底层结构
目录ziplist跳跃表(skiplist)新增第一次抛硬币为正第二次抛硬币为反面为正面为什么使用抛硬币的方式跳跃表删除跳跃表&B+树sortedset同时会由两种数据结构支持,ziplist和skiplist.只有同时满足如下条件是,使用的是ziplist,其他时候则是使用skiplist有序集合保存的元素数量小于128个 有序集合保存的所有元素的长度小于64字节ziplist当ziplist作为存储结构时候,每个集合元素使用两个紧...
2021-10-11 22:05:44
816
sapjco3-mac-m系列架构连接包
2023-08-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人