自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 收藏
  • 关注

原创 30s内系统恢复高可用方案

集群高可用

2022-07-10 17:34:15 638 1

原创 记一次fastjson使用错误的经历

记一次fastjson使用错误的经历错误场景必要条件PageUser代码断点测试解决方案错误场景通过http方式调用第三方接口,拿到返回值后,用fastjson转换对象,转换后,返回给其他接口。这里不展示调用第三方的代码,直接拿到调用后的返回值进行模拟。必要条件Pagepackage com.ultrapower.msa.form.api.controller;import java.util.Collections;import java.util.List;/** * 与具体OR

2022-02-15 16:00:07 2056

原创 Mysql使用DDL&DML

Mysql使用DDL结论DDL基本了解动态创建表情景一:字段动态情景二:字段静态完全复制一个基本表(只结构)部分复制一个基本表(结构和数据)判断表是否存在DML查询返回参数map形式(key字段,value字段值)新增入参map形式(key字段,value字段值)修改入参map形式(key字段,value字段值)结论mybatis开启事务,同时操作dml,ddl,先执行dml后,在执行ddl,最后执行其他逻辑报错,dml,ddl没回滚(测试发现,一旦执行成功ddl,前面的dml就会提交事务)mysql

2022-01-23 15:44:30 1239

原创 Elasticsearch——Bboss

Elasticsearch——Bboss官网地址mavenes集群整合application.propertiesBBossESStarter操作类功能测试判断索引是否存在官网地址https://esdoc.bbossgroups.com/#/maven<dependency> <groupId>com.bbossgroups.plugins</groupId> <artifactId>bboss-elasticsearch-rest-jdbc

2022-01-13 15:38:53 2443

原创 GateWay限流坑——context-path

GateWay限流坑——context-path必要坑点要路由的目的模块Gateway配置必要先了解前2篇文章:GateWay限流GateWay坑——context-path坑点看过上一篇文章,可以知道要路由的目的模块的配置如下Gateway可以正常路由并可以限流,但如果目的模块的配置了 servlet.context-path,并且值和application.name一样,就会出现问题。要路由的目的模块Gateway配置可以正确路由但限流失效,不会409...

2022-01-03 12:50:40 753

原创 GateWay限流

GateWay限流限流概念限流算法计数器漏桶算法令牌桶算法限流实现pomapplication.yml接口地址限流结果拓展ip限流自定义限流请求参数参考原文--感谢(希望大家先看原文)限流概念在高并发的系统中,往往需要在系统中做限流,一方面是为了防止大量的请求使服务器过载,导致服务不可用,另一方面是为了防止网络攻击。一般开发高并发系统常见的限流有:①限制总并发数(比如数据库连接池、线程池)。②限制瞬时并发数(如 nginx 的 limit_conn 模块,用来限制瞬时并发连接数)③限制时间窗口内

2022-01-02 21:28:37 854

原创 GateWay坑——context-path

GateWay坑——context-path环境准备正确路由context-path和application.name不一致注册中心Gateway网关设置访问结果路由失败context-path和application.name一致注册中心Gateway网关设置访问结果路由失败-原因路由失败-解决方案gateway.discovery.locator方案一方案二包装一层前缀环境准备eureka,gateway,要路由的服务(bit-msa-pasm-api)正确路由context-path和appl

2022-01-02 20:03:55 3875

原创 GateWay路由转发

GateWay路由转发GateWay项目配置yml配置filters(RewritePath)bit-msa-pasm-api项目配置ymlcontroller测试直接通过网关访问bit-msa-pasm-api通过网关进行路由转发新增一个项目yml配置controller测试不通过网关直接访问通过网关直接访问,看是否会路由到bit-msa-pasm-api结论GateWay项目配置RewritePathGatewayFilterFactoryyml配置filters(RewritePath)ser

2022-01-01 15:45:30 6733

原创 maven相关

maven相关settings.xml删除maven仓库中下载失败的jarsettings.xml<?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org/SETTINGS/1.2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http

2021-11-07 18:32:08 57

原创 ElasticSearch的Java API

@TOCJava客户端在Elasticsearch中,为java提供了2种客户端,一种是REST风格的客户端,另一种是Java API的客户端。官网:https://www.elastic.co/guide/en/elasticsearch/client/index.htmlREST客户端Elasticsearch提供了2种REST客户端,一种是低级客户端,一种是高级客户端。Java Low Level REST Client: 官方提供的低级客户端。该客户端通过http来连接Elasti

2021-10-27 18:53:43 1441

原创 Springboot整合jpa实现mysql&oracle

Springboot整合jpa实现mysql&oraclepomapplicationentityJpaRepository测试多表关联查询interfaceJpaRepository测试pom<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId></dependency><depen

2021-10-08 17:14:48 338

原创 tcp/ip协议三次握手、四次挥手

tcp/ip协议三次握手、四次挥手TCP报文格式两次握手三次握手四次挥手TCP报文格式32位序号:随机生成,唯一标识当前报文的序号是多少,seq表示32位确认序号:对上一条发送的信息进行一个消息的确认,ack表示ACK:确认标志位,一位,只能表示0/1。SYN:1:发起一个新的连接FIN:1:结束一个连接两次握手说明:客户端向服务端发送报文,服务端收到了,说明服务端接受客户端的消息没问题。但服务端发给客户端的消息,客户端一定能收到么?服务端还是不知道。为了安全可靠:1:客户端知道我

2021-08-24 23:24:32 6086 35

原创 nacos

nacos

2021-08-10 16:04:36 109

原创 IDEA构建项目的必要设置

必要设置字符编码注解生效激活java编译版本选8File Type过滤字符编码-encoding utf-8注解生效激活java编译版本选8File Type过滤过滤掉不必要的文件

2021-08-06 15:12:31 78

原创 SpringCloud Alibaba ,SpringBoot和SpringCloud 三者版本选型

版本选型官网查看SpringCloud版本SpringCloud对应SpringBoot那个版本?SpringBootSpringCloudAlibabaSpringCloudAlibaba对应哪个Boot官网查看SpringCloud版本目前SpringCloud 当前推荐并可用于生产的版本是 2020.0.3SpringCloud对应SpringBoot那个版本?点击 Reference Doc. 查看对应的SpringBoot版本可以看到 Cloud 2020.0.3版本推荐的Boo

2021-08-06 15:02:19 354

原创 RabbitMQ

RabbitMQ各个MQ介绍ActiveMQkafakRocketMQRabbitMQMQ的选择RabbitMQ四大核心概念原理名词解释各个MQ介绍ActiveMQkafakRocketMQRabbitMQMQ的选择RabbitMQ四大核心概念原理名词解释

2021-08-05 17:09:40 135

原创 雪花算法的由来

雪花算法的由来分布式ID生成规则全局唯一![在这里插入图片描述](https://img-blog.csdnimg.cn/20210714220610433.png)趋势递增单调递增信息安全含时间戳为啥递增?分布式ID生成系统的可用性要求高可用低延迟高QPSid生成一般方案UUID数据可自增主键分布式ID生成规则全局唯一趋势递增单调递增信息安全含时间戳为啥递增?现在mysql默认地存储引擎是InnoDB,索引是有序递增的。插入有序递增的id,索引直接在最后就维护了,如插入不是有序递

2021-07-14 23:11:46 359

原创 线程池的使用

线程池的使用三大方法七大参数四种拒绝策略最大线程到底该怎么定义CPU密集型IO密集型三大方法package com.wh.testThreadPool;import java.util.concurrent.Executor;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;//Executors 工具类//使用了线程池之后,运用线程池来创建线程public class Th

2021-07-13 15:40:00 65

原创 Token

TokenCookiecookie如何实现鉴权?SessionTokenCookiecookie不是缓存cookie是由服务端产生,存储在客户端的一小段文本信息,格式是字典,键值对。Cookie的分类:——————会话级:保存在内存,阅览器关闭,就会丢失——————持久化:保存到硬盘,只有当失效时间到了,才会被清除。cookie如何实现鉴权?致命弱点:cookie保存在客户端,对于一些敏感信息:用户名,密码。不安全。Session当用户第一次访问服务器时,在服务器端保存一个Sessi

2021-07-11 11:45:20 463

原创 mysql

mysqlmysql性能下降的原因sql在mysql中执行的循序7种JOIN1:A和B共有2:AB共有和A剩余(A全部)3:AB共有和B剩余(B全部)4:A减去AB共有5:B减去AB共有6: A的独有+B的独有+AB共有7: A的独有+B的独有mysql性能下降的原因sql在mysql中执行的循序7种JOIN准备1:A和B共有select * from emp inner join dept on emp.dept_id=dept.id;没有emp的7和dept的62:AB共

2021-07-08 21:48:19 250

原创 RPC的理解

;@TOC理解RPC远程过程调用简单的理解是一个节点请求另一个节点提供的服务RPC框架是一个概念,RPC有基于TCP协议的和http协议的。它的重点在于实现远程过程调用。而不限于使用什么协议。总而言之,SpringCloud是基于HTTP的RPC框架,它还是一个生态体系,包含了各种丰富的功能。基于TCP协议实现的RPC由服务的调用方与服务的提供方建立Socket连接,并由服务的调用方通过Socket将需要调用的接口名称、方法名称和参数序列化后传递给服务的提供方,服务的提供方反序列化后再利用反射调用

2021-07-07 22:10:29 83

原创 分布式理解

分布式集群和分布式,微服务的概念SOA微服务集群和分布式,微服务的概念集群:单体1个节点-》单体多节点(A,B,C…等节点),用nginx做请求转发,请求打到nginx,由nginx把请求的分发到这两个节点中的请求。 这两个节点都能够提供完整的服务,每个节点部署的实例是一致的。集群是物理形态每个节点都具备完整的服务,服务中可能存在A,B,C模块,但可能A模块访问量是最大的,而B,C.访问量较小。此时将3个模块部署到一个实例(节点)中,用nginx负载,显然这种形式效率不高。分布式:将A,B,C都做

2021-07-02 20:25:07 154

原创 sql 慢查询

sql 慢查询常用命令配置文件去修改慢sql(永久生效)mysql默认是不开启慢查询的常用命令1:查看是否开启慢查询show variables like 'slow_query_log';2:开启慢查询set global slow_query_log='ON';3:查看慢查询参数设置超过多少秒的查询归为了慢查询show variables like 'long_query_time';默认是10秒4:修改慢查询参数set global long_query_time= 1;

2021-07-01 17:13:02 2501

原创 Apollo安装与使用

下载配置官网下载:https://github.com/ctripcorp/apollo/tags解压安装包后将apollo-configservice-1.3.0.jar, apollo-adminservice-1.3.0.jar, apollo-portal-1.3.0.jar放置于apollo目录下创建数据库Apollo服务端共需要两个数据库:ApolloPortalDB和ApolloConfigDB。ApolloPortalDB只需要在生产环境部署一个即可,而ApolloConfigD

2021-06-11 18:01:50 3006 1

原创 @Transactional 之后怎么才能return 返回值

@Transactional 之后怎么才能return 返回值正常自动rollbak,不会return手动rollbak,能够return正常自动rollbak,不会return@Transactional(rollbackFor = Exception.class) public Part dealCurrentPart(Part part,String systemNo) { transResult = new TransResult(); Part result

2021-05-28 18:16:58 1889

原创 SFTP的应用

SFTP的应用新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown

2021-05-26 18:42:03 155

原创 多线程与JUC

多线程8锁现象1(标准):普通方法的synchronized2(标准加延迟)3:与普通方法4:两个对象两把锁5:静态的同步方法6:多对象情况下----静态的同步方法7: 同一个对象的普通同步方法和静态同步方法8: 不同对象的普通同步方法和静态同步方法小结8锁现象1(标准):普通方法的synchronizedpackage com.wh.lock8;import java.util.concurrent.TimeUnit;/** * 8锁现象 * 1:标准情况下,两个线程先打印 发短信还是

2021-05-16 11:45:35 228

原创 Mybatis的Cursor使用—>实现流式查询

Cursor使用—>实现流式查询简介简介流式查询指的是查询成功后不是返回一个集合而是返回一个迭代器,应用每次从迭代器取一条查询结果。流式查询的好处是能够降低内存使用。如果没有流式查询,我们想要从数据库取 1000 万条记录而又没有足够的内存时,就不得不分页查询,而分页查询效率取决于表设计,如果设计的不好,就无法执行高效的分页查询。因此流式查询是一个数据库访问框架必须具备的功能。在mybatis 3.4.0版本中新增了一个功能,查询可以返回Cusror类型的数据,类似于JDBC里的ResultS

2021-01-25 17:04:51 4956

原创 Base64的使用与文件下载

Base64的使用编码与解码文件转换为base64编码与解码import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder; String s="123"; //编码 BASE64Encoder base64Encoder = new BASE64Encoder(); //解码 BASE64Decoder base64Decoder = new BASE64Decoder(

2021-01-22 14:42:30 653

原创 FastDFS在springboot下使用

FastDFS在springboot下使用pomymlservicepom <!-- 文件上传fdfs工具 --> <dependency> <groupId>com.github.tobato</groupId> <artifactId>fastdfs-client</artifactId> <version>1.27.2</version></dependency>yml

2021-01-11 13:59:54 87

原创 linux下MongoDB的安装和springboot的使用

linux下MongoDB的安装了解下载地址安装配置过程客户端连接嵌入springbootymlcomponent处理了解下载地址官网:https://www.mongodb.com/try/download/enterprise安装配置过程把下载的tar放到/usr/local下并解压pwd /usr/local/mongodb-linux-x86_64-rhel70-4.2.8/bin #配置系统配置文件 vim /etc/profile export PATH=/

2021-01-11 10:53:34 104

原创 PageHelper使用

PageHelper使用依赖使用依赖 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.12</version></dependency>使用//直接在集合前面加上PageHelper.star

2021-01-11 10:12:29 91

原创 FastDFS踩坑

FastDFS踩坑1:报错链接超时22122或23000或Unable to borrow buffer from pool2:com.github.tobato.fastdfs.exception.FdfsServerException提示错误码2错误信息找不到节点或文件的解决方法强力参考:http://bbs.chinaunix.net/thread-1920470-1-1.html1:报错链接超时22122或23000或Unable to borrow buffer from pool原因:可能

2021-01-05 17:52:37 852 1

原创 linux安装FastDFS

linux安装FastDFS文件基础配置配置tracker(在storage前启动)配置storage(在tracker后启动)配置nginx(和storage在同一台服务器)nginx和fastdfs整合(在storage所在服务器)命令及路径总结FastDFS的安装文件如下链接:https://pan.baidu.com/s/1zUQfPHO4kOV7YjKv-dVF8w提取码:0d4j文件FastDFS的安装文件如下链接:https://pan.baidu.com/s/1zUQfPHO4k

2021-01-05 11:47:40 87

原创 双写数据不一致的情况

双写数据不一致的情况原因解决办法缓存双删合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入原因在做数据修改后,正常情况会从数据库中读取最新数据再放入redis中。但有时因为网络原因,redis数据未写入成功,此时会导致redis是旧数据,m

2020-12-29 09:56:13 290 1

原创 json转换

调用外部接口后,返回的String字符串有时候字符串格式不标准,有转义字符/,{}和[]外部有引号等问题,直接用json.parseObject,和JSONArray.parseArray就会报错所以应该对字符串先进行处理例:第一行是正确的json格式输出第二行[]外面多了"",如果直接Json.parseObject(),就会报错解决办法:s = s.replace("\\", "").replace("\"{", "{").replace("}\"", "}").replace("\"

2020-12-22 12:30:50 32

原创 mysql

https://blog.csdn.net/liutietuo/article/details/103779377删除:https://jingyan.baidu.com/article/4b52d702db8a82fc5c774b92.html

2020-12-21 13:38:52 50

原创 Jenkins与GitLab的自动部署

1:gitLab生成秘钥配到Jenkins上:https://www.cnblogs.com/gongxr/p/9257434.html2:Jenkins所在服务器生成秘钥配给GitLab

2020-12-21 10:35:50 56

原创 IDEA 强制杀掉一个服务

IDEA 强制杀掉一个服务查看各个服务的进程ID杀掉服务查看各个服务的进程IDjps杀掉服务

2020-11-19 17:24:44 459

原创 springcloud

springcloud1:搭建项目2:服务提供者和服务消费者(非eureka,ribbon式)服务提供者:服务消费者:3:Eureka(单机与集群)服务器依赖配置Enable4:服务提供者和服务消费者(eureka,ribbon式)服务提供者(应有多个,实心Ribbton方式的负载均衡调用)依赖配置Enable服务消费者依赖配置Enable必要代码1:搭建项目创建一个空的maven项目,之后添加cloud和boot依赖这里还有其他公共依赖,就不一一展示了,cloud和boot的版本对应关系见clou

2020-11-19 12:43:36 46

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除