自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ActiveMQ延时队列,一起来抢火车票

场景:小明过年买火车票回家,费尽千辛万苦抢到一张火车票,于是,他开心地从轮椅上站了起来。万事具备,只欠东风,只要小明付款,火车票就到手了。然而,小明因为太高兴了,仰天长笑30分钟,订单失效了。因为订单在30分钟内如果没有进行支付的话,就会失效。那么这种订单失效是如何实现的呢?我们把订单看作是一个消息,它当然也会存放在一个消息队列中,但是这种消息会有些不一样,它是隔一定的时间才会放入消息队列中,比如订单就隔了30分钟然后进入队列,然后消费者(服务器)从消息队列中读取消息,并且删除消息,所以订单在30分钟之

2022-02-17 21:07:05 202

原创 开发中经常用到的git救场方式,有它就够了

首先来看一次很顺利的提交git add . # 注意有一个符号.git commit -m "我干了些xxx" # 提交代码git push # 推送到远程分支但是在实际开发中,不可能会一帆风顺,总会遇到一些冲突,就像人生。我们开发一般有开发环境dev,准生产环境staging,生产环境prod,对应的分支有dev,release,master。所有分支都以master分支为主,master必须保持纯净,不能被污染(即保证一些不必要的代码合到master中,比如还未上线的代码),否则会影响生

2022-02-08 15:13:05 595

原创 git的相关命令(文件管理)

git操作文件的命令和linux的命令是一样的,Linux如何操文件,git就如何操作:创建一个版本库什么是版本库呢?版本库又叫做仓库,可以把它看成是一个目录,在这个目录中,在这个目录中所有的文件都可以有git管理,跟踪文件修改,删除,并记录了提交过的版本,可以随时回退到原来的版本。创建方法:新建一个文件夹,运行git init命令初始化一个版本库1. 添加文件向版本库中添加文件的方...

2022-02-08 14:25:09 495

原创 git简介

1. 概述什么是git?git是目前世界上最先进的分布式版本控制系统,没有之一git网站:https://github.com/ 全球最大的开源项目网站。https://gitee.com/ 中国最大的开源项目网站。2. git 的起源很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。Linus虽然创建了Lin...

2022-02-08 14:24:20 312

原创 git创建与合并分支

使用git时,每次提交一次都会生成一个版本,git把它们串成一条时间线,这条时间线就是分支。从前面所使用分支到现在,只使用了一条分支,这条分支称为主分支,即master分支。master是指向提交的,HEAD是指向当前的分支;master分支是一条时间线,当HEAD指向了master时,确定了当前分支,并且确定了提交点每提交一次master都会前进一步,所以,提交的次数越多时间线也就越长;...

2022-02-08 14:23:29 1441

原创 Jenkins部署vue项目详细步骤

上文讲了如何创建一台虚拟机,并配置项目自动部署所需要的环境,实现了Jenkins自动化部署一个后端springboot项目。本文将会介绍部署前端vue项目

2022-02-08 10:54:14 8395

原创 从创建服务器到搭建一台内网穿透服务器

如何创建一台内网穿透服务器,并在这台服务器上部署项目

2022-01-30 15:32:01 5748 1

原创 idea启动时不自动进入应用的设置方法

将红框中的勾去调,下次启动时将不会自动进入应用

2020-01-17 11:33:28 848

原创 JWT的登出

场景: 用户在登录系统后,想要登出这个系统;JWT有一个过期时间,但是token还没有失效,应该怎么实现JWT的登出呢?使用zuul+redis的方案来实现第三方应用向网关发送请求获取token网关把请求发送给授权服务器授权服务器把token发给zuulzuul把token发送给第三方应用,并且把token存放在redis中第三方应用再次访问资源服务器,此次携带了token,...

2019-10-22 00:05:05 3267 2

原创 RabbitMQ延时消息,让消息飞一会儿

消息也能延时发送

2019-10-21 00:25:27 347

原创 redis简介

redis是一个非关系型数据库,它是将数据存储在内存中的数据库redis是通过键值对的方式进行存储的redis有五种数据类型,分别是:String类型、List类型、hash类型、set类型和zset类型其中经常用的有:String类型、hash类型、set类型它有两种持久化的方式:分别是RDB和AOFRDB是达到在一定的时间间隔内修改了一定量的数据的条件便存储在硬盘一次。当redis宕...

