自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Springboot整合Elasticsearch、搭建Logstash同步数据

文章目录Logstash概念安装配置Logstash概念作为数据采集的工具;以id或update_time作为同步边界;以id同步:初次同步的时候会将所有数据同步过来,之后logstash的定时任务回去检查,比如上次同步到id为2000的数据,那么这次就同步2000之后的数据,使用id作为同步有很大的弊端,就只只能新增数据,无法更新。以update_time同步:初次同步就将所有的数据同步过来,之后如果有新增或更新的操作,那么就把以上一次更新时间为界,之后的数据全部做一次新增或更新。使用lo

2021-06-23 21:56:27 803 2

原创 Elasticsearch——集群搭建

文章目录基本概念搭建集群集群脑裂文档读写原理写原理读原理基本概念比如有一个索引有3个主分片和3个副本分片,目前有3台服务器,那么主分片以及副本分片会有ES自己内部去分配具体哪个分片在哪台服务器上。同一个主分片和副本分片不会同时存在于同一台服务器节点,这是不允许的,因为一旦宕机,那么这个分片里的数据就都丢失了。搭建集群从原先的ES虚拟机克隆三台机器,然后进入到ES的data目录下删除nodes文件同时修改三台es配置的cluster.name再将node.name分别改为es-node1,e

2021-06-13 18:54:03 815 2

原创 Elasticsearch——dsl搜索

文章目录准备工作QueryString数据查询dsl数据查询match搜索查询所有指定字段查询分页搜索exists搜索可视化界面查询term和matchtermtermsmatchmatch_phrasematch进一步了解operatorminimum_should_matchids查询multi_match布尔查询must查询shouldmust_notmust、must_not、should组合查询boost权重post_filter 过滤器sort排序演示keyword排序高亮深度分页提示搜索量sc

2021-06-13 14:55:50 511

原创 Elasticsearch(中文分词)安装、基本操作使用

文章目录概念倒排索引安装文件夹说明修改配置可视化界面可视化使用创建索引查看健康状态信息删除索引查看索引mapppings创建mapping分词测试修改mappgings操作文档新增文档删除文档修改文档查询文档查询文档存不存在文档乐观锁分词测试分词指定索引分词standardsimplewhitespacestopkeyword中文分词器-ikik_max_wordik_smart自定义中文词库概念ES -> 数据库索引 index -> 表文档 document -> 每一条

2021-06-11 21:32:42 758 3

原创 Nginx常用整理

安装Nginx环境:VBox,Centos7.3Nginx下载地址将安装包上传到虚拟机之后,进行安装环境# 安装Gcc环境yum install gcc-c++# 安装PCRE库,用于解析正则表达式yum install -y pcre pcre-devel# zlib压缩和解压缩依赖yum install -y zlib zlib-devel# SSL安全的加密的套接字协议层,用于HTTP安全传输yum install -y openssl openssl-devel# 解压安

2021-05-30 22:32:44 351 1

原创 MongoDB配置多数据源

