- 博客(301)
- 资源 (10)
- 收藏
- 关注
原创 SpringCloud全家桶 (第五期:Config配置中心)
一: 什么是SpringCloudSpring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems (e.g. configuration management, service discovery, circuit breakers, i...
2020-02-26 18:13:59 556
原创 SpringCloud全家桶 (第四期:Zuul网关)
一:zuul是什么zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用。Zuul 在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。zuul的主要功能:路由过滤二:搭建zuul1,创建ml_gateway子模块2,创建完项目...
2020-01-13 15:40:18 401
原创 SpringCloud全家桶 (第三期:熔断器Hystrix)
一: 什么是SpringCloudSpring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems (e.g. configuration management, service discovery, circuit breakers, i...
2019-08-18 23:23:28 506
原创 SpringCloud全家桶 (第二期:远程调用Feign)
一: 什么是SpringCloudSpring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems (e.g. configuration management, service discovery, circuit breakers, i...
2019-08-17 16:26:32 402
原创 Could not locate PropertySource: I/O error on GET request for “http://localhost:8888/
关于springboot的这个错误,遇到过很多次。2018-09-20 11:20:30.514 WARN [provider-demo,,,] 17603 --- [on(6)-127.0.0.1] c.c.c.ConfigServicePropertySourceLocator : Could not locate PropertySource: I/O error on GET requ...
2019-01-14 17:30:37 18737 11
原创 一个来自生产的频繁报错的解决方案之字符串转换数值型校验切面
最近告警群里经常报一些转换异常的错误。比如:String强转为Long报错,经过排查原因是测试团队在做接口扫描,定期的接口测试,但是参数会传一些特殊字符。等等,因此在服务端进行String转换为Long时就会报错,从而触发告警群的通知。最终经过评估,采用了方案3,AOP切面校验参数。
2024-08-14 16:08:34 242
转载 Spring Bean生命周期的各阶段介绍
的生命周期是一个老生常谈的问题了,网上一搜一大把,无非就是画一幅流程图(比如下面这幅图),然后用语言介绍创建bean后执行各Aware接口,然后…最终Bean创建成功了,就可以使用这个Bean了,然后在容器销毁的时候,又会执行一些操作。其实对于上面的提到的流程图,注意上面的图只是的大概流程(省略了一部分),主要涉及到了5个接口,分别是XxxAware接口,本文将会对这几个接口,以及做相关的使用介绍,在明白怎么使用后,再把他们串起来,这样的话,对于的生命周期就差不多知道咋回事了,而不用死记硬背。
2023-08-03 22:39:10 504
翻译 ES 查询原生语法及java代码
这是个 复合过滤器(compound filter) ,它可以接受多个其他过滤器作为参数,并将这些过滤器结合成各式各样的布尔(逻辑)组合。上面情况中出现了must和should共用的情况,这时should会出现不生效情况,为了避免这种情况的发生,可以采用上面的方式,即。match查询会将搜索词分词,再与目标查询字段进行匹配,若分词中的任意一个词与目标字段匹配上,则可查询到。默认使用 match_phrase 时会精确匹配查询的短语,需要全部单词和顺序要完全一样,标点符号除外。示例: 下面的查询用于查找。
2023-06-06 18:09:58 2307
原创 dubbo入门必看
Dubbo是一款非常强大的分布式服务框架,它能够帮助我们构建高可用、高性能、可伸缩的分布式系统。通过本文的介绍,相信读者对Dubbo的基本概念、架构和使用方式有了更加深入的了解。
2023-05-26 17:13:53 596
原创 一个来自生产报错问题,dubbo默认大小限制:Data length too large:9063513,max payload:8388608,channel:NettyChannel
dubbo默认传输大小引起的生产问题
2023-02-02 15:57:33 2006 1
翻译 MySQLSyntaxErrorException:‘t5.id‘ isn‘t in GROUP BY(修改mysql中的sql_mode)
sql_mode
2022-09-26 10:28:27 402
原创 redis数据对比工具之 RedisFullCheck
**RedisFullCheck**可以用于校验两个redis的数据是否一致,包括`主从版、单节点、集群版`,以及一些云上的带proxy的集群版(阿里云,腾讯云)。也可以额参考阿里云的使用文档。
2022-09-02 17:33:45 1091 2
原创 Mysql redo log 写入策略和binlog 写入策略
redo log的写入策略InnoDB提供了innodb_flush_log_at_trx_commit参数,它有三种可能取值:设置为0的时候,表示每次事务提交时都只是把redo log留在redo log buffer中;设置为1的时候,表示每次事务提交时都将redo log直接持久化到磁盘;设置为2的时候,表示每次事务提交时都只是把redo log写到page cache。查看mysql变量:show VARIABLES LIKE 'innodb_flush_log_at_trx_comm
2022-04-25 20:50:04 1076
原创 CompletableFuture.applyToEither方法(哪个先返回就用哪个)
/**假设有个需求:获取位置坐标有两种方式,百度地图/谷歌地图要求:同时调用百度/谷歌地图的接口,哪个先返回就用哪个的结果作为位置坐标,这样性能最佳。@param args*/public static void main(String[] args) {System.out.println(CompletableFuture.supplyAsync(() -> {try {Thread.sleep(3000);} catch (InterruptedException e
2022-04-22 21:17:42 472
原创 CompletableFuture异步串行处理
public static void main(String[] args) { System.out.println(CompletableFuture.supplyAsync(() -> { return 1; }).thenApply(v -> {//v就是上次处理完成的结果 return v + 1; //v=1 }).thenCombine(CompletableFuture.suppl.
2022-04-22 21:06:34 379
原创 CompletableFuture异常处理
public class CompletableFutureDemo { public static void main(String[] args) { CompletableFuture.runAsync(() -> { calc(); }).whenComplete((v, e) -> { if (e == null) { System.out.println(" c
2022-04-22 20:50:30 2245 1
原创 MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction
一:报错信息MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction具体报错信息如下图:二:伪代码三:报错原因通过错误日志可以看出,错误原因跟 锁、事务有关,字面意思是:锁等待超时,请尝试新的事务其实在开发过程中并未报错,后来到了仿真环境,因为是员工端的原因,并发量略高,执行上面逻辑的第4步时,比较耗时,导致新的请求过来的时候,锁还未释放(因为无论删除、插入、还是更新、
2022-04-21 00:25:55 3346
原创 Java 排查死锁的几种方式
文章目录死锁案例排查死锁的三种方式jstackjconsolevisualVM死锁案例public class Test001 { final static Object obj = new Object(); final static Object obj2 = new Object(); public static void main(String[] args) { ExecutorService executorService = Executors
2021-11-24 15:42:07 1895
转载 为何每次用完 ThreadLocal 都要调用 remove()
什么是内存泄漏内存泄漏指的是,当某一个对象不再有用的时候,占用的内存却不能被回收,这就叫作内存泄漏。因为通常情况下,如果一个对象不再有用,那么我们的垃圾回收器 GC,就应该把这部分内存给清理掉。这样的话,就可以让这部分内存后续重新分配到其他的地方去使用;否则,如果对象没有用,但一直不能被回收,这样的垃圾对象如果积累的越来越多,则会导致我们可用的内存越来越少,最后发生内存不够用的 OOM 错误。下面我们来分析一下,在 ThreadLocal 中这样的内存泄漏是如何发生的。Key 的泄漏在上一讲中,我
2021-09-24 15:40:45 1012
原创 (小白入门)linux安装Kibana
目录前言一:Kibana下载二:安装三:修改配置四:分配权限四:启动五:访问前言友情提示:安装Kibana前,可以先安装下Elasticsearch一:Kibana下载https://www.elastic.co/cn/downloads/past-releases#kibana选择5.0.2版本下载,尽量和es版本一致选择linux版二:安装2.1、首先上传至linux服务器通过rz命令或者直接拖至服务器上rz命令不清楚的童鞋,可以百度下2.2、解压tar -zxvf k
2021-09-14 17:21:01 708 1
转载 Vue项目中,Cannot find module ‘node-sass‘ 报错找不到解决方法!!!!!
Vue启动项目,找不到Cannot find module ‘node-sass’ 模块!!!(解决方法)。问题点:刚开始启动项目 npm run serve 启动项目报错“Cannot find module ‘node-sass’ “,报了5个错误,搞了一上午,原来是网络的原因导致下载安装的no-model报的缺失,导致了项目的不完整,所以导致不能重启;运行命令:cnpm install node-sass@latest 即可解决,( 网络差的同学可以选择重新下载no-modules...
2021-07-14 21:47:18 1590
原创 Mysql常用函数
文章目录算术函数字符串函数日期函数转换函数算术函数算术函数,顾名思义就是对数值类型的字段进行算术运算。常用的算术函数及含义如下表所示:比如:SELECT ABS(-2),运行结果为 2。SELECT MOD(101,3),运行结果 2。SELECT ROUND(37.25,1),运行结果 37.3。字符串函数常用的字符串函数操作包括了字符串拼接,大小写转换,求长度以及字符串替换和截取等。具体的函数名称及含义如下表所示:比如:SELECT CONCAT(‘abc’, 123),运
2021-07-13 16:11:21 359
原创 Centos中docker hub配置阿里云镜像加速
sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": ["https://6iugie5c.mirror.aliyuncs.com"]}EOFsudo systemctl daemon-reloadsudo systemctl restart docker阿里云:https://cr.console.aliyun.com/cn-hangzhou/in
2021-07-13 07:38:44 205
原创 手把手教你Hystrix熔断技术
1、pom依赖: <!-- 整合hystrix --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> <version>2.2.1.RELEAS
2021-06-21 16:28:56 299
转载 springboot使用RestTemplate以post方式发送json字符串参数
pom依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency>import javax.annotation.Resource;import org.springframework.http.HttpEntity;impor
2021-06-03 16:40:01 2275
转载 yum安装maven
wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repoyum -y install apache-maven
2021-05-16 12:44:54 233
原创 [Errno 14] problem making ssl connection
错误还原:在安装maven时wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repoyum -y install apache-maven出现以下错误:[root@ceshi05 ~]# yum -y install apache-mavenhttp://repos.fedorapeople.org/r
2021-05-16 12:39:20 668
原创 @Transactional无效的几种原因及解决方案
无效原因:方法没有被public修饰,也就是this调用方法中有try{} catch{}@Transactional注解 默认是发生RuntimeException时回滚,如果发生了其他异常是不会回滚的。比如:IOException、NullPointException、ArithmeticException 等等解决方案:方法改为被public修饰去掉方法中try{} catch{},如果必须要使用try{} catch{}的话,可以在catch{}中加上手动提交事务Transacti
2021-05-14 15:08:49 1941
原创 canal快速入门(小白必看)
文章目录一:canal简介二:工作原理三:环境准备五:测试canal六:canal相关文档七:开心一刻一:canal简介canal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费通过上图可以看出,canal支持 Mysql、Kafka、ElasticSearch、RocketMq 等,常见的业务场景:数据同步。解析binlog,同步数据到ElasticSearch、RocketMq 等。有了它,我们不需要再专门写一个框架来完成这件事情
2021-04-30 14:18:17 1208
翻译 (亲测)MySQL集群搭建-主备搭建
数据库在任何业务中都是最重要的环节之一,这就对数据库架构提出的较高的要求。单点数据库永远不应该出现在生产环境,我们已经目睹过太多由于单点、备份缺失造成的损失,所以,搭建高可用 MySQL 集群是非常有必要的。搭建集群有以下几点好处:高可用性,在主节失效时自动切换,不需要技术人员紧急处理高吞吐,可以多个节点同时提供读取数据服务,降低主节点负载,实现高吞吐可扩展性强,支持在线扩容无影响备份,在备节点进行备份操作不会对业务产生影响要说缺点,有以下几点:架构复杂,在部署、管理方面对技术人员有要求备节
2021-04-28 17:46:14 1115
转载 linux上安装MySQL(二进制版)
MySQL 的安装方式一般分为三种,二进制版本、编译版本、RPM 包。比较常见的是二进制版本安装,方便简单,相对于编译安装,如果不是追求极致性能,使用起来差别不大。本次教程以二进制版本为例,系统为 centos6.8,MySQL 版本为5.7.20。...
2021-04-28 14:04:51 574 1
原创 mysql5.7.20版本修改密码
use mysql; update mysql.user set authentication_string=password('123456') where user='root' ; flush privileges;
2021-04-27 14:32:48 165
转载 yum makecache 报错:All mirror URLs are not using ftp, http[s] or file.centos6
这两天出差,临时要安装个东西到服务器上,因此打开本地的centos6用yum下载包,结果就报All mirror URLs are not using ftp, http[s] or file.我以为本地网络有什么问题了,一通操作猛如虎…后来发现是因为centos6的支持给官方停掉了…[root@Hadoop ~]# yum makecacheLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfileYumRe
2021-04-26 23:10:30 263
原创 linux配置最简网卡(静态IP)
vi /etc/sysconfig/network-scripts/ifcfg-eth0修改如下:DEVICE=eth0TYPE=EthernetONBOOT=yesBOOTPROTO=staticIPADDR=192.168.1.150 #ip自己定义NETMASK=255.255.255.0GATEWAY=192.168.1.1
2021-04-26 22:20:23 321
Git64版本控制工具.zip
2019-11-01
JAVA反编译工具
2019-07-12
MobaXterm_CHS.zip 汉化版
2019-05-20
redis-desktop-manager-0.8.2.3849.zip
2019-05-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人