2019-10-19 11:10:06 99

原创 dubbo的启动时检查

Dubbo缺省(dubbo的协议)在启动时会检查依赖的服务是否可用,不可用时会抛出异常,阻止Spring的初始化完成,以便上线是能及早发现问题,默认check=“true”可以通过check=“false”关闭检查,比如测试时,有些服务不关心,或者出现了循环依赖,必须有一方先启动。...

2019-10-19 11:09:19 180

原创 Spring Cloud Zuul 网关

新建springboot项目添加依赖client、zuul在启动类上 添加注解@EnableZuulProxy修改配置文件 application.ymlserver: port: 80spring: application: name: gateway-servereureka: client: service-url: defa...

2019-10-18 23:05:23 270

原创 Eureka

Eureka是一个注册中心,它用于微服务;Zookeeper也是一个注册中心,这两个注册中心的区别c:数据的一致性:注册中心的集群数据是一致的zookeeper集群的数据是一致的a:服务的可用性p:分区的容错性(在集群里面的集群,因为网络原因,机房的原因,可能导致数据不会里面同步),它在分布式 必须需要实现的特性!zookeeper强调数据的一致性,和分区的容错性,cpEureka强...

2019-10-14 22:08:07 227

原创 ActiveMQ延时队列,一起来抢火车票

场景:小明过年买火车票回家,费尽千辛万苦抢到一张火车票,他开心地从轮椅上站了起来。万事具备,只欠东风,只要小明付款,火车票就到手了。然而,小明因为太高兴了,仰天长笑30分钟,订单失效了。因为订单在30分钟内如果没有进行支付的话,就会失效。那么这种订单失效是如何实现的呢?我们把订单看作是一个消息,它当然也会存放在一个消息队列中,但是这种消息会有些不一样,它是隔一定的时间才会放入消息队列中,比如订...

2019-09-17 21:30:03 2354 2

原创 Redis的删除策略,删除我是认真的

