- 博客(50)
- 资源 (1)
- 收藏
- 关注
原创 剖析MySQL慢SQL优化方案(适合对MySQL索引有了解但缺乏实战的群体)
前言:我们在日常开发中,或多或少都会遇到。某些表初期,查询速度非常快。但是,随着业务发展,数据量越来越多之后。SQL查询越来越慢的情况,那么基于这种情况,我们如何去:1、监控慢SQL2、优化慢SQL3、避免慢SQL...
2022-07-03 00:10:18
346
原创 Java线程池参数与使用
使用多线池目的,降低资源的消耗,提高线程利用率,降低创建于销毁线程的消耗。常用参数:线程池内部是通过队列+线程实现得,当我在利用线程池执行任务得时候:
2022-06-07 00:23:21
282
原创 ThreadLocal使用与如何避免内存泄漏
与其他map相类似,ThreadLocalMap内部存储的数个格式也是形式的。不同点在于,ThreadLocalMap的key设置的当前线程,value设置的是继承自弱引用类型的WeakReference的Entry对象。 通过阅读源码,不难发现。ThreaLocalMap在使用的时候。其实都是在方法内部,获取到了本地线程,进行操作的。 ThreadLocalMap整体的数据结构可以理解为一个只能存放单个key对象的map集合。ThreadLocal的使用场景,其实比较容易。首...
2022-06-06 17:17:33
1060
原创 Seata1.4安装配置与使用
Seata配置安装1.下载地址:http://seata.io/zh-cn/blog/download.html下载source(源码,其中有sql脚本)与binary(插件)2.切换数据库新建数据库seata_config运行源码中该文件下脚本(script\server\db\mysql.sql)修改conf/file.conf文件store { ## store mode: file、db、redis mode = "db" ## database store prop
2022-03-01 00:24:22
1980
2
原创 sentinel流量控制、降级、熔断
流量控制(flow control),其原理是监控资源(Resource)的统计指标,然后根据Token计算策略来计算资源的可用Token(也就是阈值),然后根据流量控制策略对请求进行控制,避免被瞬时的流量高峰冲垮,从而保障应用的高可用性。流控配置1.选择访问的簇点链路,选择具体流控规则新增留空信息流控规则名词解释与作用QPS: 每秒请求访问量,配合阈值使用并发线程数:当前请求每秒并发访问量,配合阈值使用流控模式: 直接:单个接口访问 关联:关联两接口A、B。如当前A访问量达到阈值
2022-02-13 14:33:56
815
原创 spring cloud Alibaba第二站 Sentinel 安装配置
前言 Sentinel 是面向分布式服务架构的流量控制组件,主要以流量为切入点,从流量控制、熔断降级、系统自适应保护等多个维度来帮助您保障微服务的稳定性。Sentinel安装配置下载安装sentinel可视化界面项目引入sentinel依赖下载安装下载地址:https://github.com/alibaba/Sentinel由于sentinel默认启动端口是8080,此处替换其他端口启动## 以8001端口启动sentineljava -jar sentinel-dashboard
2022-02-13 13:40:17
317
原创 nacos 集群搭建
nacos集群搭建替换nacos内嵌数据库参考官方文档:https://nacos.io/zh-cn/docs/deployment.html替换内嵌数据库由于需要搭建分布式nacos集群,所以需要将所有nacos连接得数据库改成统一得集群配置。## 修改目录下数据库连接nacos/conf/application.properties## 增加数据库连接配置#*************** Config Module Related Configurations *******
2022-02-12 23:37:13
1057
原创 ELK之elasticsearch基本概念
简介ES名词解释ES与关系数据概念对比使用kibana操作ES基础命令简介ES名词解释index(Type):索引是文档的容器,是一类文档的集合。索引类似于我们关系型数据库中的table。document:ES是面向文档的,文档是所有可以搜索的最小单元,如同关系型数据库表记录中的每一行数据;文档会被序列化成JSON格式,保存在ES中;每一个文档都有唯一的id(unique ID),这个id可以自己指定,也可以让es自动生成,类似于关系型数据中的自增主键。Filed:字段类型有字符.
2021-11-16 23:27:06
1491
原创 ELK之Elasticsearch安装
下载方法安装基础命令下载地址ES下载地址安装window正常解压,打开bin目录下的elasticsearch即可运行基础命令## 安装analysis-icu 分词组elasticsearch-plugin install analysis-icu## 查看已安装es插件elasticsearch-plugin list## 本地多实例运行eselasticsearch -E node.name=node1 -E cluster.name=geektime -E path.d.
2021-11-14 17:47:30
1075
原创 spring cloud alibaba第一站nacos
前言: 由于netfix的不活跃状态,相关的很多开源项目:eureka、hystrix等不再维护。alibaba在继dubbo被spring cloud夺取市场之后,用重新杀回了市场。推出了自己的开源项目spring cloud alibaba。本篇带来的nacos,主要解决的场景:服务注册中心、服务配置、服务总线。 nacos的官方文档地址:https://nacos.io/zh-cn/docs/quick-start.html nacos是阿里推出的,所有的参考文档都有中文版,本篇主要记录自
2020-09-25 14:26:12
282
原创 japidocs 运行时Exception in thread “restartedMain“ java.lang.reflect.InvocationTargetException
使用japidocs 自动生成文档时,产生了反射异常,并空指针异常原配置 DocsConfig config = new DocsConfig(); config.setProjectPath("F:\\svnSpace\\sludge-monitoring"); // 项目根目录 config.setProjectName("污泥管理"); // 项目名称 config.setApiVersion("V1.0"); // 声明该API的
2020-09-14 18:51:26
5198
1
原创 redis常用命令与总结
前言 开发中经常用到redis,几乎都把redis与缓存画上等号了。自己开中也只是用到了string和hash类型,感觉对redis一知半解。所以本着探究一下redis常用的命令,来仔细学习一下redis。学习参考:菜鸟redis教程目录常用的基础命令string常用命令hash常用命令list常用名set常用名sorted list常用命令命令中key指代操作的存放的主键名【自取】,value指代存放到该主键的值【自定义】常用的基础命令#登录远程redis服务 redis-cl
2020-08-02 21:54:53
361
原创 Spring Cloud第九站Sleuth
算是spring cloud系列最后一站了,后边可能会扩展记录一下学习Spring Cloud AlibabaSleuth简介 Sleuth的出现,是为了记录微服务各个模块间,微服务链路调用的。方便管理、查看运行过程中,哪个模块出现了bug。监听记录各个模块主要使用的工具是zipkin,而sleuth做的就是将zipkin整合到了微服务项目中,方便实际开发过程中zipkin的配置与操作。zipkin的安装与使用下载下载地址:https://dl.bintray.com/openzipkin/m
2020-07-03 10:08:25
131
原创 Spring Cloud第八站Stream
Stream简介 Stream又名消息驱动,为什么要引入Stream? 在微服务架构中,我们可能会因为业务的原因,而要使用到多种消息队列的场景。但是,对于开发
2020-07-02 21:23:01
3514
原创 Spring Cloud第七站Config与Bus
Config简介 config在微服务架构中,充当的作用的配置中心。在微服务架构中,因为将不同的模块拆分成了更小的粒度,但是每个模块都必须配置相关的配置文件,使得在管理配置文件的时候非常的不方便。而config的作用就用配置统一的外部远程配置仓库。因为,配置中心使用的是外部(可以是Git、SVN)。这里我就使用github为例。config分为服务端与客户端服务端配置新建cloud-center-config模块,引入依赖 <dependency>
2020-06-27 17:57:33
315
原创 Spring Cloud第七站GateWay
GateWay简介 GateWay是微服务架构下的服务网关。它的诞生背景是Netflix公司,对于推出的zuul 1.x版本不满意,即将推出zuul 2.x,但是2.x的版本又迟迟未完工的情况下。于是Spring Cloud开源社区推出了GateWay来代替zuul 1.x。 Spring Cloud具有以下的特性:基于Spring Framework 5,Project Reactor和Spring Boot 2.x进行构建的。动态路由:能够匹配任何请求路由可以对路由制定Predicate
2020-06-26 23:41:46
220
原创 Spring Cloud第六站Hystrix
Hystrix是微服务系统架构用来处理系统延时与容错的开源库,它是微服务架构中必不可少的一个环节。可惜的是Hystrix也进入了停止更新状态(有新的开源库来顶替)。Hystrix简介Hystrix是什么: Hystrix是一个库,通过添加延迟容忍和容错逻辑,帮助你控制这些分布式服务之间的交互。Hystrix通过隔离服务之间的访问点、停止级联失败和提供回退选项来实现这一点,所有这些都可以提...
2020-06-21 23:03:03
173
原创 Spring Cloud第五站Open Feign
Open Feign简介open feign 是什么 Feign是一个声明式的Web服务客户端,让编写Web服务客户端变得非常容易,只需 创建一个接口并在接口上添加注解即可open feign的作用 Feign旨在使编写Java Http客户端变得更容易。前面在使用Ribbon+ RestTemplate时,利用RestTemplate对http请求的封装处理,形成了一套模版化的调用...
2020-05-05 00:39:35
201
原创 Spring Cloud第四站Ribbon
Ribbon简单介绍Ribbon是什么 Spring Cloud Ribbon是基于Netlix Ribbon实现的一套客户端负载均衡的工具。 简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供- 系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer (简称LB)后面所有...
2020-05-04 15:39:24
145
原创 Spring cloud第三站 Consul
Consul的安装官网下载下载地址:Consul官网解压使用命令窗进入解压目录使用命令行,运行consulconsul agent -dev #运行consulconsul --version #测试安装的consul版本使用浏览器打开安装的consulhttp://localhost:8500spring cloud中使用consulpom文件导入...
2020-05-03 23:14:36
131
原创 Spring Cloud第二站zookeeper
Contos7.X下zookeeper的安装1.使用wget下载zookeeper链接失效请手动获取:zookeeperwget https://downloads.apache.org/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz解压修改配置文件tar -zxvf zookeeper-3.4.14.tar.gzcp zoo...
2020-05-03 15:18:30
159
原创 Spring Cloud第一站Eureka
Eureka基础知识eureka现状 截至这篇文章为止Netflix已经停止了eureka的更新了。作为服务注册中心,因为eureka的停更,部分公司已经相继拥抱zookeeper、consul、nacos。eureka是什么 Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。...
2020-05-02 18:24:53
233
原创 Idea中Maven项目Fatal error compiling: 无效的目标发行版: 12 -> [Help 1]
起因:在学习spring cloud时,想构建导入自己写的全局依赖坐标。于是,用maven install命令。于是乎 解决方法适用于,大部分出现无效的目标发行版问题。ctrl+alt+shift+s 打开Project Structure修改module(没有构建module的可以跳过)ctrl+alt+s 打开setting问题没解决继续,修改maven编译版本问题还没...
2020-05-01 20:17:12
1954
3
原创 idea(devtools)热部署
引入devtools依赖引入插件修改编辑器配置修改注册重启引入依赖pom.xml文件中<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <...
2020-05-01 11:29:22
189
原创 RabbitMQ 简介与五种队列模式及Java的简单使用
RabbitMQ的简单介绍队列的划分RabbitMQ简介 RabbitMQ–又被称为消息队列(其中的一种),
2020-04-13 10:45:47
313
原创 Nginx配置文件的解析与反向代理、负载均衡、动静分离
全局块events块http块准备工作打开Nginx的配置文件vim nginx.conf全局块 主要设置一些影响Nginx服务器整体运行的配置指令或一些文件的存放路径。如:`worker_processes auto; #控制nginx的最大并发处理数量,如 :1 随着数字的增大,nginx最大并发处理数量也在增大error_log /var/log/nginx/er...
2020-04-08 14:39:18
159
原创 yum安装nginx
准备工作安装NginxNginx配置存放位置Nginx简单的操作命令准备工作添加nginx存储库yum install epel-release安装Nginxyum install nginx安装完毕systemctl start nginx #启动 注意防火墙端口号的拦截Nginx配置存放位置/etc/nginxNginx简单的操作命令使用yum安装...
2020-04-06 14:43:45
142
原创 Java程序运行在Linux系统上使用jmter压测时被系统killed
最近使用的springboot搭建的java系统,打成jar部署到Linux后。自己想测试一下并发情况,于是用了jmter进行了压测。因为为了省钱redis和mysql,jvm全运行在一台服务器上,压测的过程中java程序很快就被killed了,偶尔也会出现mysql挂掉,重启mysql出现Can’t connect to local MySQL server through socket ‘/...
2020-01-22 22:01:50
878
原创 懒人版Contos7.X安装tomcat 9
wget下载tomcat9.X资源包 为了节省不必要的tomcat9 下载到本地在上传到服务器下,这里采用wget命令安装tomcat查看wget命令是否安装(已安装跳过)#下载安装yum install -y wget#查看相关wget命令,看wget是否安装成功wget --help使用wget获取tomcat资源下载前请到想存放的目录下 笔者这里目录为 /usr/l...
2020-01-20 21:34:03
191
原创 基于IDEA构建的springboot项目打war部署
pom.xml文件下的配置工作 将默认的打包方式修改为war包<packaging>war</packaging>位置引入需要的依赖(主要目的:打包时不包含springboot内嵌的tomcat) <dependency> <groupId>org.springframework.boot&l...
2020-01-16 20:32:28
182
原创 Springboot的properties或yml的@value注入问题
发生场景以及探索 发生场景:在使用jedis的连接池管理redis时,需要手动写入连接池相关配置。yml中的配置#配置缓存spring: #redis: # port: 6379 # host: 106.13.46.205 # timeout: 3 # jedis: # pool: # max-active: 8 # ma...
2020-01-16 16:04:46
989
原创 ContOS 7.X下安装mysql8.0,以及踩到的坑
准备工作查看是否已安装mysqlrpm -qa | grep -i mysql删除(未安装跳过准备阶段)yum -y remove MySQL-*完全删除find / -name mysqlrm -rf /etc/my.cnfrm -rf /root/.mysql_sercret开始安装下载配置mysql 8.0sudo rpm -Uvh https:/...
2020-01-10 21:58:49
869
原创 查看Linux与Windows常用命令
Linux#查看指定端口号 8080netstat -lnp|grep 8080#查看所有端口号netstat -lnp|grep *Windows#查看所有端口 占用情况netstat -ano#查看指定端口 8080 占用情况netstat -aon|findstr "8080"...
2020-01-07 14:45:25
321
1
原创 并发编程1(并发编程的使用目的以及带来的问题)
并发编程为什么要使用并发编程?并发编程所带来的问题,以及如何避免?并发编程是为了让程序运行的更快 使用并发编程的目的是加快程序的运行速度,但同样的使用并发编程会带来新的问题。上下文切换问题、死锁问题上下文切换 问:上下文切换是什么,导致产生上下文切换问题的原因是什么呢? 答:对于单核处理器的计算机而言,CPU是通过为多线程分配CPU时间片来实现多线程的,多个线程共同抢占CPU分...
2020-01-06 22:12:27
258
原创 Java集合总结Map
常用的Java集合有两部分组成Map与Collection简介CollectionMapMapHashMap hashMap既具有ArrayList的查询快,也具有LinkedList的增删快。其实将ArrayList与LinkedList组合起来,就是我们经常使用的HashMap。HashMap的数据结构从源码中分析可知,初始化的时候这个ArrayList的长度为16。...
2019-11-17 20:55:34
185
原创 Java集合总结Collection
常用的Java集合有两部分组成Map与Collection简介CollectionMapCollection罗列一下常用的Collection的子类Iterable iterable中定义了一个iterator–迭代器public interface Iterable<T> { /** * Returns an iterator over ...
2019-11-14 10:16:16
128
原创 CentOS7.X 安装Docker
步骤更新yum命令到最新版安装需要的驱动包设置yum源为阿里云(可选)安装Docker检查是否安装成功更新yumsudo yum update安装前置驱动包安装需要的驱动包 yum-util 提供yum-config-manager,另外两个驱动包是devicemapper驱动依赖sudo yum install -y yum-utils device-mapper-pe...
2019-10-27 15:51:37
176
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人