自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (3)
  • 收藏
  • 关注

原创 Logback日志输入到xxl-job日志中

集成logback的日志到xxl-job的日志里

2023-07-26 16:47:40 904 1

原创 JetCache多级缓存看这篇文章就够了

JetCache是阿里推出的一套替代springcache的缓存方案。JetCache是对SpringCache进行了封装,在原有基础上实现了多级缓存、缓存统计、自动刷新、异步调用、数据报表等功能。JetCache设定了本地缓存与远程缓存的多级缓存方案本地缓存Caffeine远程缓存RedisTair本地缓存和远程缓存可以任意组合jetcache官方源码: https://github.com/alibaba/jetcache。

2023-06-15 14:51:34 2645 1

原创 教你简单基本集成Spring Security OAuth2 邮箱,手机验证码,第三方社交登录(Security Extension)

Security Extension项目介绍Security Extension是基于SpringCloud Security Oauth2,在其基础上新增了多种登录方式,扩展了用户登录的方式。主要包括邮箱验证码登录,手机验证码登录,第三方社交登录。支持登录失败自定义返回。实现了登出,从tokenStore中移除认证信息,从而实现统一登出。项目结构项目主要包括component config handler translatorComponent主要是扩展登录的组件,包括email,mobil

2020-05-26 13:58:18 2140 3

原创 让你简单几步改造应用支持docker部署

docker配置使用服务器安装docker服务步骤(CentOS 7)需要Root账号或者有sudo权限安装依赖sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2设置稳定的仓库sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo安装最新版本的d

2020-05-18 18:05:54 599

原创 SpringCloud(8)zuul与Swagger的整合

Swagger它可以轻松的整合到Spring Boot中,并与Spring MVC程序配合组织出强大RESTful API文档。它既可以减少我们创建文档的工作量,同时说明内容又整合入实现代码中,让维护文档和修改代码整合为一体,可以让我们在修改代码逻辑的同时方便的修改文档说明。另外Swagger2也提供了强大的页面测试功能来调试每个RESTful API。在zuul工程中配置Swagger...

2018-06-12 13:23:43 285 1

原创 SpringCloud(7)-路由网关Zuul

路由网关ZuulZuul的主要功能是路由转发和过滤器。路由功能是微服务的一部分,比如/api-a/转发到到consumea服务,/api-b/转发到到consumeb服务。zuul默认和Ribbon结合实现了负载均衡的功能。 1. 首先我们把上一个博文的consume项目拷贝一份,重命名为consumeb 2. 新建项目ZuulDemo 3. 在pom.xml文件中加入如下依赖&lt...

2018-06-12 09:53:08 153

原创 SpringCloud(6)-配置中心

SpringCloud的配置服务配置服务pom.xml中加入以下依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId></depend...

2018-06-11 17:18:59 124

原创 SpringCloud(5)-使用断路器

由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的“雪崩”效应。为了解决这个问题,业界提出了断路器模型断路器的使用pom.xml的配置依赖<dep...

2018-06-11 16:00:25 190

原创 SpringCloud(4)-通过Ribbon/Feign两种方式请求服务

服务的消费者在上一个博客中,已经讲述了如何搭建一个服务提供者,并注册到eureka注册中心去。在这一博客,主要介绍,如何请求提供的服务。我们有两种方式去请求别人提供的服务,ribbon+RestTemplate或者Feign这两种方式请求使用Ribbon+restTemplate请求在pom.xml文件中引入依赖<dependency> <groupId...

2018-06-11 15:06:26 1196

原创 SpringCloud(3)-向服务注册中心注册服务提供者

服务的提供者其实服务提供者就是eureka的客户端,我们可以引入eureka的客户端,然后把它当作我们的服务提供者,我们通过接口的方式,然后消费者通过restful+ribbon或者通过Fegion这两种方式来访问服务。而服务提供者就相当于我们发生一个请求,然后以json的方式返回结果。搭建服务的提供者首先我们创建一个项目 eureka-provider,然后在pom.xml文件...