定时删除,每一个key都设置过期时间,每个key都用一个线程跟踪,当这个key过了过期时间,该线程就将这个key删除;但是当key的数量很大时,就会有很多线程,CPU的占用量会非常大public class DeletePolicy1 { // 模拟redis private static Map<String,String> redis = new HashMap&lt...

2019-09-17 20:07:14 3027

原创 RPC,其实也很简单

这里创建了请求对象和响应对象,来模拟考试作弊的过程。Request是对问题的封装,小明在把问题发给室友时应该告诉室友题目,参数,以及范围,对应的Request应该有参数、解题方法、解题的接口;小明的室友接收到小明的问题,会根据它发过来的问题的相关信息进行解答,并把答案封装在Response中,Response是对答案的封装,所以Response对应的应有答案属性以及是否会解得信息;Resque...

2019-09-07 00:22:15 263

原创 dubbo的超时处理及重试原则

当消费者请求一个服务时出现错误,会重试连接其他的服务器,但重试会带来更多的延迟。重试次数可以使用retries=重试次数来设置。1. 注解配置如下在提供者中,reties的值设置在@Service中在消费者中,reties的值设置在@Reference中消费者的配置@Servicepublic class OrderServiceImpl implements OrderServi...

2019-09-05 10:08:09 5550

原创 (二)docker命令(容器)

什么是容器容器与镜像的关系将相当于Java中对象与类的关系,对象是类new出来的,容器是镜像run出来的,镜像每run一次,就产生一个容器。Docker容器是一个开源的应用容器引擎,让开发者可以打包他们的应用以依赖的包到一个可移植的容器中,然后发布到任何的Linux机器上,也可以实现虚拟化。它是一个轻量级独立可执行的软件包,包含运行它所需的一切:代码,运行时,系统工具,系统库,设置。容器是完全...

2019-08-30 21:07:40 290

原创 (八)jar包镜像的构建以及war包镜像的构建

1. jar包的构建2. war包的构建

2019-08-30 20:53:20 1884

原创 com.mysql.jdbc.Driver与com.mysql.cj.jdbc.Driver的区别

com.mysql.jdbc.Driver 是mybatis-connection-java 5 及 5 以下的com.mysql.cj.jdbc.Driver是mybatis-connection-Java 6 及以上的mybatis-connection-java 5 及 5 以下的jdbc的配置方式:driverClassName=com.mysql.jdbc.Driverurl=j...

2019-08-30 16:35:38 9825 1

原创 配置文件redis.conf讲解,很详细

参数说明redis.conf 配置项说明如下:Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程daemonize no当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定pidfile /var/run/redis.pid指定Redis监听端口,默认端口为637...

2019-08-28 20:21:16 1712

原创 (三)docker数据容器卷

数据容器卷的概念docker的使用流程,运行docker镜象,创建docker容器,运行伴随着容器,运行时产生的一些数据也将存储在docker容器中欧。我们希望数据能够永久地保存下来,容器之间能够实行数据共享;但是Docker产生的数据,如果不构建成新的镜像,一旦把容器删除了,数据就不复存在了。为了实现docker数据的持久化,可以使用数据容器卷。数据容器卷的作用存储Docker容器...

2019-08-27 23:49:43 324

原创 redis简介

Redis Ping 命令使用客户端向 Redis 服务器发送一个 PING ,如果服务器运作正常的话,会返回一个 PONG 。通常用于测试与服务器的连接是否仍然生效,或者用于测量延迟值。...

2019-08-27 16:30:13 85

原创 Redis的五种数据类型(String类型)

字符串类型的介绍字符串类型是Redis的最基本,使用最多的数据类型,Redis中所有键都必须是字符串。它的值其实也是字符串字符串类型实际上可以是字符串(简单的字符串、复杂的字符串(xml、json)、数字(整数、浮点数)、二进制(图片、音频、视频)),但最大不能超过512M。字符串类型键值对存储形式使用场景缓存功能:这是字符串类型最经典的应用,用户访问数据库获取信息,可能访问的是一...

2019-08-27 15:48:07 1203

原创 Redis的常用命令

关于命令的学习查询看这个网站http://www.redis.net.cn/order/或者:http://redisdoc.com/keys * 获取所有的keyselect 0 选择第一个库move myString 1 将当前的数据库key移动到某个数据库,目标库有,则不能移动flushdb 清除指定库randomkey 从当前数据库中随机返回type key 类型del ...

2019-08-27 15:21:05 112

原创 虚拟机centos7执行ip addr命令看不到ip地址

进入ect/sysconfig/network-scripts目录在文件路径下找到ifcfg-ens33文件然后进行修改将ONBOOT的值改为yes,ONBOOT的意思是,开机时是否启动。重启网络服务,service netword restart,再重新查看ip地址,ip地址就可以看到了...

2019-08-27 10:31:47 3850

原创 (九)docker的一些常用安装

mysql的安装拉取mysql5.7运行mysql,记住要设密码不设密码的结果不设置密码会提示设置一个密码,这是因为mysql镜像一启动中在加设置用户名和密码;设置密码打开Navicat...

2019-08-27 00:11:00 135

原创 (七)自定义Tomcat镜像

这里在centos镜像的基础上追加Tomcat,centos上没有jdk,所以要先在centos上追加jdk,然后再jdk的基础上追加Tomcat1. 导入jdk和Tomcat的jar包创建mytomcat文件夹打开xftp,将jdk和tomcat的压缩包导入文件夹中2. 编写Dockerfile文件新建Dockerfile文件编写Dockerfile文件#基于cent...

2019-08-26 22:47:09 817

原创 (六)CMD与ENTRYPOINT的区别

1. CMD说明Dockerfile 中可以有多个CMD的命令,但只有最后一个生效,CMD会被docker run之后的参数替换掉,这里使用tomcat的案例演示查看tomcat的Dockerfile,tomcat就使用了CMD命令,最后执行了catalina.sh命令,即./bin/catalina.sh命令,脚本catalina.sh用于启动和关闭tomcat服务器,是最关键的脚本,另外的...

2019-08-26 22:12:46 477

原创 (五)自定义mycentos镜像

为了编辑页面的美观,可以安装一个vim编辑器,安装方法:执行命令:yum -y install vim为了进入容器后可以查看网络配置ifconfig支持,需安装网络工具,安装方法:执行命令:yum -y install net-tools创建Dockerfile文件,并编辑构建镜像语句格式:docker build -t 镜像名:镜像的版本号 .,注意,最后那个点不能少查看镜...

2019-08-26 21:45:30 332

原创 (四)Dockerfile基础知识

1. 什么是DockerfileDockerfile是构建Docker镜像的构建文件,是一系列的命令和参数的脚本。通过配置Dockerfile文件中可以将一个项目构建成一个Docker镜像,我们就可以自己来合成自定义的Dock镜像了。Dockerfile的构键步骤:编写Dockerfile文件,注意,这个文件名字一般取Dockerfile,如果取其他名字需要用 -f 修改后的名称 . do...

2019-08-26 21:18:23 247

原创 (一)docker命令(镜像+帮助)

docker version 查看docker版本docker info 显示全系统信息docker --help 显示docker相关的所有命令及功能说明docker images 查看本机的镜像RESPOSITORY:镜像的仓库来源TAG:镜像的标签IMAGE ID:镜像的idCREATED:镜像的创建时间SIZE:镜像的大小docker search 镜像搜索命令d...

2019-08-24 20:00:37 282

原创 (三)Linux命令( 用户、权限管理)

概述1,用户是Unix/Linux系统工作中重要的一环,用户管理包括用户与组账号的管理。2,在Unix/Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限。3,Unix/Linux系统中的root账号通常用于系统的维护和管理,它对Unix/Linux操作系统的所有部分具有不受限制的访问权限。4,在Unix/Linux安装的过...

2019-08-19 22:47:53 1510

原创 (二)Linux命令(文件管理)

Linux命令概述很多人可能在电视或电影中看到过类似的场景,黑客面对一个黑色的屏幕,上面飘着密密麻麻的字符,梆梆一顿敲,就完成了窃取资料的任务。Linux 刚出世时没有什么图形界面,所有的操作全靠命令完成,就如同电视里的黑客那样,充满了神秘与晦涩。近几年来,尽管 Linux 发展得非常迅速,图形界面越来越友好,但是在真正的开发过程中,Linux 命令行的应用还是占有非常重要的席位,而且许多L...

2019-08-19 21:21:14 399

原创 (一)Linux基础知识

1. Linux 目录说明/bin: (binaries)存放系统命令的目录,所有用户都可以执行。/sbin: (super user binaries) 保存和系统环境设置相关的命令,只有超级用户可以使用这些命令,有些命令可以允许普通用户查看。(root)/usr/bin:存放系统命令的目录,所有用户可以执行。这些命令和系统启动无关,单用户模式下不能执行/usr/sbin:存放根文件系统...

2019-08-19 20:15:46 152

原创 一些小功能的实现代码

1.批量删除的按钮不在工具栏上,如何使用layui实现批量删除?// 批量删除 var param = "a=1"; table.on('checkbox(salesTable)', function(obj){ var data = obj.data; console.log(data); param += "&ids=" + data.id; $(...

2019-08-16 21:59:57 807

原创 lombok的使用及lombok常用注解

@Data@SETTER@GETTER如果一个类继承另一个类,父类已经写了setget方法,在子类上添加@Data注解会报警告,如果想在子类中添加getset方法,有三种方式:一种是在@Data注解下加上注解:@EqualsAndHashCode(callSuper=false)一种是把@Data注解换成@GETTER和@SETTER注解最后一种是最原始的,就是去掉@Data注解,...

2019-08-08 17:25:58 1472

原创 (一)Springboot概述

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。1. Spring 1.X时代在Spring1.x时代,...

2019-08-03 21:03:23 987

原创 (二)Springboot入门程序

创建项目建立Springboot项目有两种方法:第一种方法访问网址:https://spring.io/projects/spring-boot滑到网页的最底端,点击Spring Initializr填写项目Gav引入控制器依赖,Dependencies选项选择Spring web starter,点击下方的按钮下载项目导入到工作空间中此时项目报了一个错误,这是因为传递...

2019-08-03 21:01:01 129

空空如也

空空如也

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

TA关注的人

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