- 博客(125)
- 资源 (6)
- 收藏
- 关注
原创 SpringBoot | 第三十八章:基于RabbitMQ实现消息延迟队列方案
前言前段时间在编写通用的消息通知服务时,由于需要实现类似通知失败时,需要延后几分钟再次进行发送,进行多次尝试后,进入定时发送机制。此机制,在原先对接银联支付时,银联的异步通知也是类似的,在第一次通知失败后,支付标准服务会重发,最多发送五次,每次的间隔时间为1、4、8、16分钟等。本文就简单讲解下使用RabbitMQ实现延时消息队列功能。前言一点知识延时队列使用场景RabbitMQ...
2019-07-21 22:40:40
334
原创 SpringBoot | 第三十八章:基于RabbitMQ实现消息延迟队列方案
基于RabbitMQ实现消息延迟队列方案前言前段时间在编写通用的消息通知服务时,由于需要实现类似通知失败时,需要延后几分钟再次进行发送,进行多次尝试后,进入定时发送机制。此机制,在原先对接银联支付时,银联的异步通知也是类似的,在第一次通知失败后,支付标准服务会重发,最多发送五次,每次的间隔时间为1、4、8、16分钟等。本文就简单讲解下使用...
2019-07-21 22:34:00
152
原创 SpringBoot | 第三十七章:集成Jasypt实现配置项加密
SpringBoot | 第三十七章:集成Jasypt实现配置项加密前言近期在进行项目安全方面评审时,质量管理部门有提出需要对配置文件中的敏高文件进行加密处理,避免了信息泄露问题。想想前段时间某公司上传github时,把相应的生产数据库明文密码也一并上传了,导致了相应的数据泄露问题。也确实,大部分项目无论开发、测试还是生产环境,相关的敏高...
2019-05-08 22:59:00
139
原创 SpringBoot | 第三十七章:集成Jasypt实现配置项加密
前言近期在进行项目安全方面评审时,质量管理部门有提出需要对配置文件中的敏高文件进行加密处理,避免了信息泄露问题。想想前段时间某公司上传github时,把相应的生产数据库明文密码也一并上传了,导致了相应的数据泄露问题。也确实,大部分项目无论开发、测试还是生产环境,相关的敏高信息都是明文存储的,也是一大安全隐患呀。所以今天来说说,如何对配置文件进行加密操作。一点知识何为Jasypt...
2019-05-08 22:57:36
469
原创 SpringBoot | 第三十六章:集成多CacheManager
前言今天有网友咨询了一个问题:如何在一个工程中使用多种缓存进行差异化缓存,即实现多个cacheManager灵活切换。原来没有遇见这种场景,今天下班抽空试了下,以下就把如何实现的简单记录下。一点知识关于CacheMananger集成Redis和ehcache参考资料总结最后老生常谈一点知识在SpringBoot中使用Spring Cache可以轻松实现缓存,是S...
2019-03-08 09:32:59
242
原创 SpringBoot | 第三十六章:集成多CacheManager
第三十六章:集成多CacheManager前言今天有网友咨询了一个问题:如何在一个工程中使用多种缓存进行差异化缓存,即实现多个cacheManager灵活切换。原来没有遇见这种场景,今天下班抽空试了下,以下就把如何实现的简单记录下。一点知识关于CacheMananger集成Redis和ehcache参考资料总结最后...
2019-03-08 09:31:00
358
原创 分布式定时器的一些解决方案
前言之前写SpringBoot时,有简单介绍过分布式定时器的一些思路(SpringBoot | 第二十二章:定时任务的使用)。原来的项目本身使用dubbo实现了一个简单的实现,目前项目迁移至SpringCloud后,原来的就不适用了,但基本原理都是差不多的,都是集中管理需要调用的api及调度等相关信息。故本篇会简单介绍下一些常见的分布式定时器的实现方案,还会编写一个基于http调用的统一调度项...
2019-03-06 01:19:15
1393
原创 SpringBoot | 第三十五章:Mybatis的集成和使用
前言最近收到公众号留言说,单纯的Mybatis的集成和使用。前面在第九章:Mybatis-plus的集成和使用介绍了基于mybatis-plus的集成和使用。后者也只是对mybatis进行了功能增强,原本的用法都是没有变化的。那今天就来简单介绍了如何springboot中如何集成和使用Mybatis吧。SpringBoot的集成和使用通用配置注解方式xml方式枚举类型处理器配置...
2018-12-03 08:56:48
155
原创 SpringBoot | 第三十五章:Mybatis的集成和使用
第三十五章:Mybatis的集成和使用前言最近收到公众号留言说,单纯的Mybatis的集成和使用。前面在第九章:Mybatis-plus的集成和使用介绍了基于mybatis-plus的集成和使用。后者也只是对mybatis进行了功能增强,原本的用法都是没有变化的。那今天就来简单介绍了如何springboot中如何集成和使用Mybatis吧...
2018-12-03 08:55:00
117
原创 SpringBoot | 第三十四章:CXF构建WebService服务
前言上一章节,讲解了如何使用Spring-WS构建WebService服务。其实,创建WebService的方式有很多的,今天来看看如何使用apache cxf来构建及调用WebService服务。前言一点知识何为Apache-CXF关于JAX-WS规范常用注解介绍SpringBoot整合CXF实例服务端构建客户端调用异常捕获自定义拦截器服务端拦...
2018-11-12 09:05:47
2262
2
原创 SpringBoot | 第三十四章:CXF构建WebService服务
第三十四章:CXF构建WebService服务前言上一章节,讲解了如何使用Spring-WS构建WebService服务。其实,创建WebService的方式有很多的,今天来看看如何使用apache cxf来构建及调用WebService服务。一点知识何为Apache-CXFApache CXF是一个开源的Services框架,...
2018-11-12 09:04:00
191
原创 SpringBoot | 第三十三章:Spring web Servcies集成和使用
前言最近有个单位内网系统需要对接统一门户,进行单点登录和待办事项对接功能。一般上政府系统都会要求做统一登录功能,这个没啥问题,反正业务系统都是做单点登录的,改下shiro相关类就好了。看了接入方案,做坑爹的是需要业务系统提供一个webService服务,供统一平台调用。对于ws服务,是真的除了大学期间要去写个调用天气预报的作业后,就再也没有接触过了。查阅了SpringBoot文档后,发现确实有...
2018-11-09 10:02:02
468
原创 SpringBoot | 第三十三章:Spring web Servcies集成和使用
第三十三章:Spring web Servcies集成和使用前言最近有个单位内网系统需要对接统一门户,进行单点登录和待办事项对接功能。一般上政府系统都会要求做统一登录功能,这个没啥问题,反正业务系统都是做单点登录的,改下shiro相关类就好了。看了接入方案,做坑爹的是需要业务系统提供一个webService服务,供统一平台调用。对于ws服...
2018-11-09 10:00:00
227
原创 SpringBoot | 第三十二章:事件的发布和监听
前言今天去官网查看spring boot资料时,在特性中看见了系统的事件及监听章节。想想,spring的事件应该是在3.x版本就发布的功能了,并越来越完善,其为bean和bean之间的消息通信提供了支持。比如,我们可以在用户注册成功后,发送一份注册成功的邮件至用户邮箱或者发送短信。使用事件其实最大作用,应该还是为了业务解耦,毕竟用户注册成功后,注册服务的事情就做完了,只需要发布一个用户注册成功...
2018-11-06 09:24:58
295
原创 SpringBoot | 第三十二章:事件的发布和监听
第三十二章:事件的发布和监听前言今天去官网查看spring boot资料时,在特性中看见了系统的事件及监听章节。想想,spring的事件应该是在3.x版本就发布的功能了,并越来越完善,其为bean和bean之间的消息通信提供了支持。比如,我们可以在用户注册成功后,发送一份注册成功的邮件至用户邮箱或者发送短信。使用事件其实最大作用,应该还是...
2018-11-06 09:21:00
120
原创 SpringBoot | 第三十一章:MongoDB的集成和使用
前言上一章节,简单讲解了如何集成Spring-data-jpa。本章节,我们来看看如何集成NoSQL的Mongodb。mongodb是最早热门非关系数据库的之一,使用也比较普遍。最适合来存储一些非结构数据了,适合对大量或者无固定格式的数据进行存储,比如:日志、缓存等。一点知识MongoDB简介SpringBoot集成MongoDB准备工作MongoTemplate方式M...
2018-11-01 09:26:21
218
原创 SpringBoot | 第三十一章:MongoDB的集成和使用
第三十一章:MongoDB的集成和使用前言上一章节,简单讲解了如何集成Spring-data-jpa。本章节,我们来看看如何集成NoSQL的Mongodb。mongodb是最早热门非关系数据库的之一,使用也比较普遍。最适合来存储一些非结构数据了,适合对大量或者无固定格式的数据进行存储,比如:日志、缓存等。一点知识以下部分关于Mong...
2018-11-01 09:22:00
141
原创 SpringBoot | 第三十章:Spring-data-jpa的集成和使用
前言在前面的第九章:Mybatis-plus的集成和使用章节中,介绍了使用ORM框架mybatis-plus进行数据库的访问。今天,我们来简单学习下如何使用spring-data-jpa进行数据库的访问。由于本人未使用过jpa,也是趁着写博文的机会查阅了相关资料下,有错误的地方还望指出!前言一点知识何为JPA何为Sping-data-jpaSpringBoot集成Sprin...
2018-10-31 09:30:58
162
原创 SpringBoot | 第三十章:Spring-data-jpa的集成和使用
第三十章:Spring-data-jpa的集成和使用前言在前面的第九章:Mybatis-plus的集成和使用章节中,介绍了使用ORM框架mybatis-plus进行数据库的访问。今天,我们来简单学习下如何使用spring-data-jpa进行数据库的访问。由于本人未使用过jpa,也是趁着写博文的机会查阅了相关资料下,有错误的地方还望指出!...
2018-10-31 09:29:00
93
原创 白话SpringCloud | 第十一章:路由网关(Zuul):利用swagger2聚合API文档
前言介绍完分布式配置中心,结合前面的文章。我们已经有了一个微服务的框架了,可以对外提供api接口服务了。但现在试想一下,在微服务框架中,每个对外服务都是独立部署的,对外的api或者服务地址都不是不尽相同的。对于内部而言,很简单,通过注册中心自动感知即可。但我们大部分情况下,服务都是提供给外部系统进行调用的,不可能同享一个注册中心。同时一般上内部的微服务都是在内网的,和外界是不连通的。而且,就算...
2018-10-20 12:33:29
480
原创 白话SpringCloud | 第十一章:路由网关(Zuul):利用swagger2聚合API文档
第十一章:路由网关(Zuul):利用swagger2聚合API文档前言通过之前的两篇文章,可以简单的搭建一个路由网关了。而我们知道,现在都奉行前后端分离开发,前后端开发的沟通成本就增加了,所以一般上我们都是通过swagger进行api文档生成的。现在由于使用了统一路由网关了,都希望各微服务的api文档统一的聚合在网关服务中,也方便前端用户...
2018-10-20 12:32:00
400
2
原创 白话SpringCloud | 第十章:路由网关(Zuul)进阶:过滤器、异常处理
前言简单介绍了关于Zuul的一些简单使用以及一些路由规则的简单说明。而对于一个统一网关而言,需要处理各种各类的请求,对不同的url进行拦截,或者对调用服务的异常进行二次处理等等。今天,我们就来了解下这方面的相关知识点。一点知识过滤器的定义过滤器接口定义zuul自带过滤器禁用过滤器Zuul进阶示例自定义filter异常处理服务异常回退常规http请求异常...
2018-10-17 10:57:53
282
原创 白话SpringCloud | 第十章:路由网关(Zuul)进阶:过滤器、异常处理
第十章:路由网关(Zuul)进阶:过滤器、异常处理前言简单介绍了关于Zuul的一些简单使用以及一些路由规则的简单说明。而对于一个统一网关而言,需要处理各种各类的请求,对不同的url进行拦截,或者对调用服务的异常进行二次处理等等。今天,我们就来了解下这方面的相关知识点。一点知识开始实践前,我们先来了解下Zuul默认的过滤器(注意,这里...
2018-10-17 10:55:00
189
2
原创 白话SpringCloud | 第九章:路由网关(Zuul)的使用
前言介绍完分布式配置中心,结合前面的文章。我们已经有了一个微服务的框架了,可以对外提供api接口服务了。但现在试想一下,在微服务框架中,每个对外服务都是独立部署的,对外的api或者服务地址都不是不尽相同的。对于内部而言,很简单,通过注册中心自动感知即可。但我们大部分情况下,服务都是提供给外部系统进行调用的,不可能同享一个注册中心。同时一般上内部的微服务都是在内网的,和外界是不连通的。而且,就算...
2018-10-15 09:01:38
131
原创 白话SpringCloud | 第九章:路由网关(Zuul)的使用
第九章:路由网关(Zuul)的使用前言介绍完分布式配置中心,结合前面的文章。我们已经有了一个微服务的框架了,可以对外提供api接口服务了。但现在试想一下,在微服务框架中,每个对外服务都是独立部署的,对外的api或者服务地址都不是不尽相同的。对于内部而言,很简单,通过注册中心自动感知即可。但我们大部分情况下,服务都是提供给外部系统进行调用的...
2018-10-15 08:59:00
86
原创 白话SpringCloud | 第八章:分布式配置中心的服务化及动态刷新
前言上一章节,简单介绍了分布式配置中心Spring Cloud Config的使用。同时,我们也遗漏了一些问题,比如如何配置实时生效,当服务端地址变更或者集群部署时,如何指定服务端地址?回想,在服务注册章节,服务提供者和服务消费者,同时往注册中心进行注册和获取服务地址,而本身注册中心又支持高可用配置。所以,对于配置中心,我们也可以将Server端和Client端往注册中心进行注册,借此实现配置...
2018-10-11 09:18:27
112
原创 白话SpringCloud | 第八章:分布式配置中心的服务化及动态刷新
第八章:分布式配置中心的服务化及动态刷新前言上一章节,简单介绍了分布式配置中心Spring Cloud Config的使用。同时,我们也遗漏了一些问题,比如如何配置实时生效,当服务端地址变更或者集群部署时,如何指定服务端地址?回想,在服务注册章节,服务提供者和服务消费者,同时往注册中心进行注册和获取服务地址,而本身注册中心又支持高可用配置...
2018-10-11 09:16:00
111
2
原创 白话SpringCloud | 第七章:分布式配置中心的使用
前言介绍完服务的容错保护处理,接下来我们来了解下关于分布式配置中心的相关知识和使用。众所周知,随着项目的越来越多,日益庞大,每个子项目都会伴随着不同的配置项,于此也就多了很多的配置文件。倘若某些配置信息修改,可能就会伴随着一系列配置文件的更新和相应服务的重启操作了。这对于实施而言,也是噩梦一般的存在,增加了一系列运维成本,也会无形中提高出错的机率。所以在微服务越来越多时,就会引入今天要讲解的分...
2018-10-10 09:10:12
114
原创 白话SpringCloud | 第七章:分布式配置中心的使用
第七章:分布式配置中心的使用前言介绍完服务的容错保护处理,接下来我们来了解下关于分布式配置中心的相关知识和使用。众所周知,随着项目的越来越多,日益庞大,每个子项目都会伴随着不同的配置项,于此也就多了很多的配置文件。倘若某些配置信息修改,可能就会伴随着一系列配置文件的更新和相应服务的重启操作了。这对于实施而言,也是噩梦一般的存在,增加了一系...
2018-10-10 09:02:00
73
原创 SpringBoot | 第二十九章:Dubbo的集成和使用
第二十九章:Dubbo的集成和使用前言今年年初时,阿里巴巴开源的高性能服务框架dubbo又开始了新一轮的更新,还加入了Apache孵化器。原先项目使用了spring cloud之后,已经比较少用dubbo。目前又抽调回原来的行业应用部门,可能还会使用dubbo进行服务调用。趁着编写教材的机会来进行学习下。而且目前Dubbo也出了sprin...
2018-09-28 09:42:00
83
2
原创 SpringBoot | 第二十九章:Dubbo的集成和使用
前言今年年初时,阿里巴巴开源的高性能服务框架dubbo又开始了新一轮的更新,还加入了Apache孵化器。原先项目使用了spring cloud之后,已经比较少用dubbo。目前又抽调回原来的行业应用部门,可能还会使用dubbo进行服务调用。趁着编写教材的机会来进行学习下。而且目前Dubbo也出了springboot的starter项目了,借着SpringBoot的东风,集成起来很方便,基本上就...
2018-09-28 09:41:43
197
原创 白话SpringCloud | 第六章:Hystrix监控面板及数据聚合(Turbine)
第六章:Hystrix监控面板及数据聚合(Turbine)前言前面一章,我们讲解了如何整合Hystrix。而在实际情况下,使用了Hystrix的同时,还会对其进行实时的数据监控,反馈各类指标数据。今天我们就将讲解下Hystrix Dashboard和Turbine.其中Hystrix Dashboard是一款针对Hystrix进行实时监控...
2018-09-26 09:00:00
67
原创 白话SpringCloud | 第六章:Hystrix监控面板及数据聚合(Turbine)
前言前面一章,我们讲解了如何整合Hystrix。而在实际情况下,使用了Hystrix的同时,还会对其进行实时的数据监控,反馈各类指标数据。今天我们就将讲解下Hystrix Dashboard和Turbine.其中Hystrix Dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Command的请求响应时间,...
2018-09-26 08:58:41
128
原创 白话SpringCloud | 第五章:服务容错保护(Hystrix)
前言前一章节,我们知道了如何利用RestTemplate+Ribbon和Feign的方式进行服务的调用。在微服务架构中,一个服务可能会调用很多的其他微服务应用,虽然做了多集群部署,但可能还会存在诸如网络原因或者服务提供者自身处理的原因,或多或少都会出现请求失败或者请求延迟问题,若服务提供者长期未对请求做出回应,服务消费者又不断的请求下,可能就会造成服务提供者服务崩溃,进而服务消费者也一起跟着不...
2018-09-23 16:51:20
373
原创 白话SpringCloud | 第五章:服务容错保护(Hystrix)
第五章:服务容错保护(Hystrix)前言前一章节,我们知道了如何利用RestTemplate+Ribbon和Feign的方式进行服务的调用。在微服务架构中,一个服务可能会调用很多的其他微服务应用,虽然做了多集群部署,但可能还会存在诸如网络原因或者服务提供者自身处理的原因,或多或少都会出现请求失败或者请求延迟问题,若服务提供者长期未对请求...
2018-09-23 16:49:00
115
原创 白话SpringCloud | 第四章:服务消费者(RestTemple+Ribbon+Feign)
第四章:服务消费者(RestTemple+Ribbon+Feign)前言上两章节,介绍了下关于注册中心-Eureka的使用及高可用的配置示例,本章节开始,来介绍下服务和服务之间如何进行服务调用的,同时会讲解下几种不同方式的服务调用。一点知识在SpringCloud体系中,我们知道服务之间的调用是通过http协议进行调用的。而注册中心...
2018-09-21 09:40:00
182
原创 白话SpringCloud | 第四章:服务消费者(RestTemple+Ribbon+Feign)
前言上两章节,介绍了下关于注册中心-Eureka的使用及高可用的配置示例,本章节开始,来介绍下服务和服务之间如何进行服务调用的,同时会讲解下几种不同方式的服务调用。一点知识何为负载均衡实现的方式客户端和服务端的负载均衡RestTemplate简单介绍exchangeGET请求POST请求LoadBalancerClient实例客户端负载均衡Ribbon...
2018-09-21 09:39:03
209
原创 SpringBoot | 第二十八章:监控管理之Spring Boot Admin使用
前言 上一章节,我们介绍了Actuator的使用,知道了可通过访问不同的端点路径,获取相应的监控信息。但使用后也能发现,返回的监控数据都是以JSON串的形式进行返回的,对于实施或者其他人员来说,不是很直观,而当需要监控的应用越来越多时,依次去访问对应的应用也过于繁琐和低效了。所以,本章节来介绍下Spring Boot Admin这个UI监控工具。Spring-Boot-Admin...
2018-09-14 20:30:34
140
原创 SpringBoot | 第二十八章:监控管理之Spring Boot Admin使用
第二十八章:监控管理之Spring Boot Admin使用前言上一章节,我们介绍了Actuator的使用,知道了可通过访问不同的端点路径,获取相应的监控信息。但使用后也能发现,返回的监控数据都是以JSON串的形式进行返回的,对于实施或者其他人员来说,不是很直观,而当需要监控的应用越来越多时,依次去访问对应的应用也过于繁琐和低效了。所以,...
2018-09-14 20:28:00
124
原创 SpringBoot | 第二十七章:监控管理之Actuator使用
第二十七章:监控管理之Actuator使用前言随着我们服务越来越多,部署的环境也越来越繁多时,由于各服务都部署在不同的机器上,每当出现问题或者异常时,想快速进行问题的定位就变的麻烦了。所以,本章节开始,开始讲解SpringBoot的监控相关知识点。本章节就先来说一说,其自带的Actuator功能。一点知识Spring Boot Ac...
2018-09-11 09:25:00
90
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人