2018-06-11 14:33:54 272

原创 Zookeeper(4)-使用ZooKeeper实现分布式锁

基于zookeeper临时有序节点可以实现的分布式锁。大致思想即为:每个客户端对某个方法加锁时,在zookeeper上的与该方法对应的指定节点的目录下,生成一个唯一的瞬时有序节点。 判断是否获取锁的方式很简单,只需要判断有序节点中序号最小的一个。 当释放锁的时候,只需将这个瞬时节点删除即可。同时,其可以避免服务宕机导致的锁无法释放,而产生的死锁问题。代码实现分布式锁锁服务Lock...

2018-06-08 13:59:44 633

原创 Zookeeper(3)-使用ZooKeeper作为配置中心

ZooKeeper作为配置中心现在我们大多数应用都是采用的是分布式开发的应用,搭建到不同的服务器上,我们的配置文件,同一个应用程序的配置文件一样,还有就是多个程序存在相同的配置。当我们配置文件中有个配置属性需要改变,我们需要改变每个程序的配置属性,这样会很麻烦的去修改配置。而现在可以使用SpringCloud提供的配置中心,或者使用zookeeper来实现配置中心。如何使用Zookeepe...

2018-06-07 16:21:36 4055

原创 Zookeeper(2)-使用Zookeeper的原生Api对Zookeeper的节点进行操作

