自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springboot2+shiro+ehcache

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'cacheManager' defined in class path resource [org/springframework/boot/autoconfigure/cache/EhCacheCache...

2020-03-20 11:08:30 567 1

原创 纯手工打造redis线上生产级别集群

环境配置:三台centos6.5虚拟机 172.20.10.2 172.20.10.3 172.20.10.4redis: linux版本 redis-3.2.8.tar.gzruby:ruby-2.6.5.tar.tar 因为集群的启动脚本是基于ruby语言。所以要安装ruby环境。版本不能太低。tcl: tcl8.6.1-src.tar.gz redis的make命令...

2019-12-04 16:22:48 369

转载 rocketmq双主双从异步集群搭建-转载

一.首先新建4个虚拟机192.168.1.111,192.168.1.112,192.168.1.113,192.168.1.114修改hosts文件配制nameserver(nameserver相当于zookeeper的角色)vim /etc/hosts重启服务service network restart192.168.1.111,192.168.1.112,192.168.1.113,192...

2019-10-22 16:57:43 347

原创 springboot+ehcache+redis集群

前面实现了二级缓存。接下来要实现redis集群模式。本地实现6380 6381 6382模拟三台redis节点组成的集群修改大致如下:(1)修改redis单机节点的相关配置变为集群的配置;spring.redis.cluster.nodes=127.0.0.1:6380,127.0.0.1:6381,127.0.0.1:6382spring.redis.cluster.timeou...

2019-06-15 21:56:53 542

转载 redis集群安装

转载:https://www.cnblogs.com/xymBlog/p/9300574.html搭建 Redis集群,三个主节点,三个从节点,多主节点为了分布集群,从节点是为了高可用性。1. 下载redis地址:https://github.com/MicrosoftArchive/redis/releases此次案例中使用的版本为3.0.503 Source ...

2019-06-15 14:58:14 173

原创 springboot+ehcache+redis实现性能更好的一级和二级缓存

由于目前redis是主流的缓存框架。所以我们平常在想到缓存的时候,首先想到的就是用redis作为缓存。但是redis也不是完全就没有缺点。其中一个确定就是我们用redis作为缓存服务器。缓存的内容都是存在在redis服务器上。那么我们需要查询,时候从redis中命中缓存并且取出并加载到我们的内存中使用这个过程是需要网络IO的。那么就是要有性能损耗的。而且单纯用redis作为缓存服务器则要考虑缓存穿...

2019-06-15 14:06:35 2847

原创 CenterOS安装docker操作步骤

1:$ sudo vim /etc/yum.repos.d/docker.repo## 在vim编辑器中输入以下内容后保存[dockerrepo]name=Docker Repositorybaseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/enabled=1gpgcheck=1gpgkey=...

2019-05-09 16:13:40 1509

原创 OAUTH2

keytool -genkey -keystore keystore.jks -alias tycoonclient -keyalg RSA生成密钥文件的命令!

2019-05-07 16:43:16 108

原创 关于mysql驱动版本的问题。

由于mysql版本的不同。在获取链接对象的时候总是报一个错误信息:MySQLNonTransientConnectionException: Could not create connection to database server。大概意思就是;无法获取链接对象。无法链接数据库服务器。我的情况就是:我的数据库版本是mysql-8.0.13-winx64。但是引入的mysql的驱动确实5.1...

2019-05-06 11:18:55 2348 1

原创 基于redis实现分布式锁案例

这是我的案例流程图。浏览器----->zuul--->feignclient(两个)---->service(两个实例)。由于多个服务实例。所以在并发情况下。传统的线程并发解决方案不能实现。原因:传统synychnozed锁或者lock都是基于同一个jvm内部的。因为共享变量存在方法区(线程共享区)。所以多线程间是共享该变量实现线程上下文的安全切换。达到线程安全...

2019-04-03 20:30:23 556

原创 声明式服务调用客户端FeginClient应用总结

eureka-feign-api 接口层。只负责提供接口package com.didispace.api;import org.springframework.web.bind.annotation.*;public interface HelloService { @RequestMapping(value = "/hello",method = RequestM...

2019-04-02 15:05:32 3469

原创 Condition的基本使用

Condition的基本使用可以来代替传统并发锁synchornized wait notify关键字。传统代码改造如下:任务封装类:package com.nuanshui.frms.native1.thread;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Loc...

2019-03-28 16:23:17 283

原创 java并发基础多线程学习(6)-线程池的使用

场景如下:100张票。多个线程同时执行任务去卖。买完就退出。用到的技术:线程池技术:1:Executors线程池工具类可以通过该工具类创建固定线程数量的线程池也可以构建缓存线程池。这里构建固定数量的线程池。2:CallAble接口。类似Runnable接口。可以通过该接口创建任务丢给Executors创建的线程去执行任务。该接口有两个地方是Runnable接口不具备的。(1):...

2019-03-28 16:00:31 297

原创 java并发基础多线程学习(5)-多线程间共享变量

package com.nuanshui.frms.native1.thread;/** * @author liyy * @description:多线程通信 * @date 2019-03-27 19:58 * @program frms-parent */public class MultiThreadShareData { public static void ...

2019-03-28 15:13:45 343

原创 java并发基础多线程学习(4)-线程范围内共享数据

假设一个场景:现在有一个公共变量火车票数量。多个线程同时执行操作然后去获取最后的火车票数量。那么肯定会出现数据混乱的问题:package com.nuanshui.frms.native1.thread;import java.util.Random;import java.util.concurrent.ConcurrentHashMap;/** * @author liyy...

2019-03-28 14:44:32 210

原创 java并发基础多线程学习(3)-线程同步通信技术

线程同步通信技术:多线程之间要实现数据同步。通过通信实现同步。那么怎么实现呢?看一个问题:有两个线程,子线程先执行10次,然后主线程执行5次,然后再切换到子线程执行10,再主线程执行5次……如此往返执行50次。分析:(1)两个线程 主线程和子线程 子线程执行一个任务10次。主线程执行一个任务5次。然后交替执行50次(2)两个任务,这个时候可以创建一个类封装这两个任务。(...

2019-03-28 11:44:12 141

原创 java并发基础多线程学习(2)-并发互斥技术synchronized

synchronized关键字一般称为互斥锁。在多线程并发执行情况下。如果没有加互斥锁就回出现各种问题。如下面的问题:现在有两个字符串 duoxiancheng 和 esondf15.那么我想让两个线程交替去打印字符串打印的时候一个字符一个字符的打印,那么看会有什么问题?1:定义打印字符串的方法:publid void print(String str){ for(i...

2019-03-28 11:29:54 474

原创 java并发基础多线程学习(1)-线程创建两种方式

一:创建线程的两种方式:(1)Thread thread1 = new Thread(){ public void run(){ try { Thread.sleep(1000); } catch (InterruptedException e) { ...

2019-03-28 10:38:51 123

原创 springboot集成shiro实现用户权限认证和sh

shiro是apache下的一个开源的权限认证框架。相对于spring security来说是一个轻量级的安全认证组件。今天用shiro讲原来的权限认证给替换掉。总结一下如下:第一步肯定是要引入shiro的相关依赖的:<!-- shiro --><dependency> <groupId>org.apache.shiro</groupId...

2019-03-15 19:55:48 372

转载 解决mysql8.0.13首次不知道密码无法登陆问题

mysql 8.0.13 zip安装,初始配置,修改密码1. 通过下载zip安装包来安装mysql2.  添加配置文件3.  启动数据库4.  修改密码安装过程发现遇到好几个坑,查了一下说8以上版本与之前的有所不同。1. 通过下载zip安装包来安装mysql直接在mysql官网找到想要的版本,下载对应的zip。下载有点慢需要等待。完了之后解压文件,并把这个文件放在你想放的位置。比如“D:\s...

2019-01-19 17:15:11 2136

原创 windows安装mysql过程和遇到的问题

首先到mysql官网https://dev.mysql.com/downloads/mysql/,申请注册oracle用户名和密码。下载安装包。最新版的8.0.13免安装。1:以管理员身份打开cmd窗口2:cd 到bin目录。执行net start mysql,有如下报错信息:xxxxx没有服务,服务找不到之类的 3: 表示没有安装mysql。执行mysqld --instal...

2019-01-19 16:45:02 184

转载 centeros7防火墙常用命令总结

1、firewalld的基本使用启动: systemctl start firewalld关闭: systemctl stop firewalld查看状态: systemctl status firewalld 开机禁用  : systemctl disable firewalld开机启用  : systemctl enable firewalld  2.syste...

2019-01-11 17:21:04 1798

原创 redis主从复制读写分离总结

配置redis主从分离的步骤总结如下:1:复制三份配置文件redis.conf.分别命名为:reids6379.conf   redis6380.conf   redis 6381.conf2:修改redis6379.conf(1)port 6379(2)pidfile /var/run/redis_6379.pid(3)logfile "redis6379.log"(4)...

2019-01-10 16:22:46 196

原创 微服务监控跟踪组件sleuth集成ELK

分布式系统如果服务数量很多的情况下,对微服务的监控和日志查询将会是一件很困难的事情。那么springcloud提供了一个分布式的服务跟踪组件:<!--服务跟踪组件--><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring...

2019-01-03 17:59:01 926

原创 springcloud集成hystrix实现服务降级的大致路由以及配置详解

hystrix的回退机制大概如下图所示:1:测试hystrix熔断配置:#设置断路器的状态是false ConfigurationManager.getConfigInstance().setProperty("hystrix.command.default.circuitBreaker.forceOpen","false");#设置触发断路器开关的时间:10s C...

2018-12-07 13:53:00 550

原创 springboot自定义健康检测器

分布式服务注册中心eureka。单应用注册到eureka时候。会展示列表的应用状态。如下图:正常情况下。会显示UP。表明当前应用是正常启动状态。但是在实际场景中。可能该应用是正常的。但是数据库服务器已经不能正常对外提供服务。导致该应用对外也是不可用的。这个时候eureka是无法将应用状态修改为DOWN.也就无法将应用剔除。这个时候我们可以自定义应用健康监测器。对应用进行自检。如果应用对用的...

2018-12-06 14:10:14 1730

原创 zuul动态路由集成hystrix实现熔断保护并集成feign实现声明式服务调用

上一篇中。将userService提供服务的返回时间延迟4000ms。导致feign在调用时候出发熔断。直接返回fallback回调。这一篇中加入zuul实现动态路由功能。并加入ZuulFilter的前置过滤功能。zuul集成hystrix默认在早期版本是打开的。但在后期版本就关闭了自动打开功能,需要手动配置打开。这一点需要注意测试代码如下:1:引入相关的依赖:<dep...

2018-12-04 14:07:29 3138 3

原创 Fegin集成Hystrix实现声明式服务调用及服务熔断降级

1:fegin集成了Hystrix。所以只需要引入feigin的依赖:<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-feign</artifactId> </dependenc...

2018-12-03 18:29:58 779

原创 springcloud对于eureka对注册服务的剔除机制及hystrix集成ribbon实现熔断降级

eureka对注册在eureka服务平台的服务实例,默认是有自我保护机制的。也就是说对实际上已经不能对外提供服务的应用,不进行剔除,那么在实际的应用中,我们要及时剔除掉不能对外进行提供服务的应用,并进行及时修复重新让其能提供对外服务。这个时候需要eureka开启相关的健康检查配置,对于非健康的服务实例。及时下线。那么相关的配置已经经过测试配置如下:1:需要引入springboot的健康检查依赖...

2018-12-03 16:00:30 1269

原创 简单工厂设计模式的小case.

工厂设计模式是23中GOF设计模式中最常用的的一个设计模式。spring架构中也有很多接口的设计用到此种设计模式:今天就总结一下这个设计模式并手写一个小案例:图形画的那叫一个丑。帮助理解。意思意思。FactoryProvier:提供一个静态方法,接受一个EnumFactoryType的参数,返回具体的工厂实例。代码如下:package top.lrshuai.helloword....

2018-11-19 11:08:39 174

原创 springboot自动以filter,interceptor,listener实现自定义过滤、拦截、监听

 1:自定义拦截器(1)实现Filter接口(2)添加注解WebFilter,指定要过滤的路径、指定filer的名字、指定初始化参数 (3)添加@ServletComponentScan注解开启扫描servlet组件package top.lrshuai.fli.filter;import java.io.IOException;import javax.servle...

2018-11-17 16:27:07 417

原创 sprintboot集成邮件管理功能

代码其实非常简单。只需要简单的配置就可以实现发送发邮件的功能。1:添加依赖配置:<!--发送邮件--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifac...

2018-11-17 14:06:21 316

原创 springboot集成mybastis插件自动生成代码

pom.xml配置:<build> <plugins> <!--mybatis自动生成代码插件--> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId&g

2018-11-02 20:27:40 361

原创 mysql远程可以链接,但是客户端链接不了的原因

今天遇到一个问题,mysql远程可以链接。但是用navicat客户端在链接的时候一直报错:access denied for user **@**”错误。大概意思就是没有权限。这个时候执行如下命令即可解决问题:mysql 安装好了,服务器登录都正常,在电脑输入正常账号密码登录连接时报错如下,意思是本地IP没有登录权限,root用户默认只能在localhost也就是只能在服务器登录,需要设置...

2018-10-24 11:11:31 1286 1

原创 git学习之分支的创建、切换、合并

场景:1:项目经理在github上面创建master分支。并在本地创建本地库、编写代码、add 、commit、push推送到master分支。这个分支的代码可以看做是架构师的基础框架代码,项目开始是不允许直接在master分支进行编码的。一般情况下。项目经理会在github上面在建一个分支命名为dev分支。2:项目经理将本地代码同样推送到dev分支。然后程序员从dev分支把代码down到...

2018-10-22 16:17:08 190

原创 idea界面化集成git创建初始化本地库并提交远程库

准备工作:1:github或者码云创建自己的远程的仓库:https://github.com/*******/huashan.git2:idea创建本地maven项目:3:创建本地仓库,4:指定仓库的地址:https://github.com/******/huashan.git5:可以正常的add项目、commit 到本地库、push到远程库,我的报了一个错误:错误信...

2018-10-22 12:25:23 260

原创 java8的新特性之-----日期格式化的线程安全问题

SimpleDateFormat是线程非安全的。那么在多线程中,就会出现错误的结果如下代码:public static void main(String[] args){ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); Callable<Date> callable = new C...

2018-10-16 15:22:26 4268

原创 快速入門JVM

请谈谈你对JVM的理解?java8的虚拟机有什么更新?什么是OOM?什么是StackOverflowError?有哪些方法分析?JVM的常用参数调优你知道哪些?内存快照抓取和MAT分析DUMP文件知道吗?谈谈JVM中,对类加载器你的认识?JVM(java虚拟机),java虚拟机是运行在操作系统层面的。下图是jvm的体系结构:类加载器------->class文...

2018-10-12 18:41:09 144

原创 DWR框架的初次使用及经验总结

DWR的宣传语是 “ Easy Ajax For Java”。需求是这样的--后端定时接受服务器发送过来的信息。并把信息每隔五秒推送一次到前端实现页面局部刷新功能!AJAX可是实现前端异步发送请求到后端,拿取数据,并实现页面局部刷新的功能!Ajax有一个很大的缺陷就是“无法满足传统桌面系统的需求——服务器端需要向客户端主动发送消息”。服务端推送技术的应用场景有很多!DWR框架技术可...

2018-10-11 11:37:22 412

原创 温习linux的常用命令

linux的命令非常多,但是常用的也就那么多。那么今天温习一下常用的命令。NO1: uname -a 查看linux的型号NO2:hostname 查看当前机器的主机名NO3:cat /proc/cpuinfo 查看cpu的个数。以及每个cpu的内核数量四颗CPU 总共八核NO4:free -m 以兆显示内存信息total:15G userd:...

2018-09-13 15:15:05 148

空空如也

空空如也

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

TA关注的人

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