- 博客(183)
- 资源 (17)
- 收藏
- 关注
原创 springcloud-nacos-seata 实现分布式事务
分布式事务组件seata的使用demo,AT模式,集成nacos、springboot、springcloud、mybatis-plus,数据库采用mysql;ps:github代码:transaction_example1. 服务端配置1.1 Nacos-server启动命令(standalone代表着单机模式运行,非集群模式):cd binsh startup.sh ...
2020-07-01 14:57:08 17658 6
原创 Elastic-Job (四)Elastic-Job+Spring Boot 实现订单取消
附:可以参考:Elastic-Job (一)实现Simple作业对于Script类型作业,官方文档给的解释是:Script类型作业: Script类型作业意为脚本类型作业,支持shell,python,perl等所有类型脚本。只需通过控制台或代码配置scriptCommandLine即可,无需编码。执行脚本路径可包含参数,参数传递完毕后,作业框架会自动追加最后一个参数为作业运行时...
2020-06-26 13:44:52 967
原创 Linux CentOS7.5搭建高可用Hadoop分布式集群环境
1.Linux环境准备1.1 关闭防火墙(三台虚拟机均修改)firewall-cmd --state #查看防火墙状态 systemctl start firewalld.service #开启防火墙 systemctl stop firewalld.service #关闭防火墙 systemctl disable firewalld.service #禁止开机启动防火墙1.2 配置静态IP地址(三台虚拟机均修改)附:虚拟机Linux配置静态ip[roo
2020-06-11 21:55:15 1434 2
原创 Linux centos7.5 编译hadoop源码
为什么要编译hadoop? 由于Apache给出的hadoop的安装包没有提供带c程序访问的接口,所以我们在使用本地库(本地库可以用来做压缩,以及支持c程序等等)的时候就会出现问题,需要对hadoop源码包重新编译。1、linux准备环境1.1 关闭防火墙(学习使用)[root@localhost ~]# systemctl status firewalld[root@localhost ~]# systemctl stop firewalld[root@local...
2020-06-10 12:49:18 569
原创 通过canal将mysql中数据同步到elasticsearch
环境:mysql 5.7,elasticsearch 7.4.2,canal.deployer-1.1.5这里我要做的是通过canal将MySQL中修改的数据同步到elasticsearch当中。一、MySQL配置1.1 修改MySQL的配置文件[root@localhost local]# vim /etc/my.cnf[root@localhost local]# systemctl restart mysqldmy.cnf: (新增部分)附:MySQL官方文档#开启.
2020-05-24 00:33:16 3707
原创 Docker 安装elasticsearch、kibana
1、下载镜像文件(elasticsearch:7.4.2、 kibana:7.4.2)[root@localhost ~]# docker pull elasticsearch:7.4.2Trying to pull repository docker.io/library/elasticsearch ...7.4.2: Pulling from docker.io/library/elas...
2020-05-08 10:35:01 1115 3
原创 Elastic-Job (三)SpringBoot整合Simple作业
项目结构:ZookeeperProperties :读取application.yml中的自定义配置package com.lucifer.study.autoconfig;import lombok.Data;import org.springframework.boot.context.properties.ConfigurationProperties;/** *...
2020-05-05 18:13:11 1944
原创 Elastic-Job (二)实现Dataflow作业
附:可以参考:Elastic-Job (一)实现Simple作业对于Dataflow类型作业,官方文档给的解释是:可通过DataflowJobConfiguration配置是否流式处理。 流式处理数据只有fetchData方法的返回值为null或集合长度为空时,作业才停止抓取,否则作业将一直运行下去; 非流式处理数据则只会在每次作业执行过程中执行一次fetchData方法和process...
2020-05-04 23:26:54 1512
原创 【Sharding-JDBC】(六)实现数据脱敏
使用sharding-jdbc实现数据脱敏,比如用户表中的password字段,日常开发都会进行数据脱敏,对其进行加密。项目结构:pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:/...
2020-05-02 23:39:00 2375
原创 【RocketMQ】(五)利用Redssion分布式锁和RocketMQ消息的最终一致性 实现并发场景下单扣减库存
一、项目结构:1、 父工程pom.xml:(父工程只有一个pom.xml)<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-i...
2020-04-21 19:48:58 1918 1
原创 【RocketMQ】(四)解决分布式事务-RocketMQ实现可靠消息最终一致性
RocketMQ实现可靠消息最终一致性的原理图:一、项目结构: rocketmq-transaction工程分为三个子模块,base-framework-mysql-support模块(作为基础模块,被其它服务模块引用)存放数据库相关jar包和配置类,order-service模块是订单微服务,storage-service是库存微服务模块;<?...
2020-04-15 16:52:18 1769 1
原创 使用Logstash将MySQL数据同步到Elasticsearch
附:logstash官网下载地址1.准备环境jdk8;Logstash-7.4.2;Elasticsearch-7.4.2.2、1.解压Logstash压缩包,并在Logstash文件夹中创建sync文件夹。2.创建logstash-db-sync.conf,foodie-items.sql空文件。3.配置logstash-db-sync.conf:同步配置lo...
2020-03-10 15:12:29 726
原创 【Sharding-JDBC】 (五)整合mybatis-plus 解决分布式事务(基于XA)
官网解释:功能支持数据分片后的跨库XA事务 两阶段提交保证操作的原子性和数据的强一致性 服务宕机重启后,提交/回滚中的事务可自动恢复 SPI机制整合主流的XA事务管理器,默认Atomikos,可以选择使用Narayana和Bitronix 同时支持XA和非XA的连接池 提供spring-boot和namespace的接入端不支持项服务宕机后,在其它机器上恢复提交/回滚中的数...
2020-01-19 11:10:14 4526 11
原创 Spring Boot整合EasyExcel导入导出
1、所需部分jar包: <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>1.1.2-beat1</version></dependency&g...
2019-11-09 00:53:19 4411 3
原创 springboot 接口加签验签常见的几大问题及解决方案
springboot接口验签遇到的常见的几种问题以及解决办法: 1、request.getInputStream()不能重复读取 2、验签接口对body也参与加密,但是文件上传接口,相同参数每次产生的签名不一样 3、用request包装对象后,接口的MultipartFile参数 读取为空,但过滤器中可以读取到是有值的
2022-10-14 22:45:07 2660 1
原创 springboot过滤器转发请求到其它服务,并响应前端
通过调用 A服务,经过过滤器拦截,将请求转发到B服务,并将B服务的文件流,拿到后,响应给前端,并实现浏览器自动下载。
2022-09-22 23:22:33 4390 1
原创 Java 生成订单号(唯一id)方案
1、直接使用uuidpublic static String getUUID() { String replaceUUID = UUID.randomUUID().toString().replace("-", ""); return replaceUUID; } 2、原本使用uuid+时间戳 /** * UUID+时间戳 ...
2020-12-26 16:08:48 38888 9
原创 Google Guava 实战之字符串处理篇
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>27.0.1-jre</version> </dependency> <dependency> <groupId>org.projectlombok</grou..
2020-05-28 15:42:47 1209
原创 Google Guava 实战之Lists篇
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>27.0.1-jre</version> </dependency> <dependency> <groupId>org.projectlombok</grou..
2020-05-27 10:51:34 2134
原创 Google Guava 实战之Maps篇
Guava是一种基于开源的Java库,谷歌很多项目使用它的很多核心库。这个库是为了方便编码,并减少编码错误。 <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>27.0.1-jre</version> </dependency> <depe.
2020-05-26 16:59:36 4884 1
原创 spring boot 对请求进行全局异常处理
个人认为:如果不使用全局异常处理的话,那么会有很多异常都需要使用try catch进行捕获,重复代码增加,增加代码的恶心程度。controller层代码:@RestController@RequestMapping(value = "/user")public class UserController { @Resource private UserService userService; @GetMapping(value = "get") pu.
2020-05-23 14:45:41 632
原创 Elastic-Job (一)实现Simple作业
项目结构:elastic-job配置:package com.lucifer.config;import com.dangdang.ddframe.job.config.JobCoreConfiguration;import com.dangdang.ddframe.job.config.JobTypeConfiguration;import com.dangdang.dd...
2020-05-04 20:50:27 1176 1
原创 intellij idea 忽略文件
使用git做为版本控制,项目中太多的文件,对于开发者来说用不到,而且看起来也烦,所以可以将它们忽略掉。这里在父工程中的.ignore文件(如果父工程中没有,可以在子模块中拷贝一份.ignore文件即可)中加入忽略的路径:在原有基础上加入:### 忽略文件**/mvnw**/mvnw.cmd**/.mvn**/target/.idea**/.gitignore...
2020-05-01 17:30:08 1309
原创 java8 CompletableFuture异步编程
1、创建异步对象CompletableFuture提供了4个静态方法来创建一个异步操作:public static CompletableFuture<Void> runAsync(Runnable runnable)public static CompletableFuture<Void> runAsync(Runnable runnable, Exec...
2020-04-22 18:44:50 1200
原创 MySQL的隔离级别
1、 读未提交: mysql数据库此时有一张表数据为:id=1,name="张三"; 事务B 将id=1的数据,name改成了"李四",但是事务并没有提交;但是事务A却可以读取到mysql中id=1的数据name="李四";2、读已提交:(不可重复读)事务B将id=1,name改为"李四",此时未提交事务;事务A第一次查询,查询到id=1的name="张三";此时...
2020-04-22 00:14:02 298
原创 Java设计模式-策略模式
策略模式: 策略模式定义了一系列的算法,并且将每个算法封装起来,而且可以使他们之间可以想换替换,让算法独立于使用它的客户而独立变化。案例分析: 假如在某电商软件中,有普通用户、VIP用户、SVIP用户.....,而不同等级的用户,对同一件商品的打折力度不同,这时候在代码中怎么使用策略模式去实现:1、不使用设计模式,用if...else if...去实现...
2020-04-21 00:02:40 217
原创 【RocketMQ】(一) 简单消息(可靠的同步,可靠的异步和单向传输)
本篇文章将使用RocketMQ以三种方式发送消息:可靠的同步,可靠的异步和单向传输。并介绍下负载均衡模式与广播模式的区别:(1)同步发送消息: 在重要的通知消息,SMS通知,SMS营销系统等广泛的场景中使用可靠的同步传输。生产者代码:/** * 发送同步消息 * 这种可靠性同步地发送方式使用的比较广泛,比如:重要的消息通知,短信通知。...
2020-04-14 17:19:19 823
原创 【RocketMQ】 (三)定时消息
定时消息: 是指消息发到 Broker 后,不能立刻被Consumer 消费,要到特定的时间点或者等待特定的时间后才能被消费。 如果要支持任意的时间精度,在 Broker 层面,必须要做消息排序,如果再涉及到持久化,那么消息排序要不可避免的产生巨大性能开销。 RocketMQ 支持定时消息,但是不支持任意时间精度,支持特定的 level,例如定时1s 5s 1...
2020-04-14 16:38:51 1148
原创 【RocketMQ】(二) 顺序消息
消息有序: 指的是可以按照消息的发送顺序来消费(FIFO)。RocketMQ可以严格的保证消息有序,可以分为分区有序或者全局有序。顺序消费的原理解析: 在默认的情况下消息发送会采取Round Robin轮询方式把消息发送到不同的queue(分区队列);而消费消息的时候从多个queue上拉取消息,这种情况发送和消费是不能保证顺序。 如...
2020-04-14 16:08:25 559
原创 mysql 练习题(持续更新中)
表名与字段名:–1.学生表Student(s_id,s_name,s_birth,s_sex) –学生编号,学生姓名, 出生年月,学生性别–2.课程表Course(c_id,c_name,t_id) – –课程编号, 课程名称, 教师编号–3.教师表Teacher(t_id,t_name) –教师编号,教师姓名–4.成绩表Score(s_id,c_id,s_sc...
2020-04-08 14:49:53 793
原创 kafka集群搭建
附: (1)Linux Centos7.5 三台虚拟机真实搭建Zookeeper集群 (2)Linux Centos7.5 安装配置Oracle jdk1.8ps:jdk版本不要过低。我使用的是/kafka_2.13-2.4.1,linux centos7.5,jdk1.8.0_2411、下载附:http://kafka.apache.org/...
2020-03-24 22:53:54 424
原创 Redis5集群搭建
1、 环境信息 centos7,redis5;服务器(节点) A B 192.168.160.130 6379 6380 192.168.160.133 6379 6380 192.168.160.134 6379 6380 三台虚拟机192.168.160.130,192.168.160.1...
2020-03-22 20:09:16 303
原创 IntelliJ IDEA 远程调试
1.添加Remote:2.服务器运行项目 2.1 jar包 java -jar 启动ps: 服务器出现 Listening for transport dt_socket at address: 5005; 本地debug启动项目,控制台出现Connected to the target VM, address: '192.168.160...
2020-03-22 11:44:19 1314
原创 springboot本地启动,访问路径正常,外部tomcat运行,接口访问404
1、案例介绍: 1.1结构: 1.2 pom.xml: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> ...
2020-03-21 20:13:44 5786
原创 用git bash替换原有terminal
在IDEA最下面会发现terminal:如果还没有看见,可以通过 view--->tool windows--->terminal 显示出terminal选项卡。此时,terminal默认是cmd,因此不能执行linux中的命令,对于程序员并不是很友好:通过快捷键Ctrl+Alt+S,调出setting弹框。在Tools--->terminal看出:...
2020-03-21 16:48:15 508
原创 SonarQube的安装与使用
ps: SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误.1、准备环境Centos7.5, jdk8,mysql 5.6-5.7, sonarqube-7.8请先确保linux已经安装了jdk8,并且已经配置好了环境变量;以下是我的虚拟机环境:(ps:jdk、mysql已装好)[root@localhost ~]# mysq...
2020-03-12 15:42:04 617
原创 springboot整合Elasticsearch 入门实战
附:Elasticsearch 环境搭建,可参考:Linux Centos7.5 安装elasticsearch(单机/集群)1.demo结构:2.pom.xml<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-...
2020-03-09 18:01:16 447
原创 Linux Centos7.5 安装elasticsearch(单机/集群)
一:所需软件ps:1.需要依赖jdk环境(可以参考:Linux Centos7.5 安装配置Oracle jdk1.8)。当前Linux是centos7.5版本;2.如果是linux centos6.+可以参考:Linux centos6.8 安装配置elasticsearch6.3.2 【单机】(一),Linux centos6.8 安装配置elasticsearch6.3.2...
2020-03-08 18:19:21 877
canal.deployer-1.1.5-SNAPSHOT.tar.gz
2020-04-02
jdk1.8 linux版本
2019-11-25
nacos-server-1.1.0.tar.gz
2019-08-06
Linux Centos7.5 安装FastDFS所需软件
2018-11-21
Linux安装FastDFS所需软件
2018-11-09
乐优商城完整19天不加密
2018-10-26
fastdfs-client-1.26.3
2018-10-09
基于RBAC分布式Spring Security、Apache Shiro权限管理系统
2018-09-24
传智黑马web39期
2018-09-24
传智 springboot+shiro整合 权限管理实战
2018-09-07
MongoDB实战
2018-06-05
MongoDB权威指南(中文版)
2018-06-05
Nginx高性能Web服务器详解
2018-06-05
springboot实战pdf书籍
2018-06-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人