ZooKeeper原生Api的操作下面是原生Api提供的一些列操作的介绍创建一个ConnectWatcherpublic class ConnectWatcher implements Watcher { private CountDownLatch countDownLatch=null; public void process(WatchedEvent wa...

2018-06-07 14:16:32 225

原创 Zookeeper(1)-zookeeper的安装

ZooKeeper的安装首先下载ZooKeeper的安装包,我使用的是Zookeeper的3.4.5的版本 下载地址把下载来的Zookeeper的安装包上传到服务器上,我是保存到/usr/application/download/目录下的创建软件的安装目录 mkdir -p /usr/application/program/zookeeper/解压缩ZooKeeper的安装包ta...

2018-06-07 11:01:04 175

原创 RocketMq(3)-发送带有事务的消息

RocketMq支持事务性的消息RocketMq支持传输带有事务的消息,可以用来保持数据的最终一致性。下面我来简单的实现一个带有事务的消息生产者端的代码需要写事务检查的Listener,自定义一个类,实现TransactionCheckListener(rocketMq3.0.8版本以前)public LocalTransactionState checkLocalTransac...

2018-06-04 16:26:04 3290

原创 RocketMq(2)-发送有序的消息

在上一个博文中,我们简单的介绍了以下RockMq,以及如何实现一个无序的消息,还写出了如何处理消息失败重试的机制·开始搭建一个消息的顺序消费搭建一个生产者DefaultMQProducer queueProducer=new DefaultMQProducer("queueGroup"); queueProducer.setNamesrvAddr("47.106.132.6...

2018-06-01 16:53:44 1121

原创 RocketMq(1) -初探RocketMq

RocketMq的介绍RocketMq是阿里巴巴公司研发的一款消息中间间,虽然它支持的消息类型就只有一种,就是发布/订阅的模式。它是参照rabbitmq实现的,但是RocketMq为我们提供了一个非常重要的一个概念,那就是组。在一个组中我们可以定义多个消费者,生产者,当有多条信息发送过来时,会把信息平均分配给组内的所有成员,感觉就像是天生的负载均衡。但是我们可以通过设置消费者的消息类型,是广播...

2018-06-01 16:03:30 234

原创 linux(3)-在Linux下安装tomcat

在Linux系统下安装Tomcat8.0首先下载Tomcat8.0的安装包 下载地址然后上传安装包到服务器上面,我是存放到/usr/application/download/目录下的创建tomcat的安装路径 /usr/application/program/tomcat/mkdir -p /usr/application/program/tomcat/解压缩安装包tar...

2018-06-01 11:30:15 142

原创 linux(2)-在linux下安装rocketmq

在Linux下安装RocketMQ下载rocketmq的安装包 rocketMQ下载地址下载完成后,上传到服务器,使用secureFx上传到/usr/application/download/下然后创建/user/application/program/rocketmq/目录mkdir -p /usr/application/program/rocketmq/解压rocketm...

2018-06-01 09:09:44 755 1

原创 Linux(1)-安装jdk

Linux下安装jdk1.8先下载jdk1.8的安装包,然后把安装包传到服务器上 jdk官网下载然后通过secureFx把下载的安装包上传到服务器上我是把jdk的安装包放在/usr/application/download/目录下,然后创建目录 /usr/application/program/jdkmkdir -p /usr/application/program/jdk解压...

2018-05-31 13:47:06 98

原创 SpringCloud(2)-配置高可用的eureka服务注册中心

高可用的eureka服务注册中心简单的介绍在我们平时的开发中,因为是分布式的系统,我们需要考虑到任何一个系统都应该具备高可用。而高可用是指,当我们某个服务器宕机了,我们还能够正常的去访问我们的服务,这就需要搭建集群的方式去实现该效果,当master宕机了,我们的slave可以立即取代master,来提供服务,这就是高可用。为什么我们需要搭建高可用的服务注册中心在上一个博客中...

2018-05-30 13:41:25 176

原创 SpringCloud(1)-配置eureka服务注册中心

enreka服务注册中心springcloud的介绍springCloud主要是一款用于分布式开发的框架,它集成了服务注册中心,服务,路由,网关,监控,配置中心,断路器等功能。我们可以使用SpringCloud来开发我们的分布式系统。eureka服务注册中心我们先创建一个springboot工程,在pom.xml文件中加入以下依赖 <dependency>...

2018-05-30 11:27:53 194 4

原创 Docker的安装(CentOS7)

Docker的安装docker的安装分为两种方式:脚本安装和手动安装脚本安装官方脚本安装(可能会因为网络问题安装失败) curl -sSL https://get.docker.com/ | sh采用阿里云的脚步进行安装 curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/ docker-engine/int

2017-12-05 16:52:38 162

原创 Nettty入门(一)

Netty常用类介绍Bootstrap类,Bootstrap是Netty应用程序的启动类,我们可以通过其指定采用某种Channel,以及处理IO操作的EventLoopgroup,同时还可以指定我们需要操作的handler.一个EventLoop可以为多个Channel服务,EventLoopGroup会包含多个EventLoop。ChannelInitializer 类中提供了Channel

2017-11-16 11:18:51 709

原创 Nio的基础与使用

Nio的介绍nio是指jdk1.4 及以上版本里提供的新api(New IO) ,为所有的原始类型(boolean类型除外)提供缓存支持的数据容器,使用它可以提供非阻塞式的高伸缩性网络nio里面最重要的三个对象Buffer 缓存区channel 通道selector 选择器nio的常用方法buffer.flip()改变position和limit的值,就是传统说的把写变成读,把读变成写。

2017-11-14 16:00:47 208

原创 Freemarker实现网页静态化

FreeMarker的语法取map集合中的值${key}取pojo类的值${student.sname}循环<#list 集合的key as 单一变量> 取下标 单一变量_index判断 <#if><#else>java操作FreeMarker Configuration configuration=new Configuration(Configuration.getVersion(

2017-10-24 17:17:59 216

原创 ActiveMq的安装及使用

ActiveMq的安装解压缩ActiveMq的压缩包启动ActiveMq 在解压目录下bin中使用 activemq startjava操作ActiveMq消息发布者的使用 ConnectionFactory connectionFactory=new ActiveMQConnectionFactory(""); Connection connection=connectionF

2017-10-24 17:06:35 261

原创 Solr单机和集群的安装,使用

Solr的安装步骤首先安装jdk然后安装tomcat然后解压缩solr安装包复制 solr下的example/webapps目录下的solr.war复制到tomcat目录下的webapps下,启动tomcat,关闭tomcat ,删除solr.war复制solr目录下的lib/ext的所有jar到tomcat目录下的webapps/webapps/solr/WEB-INF/lib下然后

2017-10-24 16:40:54 280

原创 Redis单机及集群的安装及使用

Redis 数据类型Redis支持五种数据类型string(字符串)hash(哈希)list(列表)set(集合)zset(sorted set:有序集合)。redis作为缓存最常用的类型string(字符串)hash(哈希)最常用的方法set(字符串的设置值)get(字符串取值)del(字符串删除key)expire(设置key的过期时间)ttl(查看key的当前还有多

2017-10-24 15:50:42 263

原创 Dubbo的使用及安装

安装准备zookeeperjdkzookeeper的安装过程先安装jdk解压缩zookeeper复制zookeeper的解压路径下的zoo_sample.cfg成zoo.cfg在zookeeper解压路径下创建一个data的文件夹修改zoo.cfg的dataDir属性为刚刚创建的data文件夹的全路径关闭防火墙图解zookeeper集群的安装步骤其实差不多 需要在data文件夹

2017-10-24 15:09:34 246

转载 【计算机网络】彻底明白IP地址——计算相关地址

知道ip地址和子网掩码后可以算出:1、 网络地址 2、 广播地址 3、 地址范围 4、 本网有几台主机 例1:下面例子IP地址为192·168·100·5 子网掩码是255·255·255·0。算出网络地址、广播地址、地址范围、主机数。(一)分步骤计算 1) 将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址。 虚线前为网络地址,虚线后

2017-09-04 10:14:59 8422

原创 linux基础-常用命令

显示当前目录下的目录以及文件  ls显示当前目录下的目录以及文件详情信息 ll显示当前目录下的目录以及文件(包括隐藏文件)ls -a显示当前目录的路径 pwd创建文件夹 mkdir删除空的文件夹  rmdir删除文件 rm  强制删除文件 rm -f 强制删除文件夹 rm -rf  -r 表示递归移动文件及文件夹,改文件名称 mv 用法, mv old.txt new.txt 复制文件夹 cp

2017-07-18 11:01:32 151

转载 HTTP协议详解(真的很经典)

转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspxAuthor :Jeffrey引言HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HT

2017-07-03 09:55:37 223

原创 基于(ssm,websocket,mysql)开发的web聊天系统

该项目实现了显示在线好友,支持离线消息,等用户上线后进行推送,用户退出也进行推送消息聊天信息实时的推送项目截图下载地址

2017-06-21 15:13:45 1558 8

原创 网页音乐播放器

这是一款网页版的音乐播放器。这个播放器是利用QQ音乐的api实现了音乐的播放,搜索,歌词同步,音乐的下载。

2017-06-14 14:26:34 2515

转载 struts2工作原理

Struts2的工作原理 上图来源于Struts2官方站点,是Struts 2 的整体结构。 一个请求在Struts2框架中的处理大概分为以下几个步骤 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts

2017-03-20 11:38:43 138

netty需要的jar包

Netty框架的jar包,Netty-all-4.0.21.final.jarNetty框架的jar包,Netty-all-4.0.21.final.jarNetty框架的jar包,Netty-all-4.0.21.final.jarNetty框架的jar包,Netty-all-4.0.21.final.jar

2017-11-16

WEB在线聊天系统源码

该项目实现了显示在线好友,支持离线消息,等用户上线后进行推送,用户退出也进行推送消息。

2017-06-21

音乐播放器 音乐播放器

这是网页版的音乐播放器,实现了歌词同步显示,搜索音乐,音乐播放,循环的调整 这是网页版的音乐播放器,实现了歌词同步显示,搜索音乐,音乐播放,循环的调整 这是网页版的音乐播放器,实现了歌词同步显示,搜索音乐,音乐播放,循环的调整 这是网页版的音乐播放器,实现了歌词同步显示,搜索音乐,音乐播放,循环的调整 这是网页版的音乐播放器,实现了歌词同步显示,搜索音乐,音乐播放,循环的调整

2017-06-14

空空如也

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

TA关注的人

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