今天配置MongoDB的多数据源踩坑,在此记录。代码public abstract class AbstractMongoConfig { private String uri; /** * 获取mongoDBTtemplate对象 */ public abstract MongoTemplate getMongoTemplate() throws Exception; /** * 创建mongoDb工厂 */ pub

2021-01-25 21:16:49 1114

原创 JVM性能调优理论学习记录

JVM内存结构堆从持久度 ——> 元空间,在原先的持久代时经常会遇到OOM。栈虚拟机栈虚拟机栈管理Java方法本地方法栈本地方法栈管理的是native方法(C代码)程序计数器程序计数器:用来记录各个线程字节码的地址,像分支、循环、跳转、异常、线程恢复等等操作,都需要依赖程序计数器。由于Java是一个多线程的语言,当执行的线程数量超过CPU核心的时候,线程之间就会根据时间片去争抢资源。方法区静态常量池(也叫class文件常量池)主要存放:字面量:如文本字符串、final修

2020-12-06 21:17:24 278

原创 MyCat——数据读写分离、分库分表以及HA搭建

环境准备MySQL5.7MyCAT1.6.7.3VBox三台CentOS7.3虚拟机:192.168.1.7 MyCat01 -MySQL192.168.1.8 MyCat02 -MySQL192.168.1.9 MyCat03 -MyCat搭建环境192.168.1.7 MyCat01 -MySQL192.168.1.8 MyCat02 -MySQL两台节点搭建MySQL192.168.1.9MyCat03 搭建MyCat中间件MyCat官网,下载某个版本之后上传到服务器htt

2020-09-16 20:59:49 225 1

原创 CentOS7.3通过Docker安装部署Kafka

环境VBox下的CentOS7.3Kafka版本:kafka_2.12-2.1.0Kafka下载地址Kafka可视化界面CMAK(原Kafka-Manager)Kafka-Tool安装首先运行Kafka的服务器需要有Java环境,这里不做介绍,我配置的Java8。然后Kafka需要zookeeper依赖,我这里用docker运行了三个zookeeper节点,2181,2182,2183三个端口,记得开发防火墙,我这里的zk是在另一台虚拟机上运行的。将下载好的kafka压缩包上传到服务器,

2020-08-23 22:13:05 369

原创 Centos7.3/Windows搭建MongoDB副本集

Centos7.3搭建MongoDB副本集环境:Vbox-Centos7.3(三台)MongoDB4.2.8MongoDB下载基本安装将压缩包上传到服务器之后解压,在同一路径下创建data,log文件夹进入到mongodb-linux-x86_64-rhel70-4.2文件夹里,在bin文件下创建配置文件:mongodb.conf#端口号port=27017#db目录dbpath=/usr/soft/mongodb/data/db#日志目录logpath=/usr/soft/mo

2020-08-11 14:39:35 213

原创 MySQL垂直、水平切分,MyCat搭建配置PXC、Replication集群

垂直切分按照业务对数据表分类,然后把一个数据库拆分多个独立的数据库。比如一个电商系统中拆分为网站系统和仓库系统。作用垂直切分可以把数据库的并发压力分散到不同的数据库节点;缺点数据切分并不能减少单表的数据量;不能跨MySQL节点做表连接查询,只能通过接口请求;跨节点的事务需要用分布式事务机制来完成水平切分按照某个字段的某种规则,把数据切分到多张数据表。缺点不同的数据表切分规则不一致,要根据实际的业务来确定;集群扩容较为麻烦,需要迁移大量的数据。冷热数据分离添加新的分片,

2020-07-28 16:51:40 331

原创 Centos7通过Docker搭建Replication集群

简介Replication集群是Mysql自带的数据同步机制;Mysql通过读取、执行另一个Mysql的bin_log日志,实现数据同步;集群中数据同步是单项的,从主节点(Master)同步到从节点(Slave)安装oracle没有提供官方的Replication镜像,所以只能安装第三方的。docker pull mishamx/mysqldocker tag mishamx/mysql repdocker rmi mishamx/mysql创建主节点主节点用来与其他节点之间的同步,而

2020-07-24 14:50:57 241 2

原创 Centos7使用Docker搭建PXC集群(5.7版本)

创建Docker Swarm虚拟网络docker swarm init在运行成功之后有:docker swarm join --token SWMTKN-1-65jot7h7i3qpvyoii12u0oz6djay4k7aifhgicwdigypuvykey-2piyc2vowv25zv9hcziz4wvl5 10.1.6.223:2377在其他节点运行该命令就可以加入改Swarm查看Swarm节点下的主机,只能在主机下查看docker node ls删除节点下的某一台主机如果节点处

2020-07-24 11:18:06 1750 6

原创 ubuntu1604命令——持续记录

文件权限:r==>可读 w==>可写 x==>可执行r=4 w=2 x=1777 代表 rwxr-rwx-rwx 所有用户都可读可写可执行修改某个目录下所有文件的权限,如果子目录中的文件权限也要修改,则使用参数-R启动递归处理。例如:把/home/user目录的权限设置为rwxrwxrwx,不包括子目录:[root@localhost ~]# chmod 777 /h...

2020-07-21 17:24:54 198

原创 Ubuntu1604使用Sysbench压测Mysql以及Mysql 配置调优、慢查询

环境VBOX的Ubuntu1604安装Sysbenchsudo apt-get install sysbench检测是否安装成功sysbench --version先创建名为sbtest的数据库,再运行创建测试数据的命令sysbench --test=oltp --mysql-host=10.1.4.215 --mysql-db=sbtest --oltp-table-size=500000 --mysql-user=root --mysql-password=123456 prepare

2020-07-17 16:16:31 444

原创 Mysql、Redis、Redisson分布式锁

Mysql代码ProductEntity selectLock(@Param("title") String title);<select id="selectLock" resultType="com.csea.lock.pojo.ProductEntity"> select * from product where title = #{title} for update</select> @RequestMapping("mysql/singleLock")

2020-07-15 15:45:11 213

原创 SpringCloud Alibaba——Sleuth调用链监控(学习记录)

原理将一次请求,分为4个阶段。排查问题: 在一次请求中记录4次,每一次会对应到数据库中,如果一次请求下来只有4条数据,那么就是某个环境出现了问题。性能排查: 可以利用时间戳来计算得出到底是哪个环境性能开销大,从而定位问题所在。整合Sleuth术语Span(跨度)Sleuth的基本工作单元,用一个64位的id唯一标识。除ID外,span还包含其他数据,例如描述、时间戳、键值对的注解(标签)、span ID、span父ID等。trace(跟踪)一组span组成的树状结构成为trace。An

2020-07-14 17:30:22 1338

原创 SpringCloud Alibaba——Nacos配置管理(学习记录)

管理配置新建名为bootstrap.yml配置文件spring: cloud: nacos: config: server-addr: 127.0.0.1:8848 # 文件后缀 file-extension: yaml application: name: content-center profiles: active: devData ID:填写spring.application.name中的名称

2020-06-28 14:40:28 508

原创 SpringCloud Alibaba——Gateway API网关(学习记录)

SpringCloud的第二代网关,未来会取代Zuul基于Netty、Reactor、Webflux构建优点:性能强劲,是Zuul 1.X的1.6倍功能强大,内置很多实用功能,如转发、监控、限流等设计优雅,易扩展缺点依赖Netty与Webflux,不是Servlet编程模型,有一定适应成本不能在Servlet容器下工作,不能构建war包不支持springboot1.X核心概念Router(路由)SpringCloud Gateway的基础元素,可以理解成一套转发的规则,包.

2020-06-23 15:42:07 941

原创 SpringCloud Alibaba——RockerMQ消息驱动(学习记录)

Spring实现异步的方式AsyncRestTemplate参考博客@AsyncSpring参考文档WebClient(Spring5.0引入)Spring参考文档MQMQ适用场景异步处理流量削峰填谷解耦微服务搭建RockerMQ程序搭建引入依赖<dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-spring-boot-s

2020-06-18 16:26:03 736

原创 easypoi导出模板Excel公式无效问题解决

今天在使用easypoi的导出模板Excel的时候,带有公式的单元格会失效,是一个字符串或者覆盖的情况(覆盖主要是因为我循环生成行数据会替换公式的那个单元格)。通过寻找到那个采用公式的单元格,在excel赋值之后再拿出来单独再进行赋值操作,我这里是演示demo//数据代码省略 Workbook workbook = ExcelExportUtil.exportExcel(params, map); workbook.setForceFormulaRecalculation(true);

2020-06-16 17:33:14 3385 1

原创 SpringCloud Alibaba——Sentinel服务容错(学习记录)

1

2020-06-15 17:03:04 1329

原创 Ubuntu1604搭建Jenkins部署Springboot

之前就听过自动化部署程序,今天就试一把我的环境是阿里云Ubuntu1604按照官方文档的步骤先搞定环境wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'sudo apt-get up

2020-06-10 14:45:19 239 1

原创 记一次Redis被入侵,生成red2.so文件的问题

晚上收到一条短信,之前给人家服务器部署的时候,redis我直接暴露了,结果就被入侵了,后来网上查到阿里云在今年的一月份发现了这个危险,是有一个h2Miner团伙来入侵服务器,留下red2.so文件,还有kinsing蠕虫。最后参考阿里云的文字,排查red2.so文件和kinsing文件和进程,在我服务器里就找到red2.so文件和kinsingQQUKL1HbtE文件,就他删了。也把redis的配置改回不允许远程关闭了redis的端口。具体可以参考阿里云的文章...

2020-06-03 22:57:05 2919

原创 SpringCloud Alibaba——Feign声明式HTTP客户端(学习记录)

简介Feign是Netflix开源的声明式HTTP客户端GitHub引入依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId></dependency>在Springboot的启动类上加上注解 @EnableFeignClients修改之前的

2020-06-03 15:12:39 541

原创 SpringCloud Alibaba——Ribbon负载均衡(学习记录)

负载均衡两种方式服务器端负载均衡为一个应用部署多个实例,然后由Nginx做反向代理,请求先请求到Nginx上,由Nginx通过负载均衡转发到某个实例。客户端侧负载均衡内容中心通获取到用户中心的实例,然后自己实现负载均衡算法来请求某个有用户中心的数据,这时候内容中心就是客户端了加入了Ribbon之后的架构整合Ribbon在Nacos中已经引入了Ribbon,所以不需要再额外引入需要在RestTemplate中加入注解@LoadBalanced @Bean @LoadBa.

2020-06-02 15:58:32 703

原创 运行npm install控制台都是no such file or directory,node_modules下没有依赖文件

今天拉了一个项目下来,常规npm install,结果出现了以下问题,找不到一堆的文件,看node_modules文件夹下也确实没有依赖文件,网上都说删除package-lock.json,问题是连这个文件夹都没有生成。后来发现执行下面这句命令可以解决问题。清除腐败缓存npm cache clean --forcenpm install过程:npm installnpm 向 registry地址 查询压缩包的地址下载压缩包,存放本地npm的缓存路径下(~/.npm)将压缩包解压到项目

2020-06-01 15:39:41 3266

原创 Vue-Watch中获取节点——使用elementUI的table组件渲染

近一次项目中需要监听传入的Id变化,所以使用了computed和watch结合的方式来进行监听computed: { listenId: function() { return this.form.interviewId } }, watch: { listenId(val, oldVal) { } },因为涉及到表单渲染的问题,UI用的是elementUI,表单里有table表单,需要渲染多选框的问题,但是按照elementUI的ta

2020-05-29 09:11:28 1226

原创 Java线程学习记录(九)——线程异常处理

线程的未捕获异常UncaughtException应该如何处理为什么需要UncaughExceptionHandler主线程可以轻松发现异常,子线程却不行public class ExceptionInChildThread implements Runnable { public static void main(String[] args) { new Thread(new ExceptionInChildThread()).start(); for (i

2020-05-24 19:49:18 374

原创 Java线程学习记录(八)——线程属性

线程IdId从1开始,JVM运行起来之后,我们自己创建的线程ID早已不是2public class Id { public static void main(String[] args) { Thread thread = new Thread(); System.out.println("主线程的ID:" + Thread.currentThread().getId()); System.out.println("子线程的ID:" + thre.

2020-05-23 22:05:53 212

原创 Java线程学习记录(七)——join

作用: 因为新的线程加入了我们,所以我们要等他执行完再出发。用法: main等待thread1执行完毕,注意谁等谁。普通用法public class Join { public static void main(String[] args) throws InterruptedException { Thread thread1 = new Thread(new Runnable() { @Override public void

2020-05-23 16:17:37 119

原创 Java线程学习记录(六)——sleep

Sleep方法作用: 只想让线程在预期的时间执行,其他时候不要占用CPU资源,直到下一次调起的时候才去占用CPU资源。

2020-05-21 21:35:05 163

原创 SpringCloud Alibaba——Nacos服务发现(学习记录)

前几天学习了Nacos,记录一下Nacos是一个服务发现组件,也是用来管理微服务的配置引入依赖先将SpringBoot项目引入SpringCloud,在pom文件中引入<dependencyManagement> <!--整合SpringCloud--> <dependencies> <dependency> <groupId>org.springfr

2020-05-21 15:48:32 593

原创 Java线程学习记录(五)

Thread和Object类中重要方法Wait和notify的基本用法代码的执行顺序证明wait释放锁public class Wait { public static Object object = new Object(); static class Thread1 extends Thread { @Override public void run() { synchronized (object) {

2020-05-20 22:02:19 87

原创 Java线程学习记录(四)

线程的六个状态New :已创建,但未启动,还没有执行run()Runnable :从new调用了start转变为了runnable,这里的runnabled既可以代表可运行,又可以代表运行中的Blocked :当一个线程进入synchronized修饰的代码块,并且该锁已经被其他线程拿走了,这时候线程进入到了blocked,blocked的状态只针对于synchronized修饰的。Waiting :没有设置timeout的等待Timed Waiting:设置了timeout的等待Termi

2020-05-12 21:38:09 116

原创 Java线程学习记录(三)

线程停止run 方法内没有sleep或wait方法时,停止线程下面这段代码while中监听了interrupt的状态,如果不监听他是不会停止下来的。public class RightStopThreadWithoutSleep implements Runnable { public static void main(String[] args) throws InterruptedException { Thread thread = new Thread(new Rig

2020-05-12 19:57:19 122

原创 Java线程学习记录(二)

start和run方法启动线程对比public class StartAndRunMethod { public static void main(String[] args) { Runnable runnable = () -> { System.out.println(Thread.currentThread().getName()); }; runnable.run(); new Thread

2020-05-09 17:17:26 96

原创 Java线程学习记录(一)

实现多线程的两种方式实现Runnable接口继承Thread类public class RunableStyle implements Runnable{ public static void main(String[] args) { Thread thread = new Thread(new RunableStyle()); thread....

2020-05-09 16:34:06 97

原创 Vbox-Ubuntu1604搭建FastDFS

虚拟机准备,我这里是两台ubuntu1604的服务器,一台是tracker一台是storage基本环境配置在tracker的服务器上进行操作:安装语言环境sudo apt-get install build-essentialsudo apt-get install libevent-dev事先上传好的文件解压libfastcommon-1.0.42.tar.gz之后进入到该文...

2020-05-05 16:28:55 170

原创 Integer的值比较为什么推荐用equals而不是==

package com.csea;/** * @author Csea * @title * @date 2020/4/27 15:33 */public class IntegerEqual { public static void main(String[] args) { Integer a = 6; Integer b = 6; ...

2020-04-27 16:00:19 1666

空空如也

空空如也

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

TA关注的人

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