为了账号安全,请及时绑定邮箱和手机立即绑定

SpringBoot | 第三十八章:基于RabbitMQ实现消息延迟队列方案 原创

前言 前段时间在编写通用的消息通知服务时,由于需要实现类似通知失败时,需要延后几分钟再次进行发送,进行多次尝试后,进入定时发送机制。此机制,在原先对接银联支付时,银联的异步通知也是类似的,在第一次通知失败后,支付标准服务会重发,最多发送五次,每次的间隔时间为1、4、8、16分钟等。本文就简单讲解下使用RabbitMQ实现延时消息队列功能。 前言 一点知识 延时队列使用场景 RabbitMQ实现延时队列 [存活时间(Time-To-Live 简称 TTL)](#存活时间(Time-To-Live 简称 TTL))

2764浏览
2推荐
0评论

SpringBoot | 第三十七章:集成Jasypt实现配置项加密 首发

前言 近期在进行项目安全方面评审时,质量管理部门有提出需要对配置文件中的敏高文件进行加密处理,避免了信息泄露问题。想想前段时间某公司上传github时,把相应的生产数据库明文密码也一并上传了,导致了相应的数据泄露问题。也确实,大部分项目无论开发、测试还是生产环境,相关的敏高信息都是明文存储的,也是一大安全隐患呀。所以今天来说说,如何对配置文件进行加密操作。 一点知识 何为Jasypt SpringBoot集成Jasypt 常规集成示例 包含xml引入时 其他配置项 运维说明 密钥(盐值

1560浏览
1推荐
0评论

SpringBoot | 第三十六章:集成多CacheManager 原创

## 前言>今天有网友咨询了一个问题:如何在一个工程中使用多种缓存进行差异化缓存,即实现多个`cacheManager`灵活切换。原来没有遇见这种场景,今天下班抽空试了下,以下就把如何实现的简单记录下。## 一点知识>在`SpringBoot`中使用`Spring Cache`可以轻松实现缓存,是`Spring`框架提供的对缓存使用的抽象类,支持多种缓存,比如`Redis`、`EHCache`等,集成很方便。同时提供了多种注解来简化缓存的使用,可对方法进行缓存。具体如何集成,之前的文章已经有详细介绍了,感兴趣的同学可点击:[SpringBoot |...

2974浏览
0推荐
0评论

分布式定时器的一些解决方案

前言 之前写SpringBoot时,有简单介绍过分布式定时器的一些思路(SpringBoot | 第二十二章:定时任务的使用)。原来的项目本身使用dubbo实现了一个简单的实现,目前项目迁移至SpringCloud后,原来的就不适用了,但基本原理都是差不多的,都是集中管理需要调用的api及调度等相关信息。故本篇会简单介绍下一些常见的分布式定时器的实现方案,还会编写一个基于http调用的统一调度项目,实现简单的调用SpringCloud项目RESTful接口。 一些说明 基于ShedLock实现轻量级分布式定时锁 集成示例 @S

2514浏览
1推荐
0评论

SpringBoot | 第三十五章:Mybatis的集成和使用

前言 最近收到公众号留言说,单纯的Mybatis的集成和使用。前面在第九章:Mybatis-plus的集成和使用介绍了基于mybatis-plus的集成和使用。后者也只是对mybatis进行了功能增强,原本的用法都是没有变化的。那今天就来简单介绍了如何springboot中如何集成和使用Mybatis吧。 SpringBoot的集成和使用 通用配置 注解方式 xml方式 枚举类型处理器配置 参考资料 总结 最后 老生常谈 SpringBoot的集成和使用 MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis

1663浏览
1推荐
0评论

SpringBoot | 第三十四章:CXF构建WebService服务 首发

前言 上一章节,讲解了如何使用Spring-WS构建WebService服务。其实,创建WebService的方式有很多的,今天来看看如何使用apache cxf来构建及调用WebService服务。 前言 一点知识 何为Apache-CXF 关于JAX-WS规范 常用注解介绍 SpringBoot整合CXF实例 服务端构建 客户端调用 异常捕获 自定义拦截器 服务端拦截器 客户端拦截器 参考资料 总结 最后 老生常谈 一点知识 何为Apache-CXF Apache CXF是一个开源的Services框架,CXF帮助您利用Frontend编程 API 来构建和开发Servic

4705浏览
5推荐
1评论

SpringBoot | 第三十二章:事件的发布和监听 首发

前言 今天去官网查看spring boot资料时,在特性中看见了系统的事件及监听章节。想想,spring的事件应该是在3.x版本就发布的功能了,并越来越完善,其为bean和bean之间的消息通信提供了支持。比如,我们可以在用户注册成功后,发送一份注册成功的邮件至用户邮箱或者发送短信。使用事件其实最大作用,应该还是为了业务解耦,毕竟用户注册成功后,注册服务的事情就做完了,只需要发布一个用户注册成功的事件,让其他监听了此事件的业务系统去做剩下的事件就好了。对于事件发布者而言,不需要关心

2713浏览
4推荐
0评论

SpringBoot | 第三十一章:MongoDB的集成和使用 首发

前言 上一章节,简单讲解了如何集成Spring-data-jpa。本章节,我们来看看如何集成NoSQL的Mongodb。mongodb是最早热门非关系数据库的之一,使用也比较普遍。最适合来存储一些非结构数据了,适合对大量或者无固定格式的数据进行存储,比如:日志、缓存等。 一点知识 MongoDB简介 SpringBoot集成MongoDB 准备工作 MongoTemplate方式 MongoRepository方式 参考资料 总结 最后 老生常谈 一点知识 以下部分关于Mongodb介绍,来自网站:https://www.mongodb.com/cn 、纯洁的微笑 MongoDB

3455浏览
1推荐
0评论

SpringBoot | 第三十章:Spring-data-jpa的集成和使用 首发

前言 在前面的第九章:Mybatis-plus的集成和使用章节中,介绍了使用ORM框架mybatis-plus进行数据库的访问。今天,我们来简单学习下如何使用spring-data-jpa进行数据库的访问。由于本人未使用过jpa,也是趁着写博文的机会查阅了相关资料下,有错误的地方还望指出! 前言 一点知识 何为JPA 何为Sping-data-jpa SpringBoot集成Spring-data-jpa 参考资料 总结 最后 老生常谈 一点知识 何为JPA JPA是Java Persistence API的简写,是Sun官方提出的一种ORM规范! 对于Sun官网而言, 一

1945浏览
1推荐
0评论

白话SpringCloud | 第十一章:路由网关(Zuul):利用swagger2聚合API文档

前言 通过之前的两篇文章,可以简单的搭建一个路由网关了。而我们知道,现在都奉行前后端分离开发,前后端开发的沟通成本就增加了,所以一般上我们都是通过swagger进行api文档生成的。现在由于使用了统一路由网关了,都希望各微服务的api文档统一的聚合在网关服务中,也方便前端用户查阅,不需要每个服务单独查看。当然了,也是可以做一个文档索引网页进行各微服务的api文档链接的。今天,我们就来讲下使用swagger实现自动化聚合微服务文档功能。 注:关于Swagger的介绍和使用,由于在之前的Sp

176浏览
0推荐
0评论

白话SpringCloud | 第十一章:路由网关(Zuul):利用swagger2聚合API文档

前言 通过之前的两篇文章,可以简单的搭建一个路由网关了。而我们知道,现在都奉行前后端分离开发,前后端开发的沟通成本就增加了,所以一般上我们都是通过swagger进行api文档生成的。现在由于使用了统一路由网关了,都希望各微服务的api文档统一的聚合在网关服务中,也方便前端用户查阅,不需要每个服务单独查看。当然了,也是可以做一个文档索引网页进行各微服务的api文档链接的。今天,我们就来讲下使用swagger实现自动化聚合微服务文档功能。 注:关于Swagger的介绍和使用,由于在之前的Sp

400浏览
0推荐
0评论

白话SpringCloud | 第十一章:路由网关(Zuul):利用swagger2聚合API文档

前言 通过之前的两篇文章,可以简单的搭建一个路由网关了。而我们知道,现在都奉行前后端分离开发,前后端开发的沟通成本就增加了,所以一般上我们都是通过swagger进行api文档生成的。现在由于使用了统一路由网关了,都希望各微服务的api文档统一的聚合在网关服务中,也方便前端用户查阅,不需要每个服务单独查看。当然了,也是可以做一个文档索引网页进行各微服务的api文档链接的。今天,我们就来讲下使用swagger实现自动化聚合微服务文档功能。 注:关于Swagger的介绍和使用,由于在之前的Sp

473浏览
0推荐
0评论

第十一章:路由网关(Zuul):利用swagger2聚合API文档

前言 通过之前的两篇文章,可以简单的搭建一个路由网关了。而我们知道,现在都奉行前后端分离开发,前后端开发的沟通成本就增加了,所以一般上我们都是通过swagger进行api文档生成的。现在由于使用了统一路由网关了,都希望各微服务的api文档统一的聚合在网关服务中,也方便前端用户查阅,不需要每个服务单独查看。当然了,也是可以做一个文档索引网页进行各微服务的api文档链接的。今天,我们就来讲下使用swagger实现自动化聚合微服务文档功能。 注:关于Swagger的介绍和使用,由于在之前的Sp

317浏览
0推荐
0评论

白话SpringCloud | 第十章:路由网关(Zuul)进阶:过滤器、异常处理 首发

前言 简单介绍了关于Zuul的一些简单使用以及一些路由规则的简单说明。而对于一个统一网关而言,需要处理各种各类的请求,对不同的url进行拦截,或者对调用服务的异常进行二次处理等等。今天,我们就来了解下这方面的相关知识点。 一点知识 过滤器的定义 过滤器接口定义 zuul自带过滤器 禁用过滤器 Zuul进阶示例 自定义filter 异常处理 服务异常回退 常规http请求异常 参考资料 总结 最后 老生常谈 一点知识 开始实践前,我们先来了解下Zuul默认的过滤器(注意,这里讲解的Zuul都

5078浏览
7推荐
0评论

白话SpringCloud | 第九章:路由网关(Zuul)的使用 原创

前言 介绍完分布式配置中心,结合前面的文章。我们已经有了一个微服务的框架了,可以对外提供api接口服务了。但现在试想一下,在微服务框架中,每个对外服务都是独立部署的,对外的api或者服务地址都不是不尽相同的。对于内部而言,很简单,通过注册中心自动感知即可。但我们大部分情况下,服务都是提供给外部系统进行调用的,不可能同享一个注册中心。同时一般上内部的微服务都是在内网的,和外界是不连通的。而且,就算我们每个微服务对外开放,对于调用者而言,调用不同的服务的地址或者参数

2627浏览
4推荐
0评论

白话SpringCloud | 第八章:分布式配置中心的服务化及动态刷新 首发

前言 上一章节,简单介绍了分布式配置中心Spring Cloud Config的使用。同时,我们也遗漏了一些问题,比如如何配置实时生效,当服务端地址变更或者集群部署时,如何指定服务端地址?回想,在服务注册章节,服务提供者和服务消费者,同时往注册中心进行注册和获取服务地址,而本身注册中心又支持高可用配置。所以,对于配置中心,我们也可以将Server端和Client端往注册中心进行注册,借此实现配置中心的服务化,无需指定具体的ip地址,直接根据服务名称进行调用。 关于高可用 Server端 Clien

2597浏览
4推荐
0评论

白话SpringCloud | 第七章:分布式配置中心的使用 首发

前言 介绍完服务的容错保护处理,接下来我们来了解下关于分布式配置中心的相关知识和使用。众所周知,随着项目的越来越多,日益庞大,每个子项目都会伴随着不同的配置项,于此也就多了很多的配置文件。倘若某些配置信息修改,可能就会伴随着一系列配置文件的更新和相应服务的重启操作了。这对于实施而言,也是噩梦一般的存在,增加了一系列运维成本,也会无形中提高出错的机率。所以在微服务越来越多时,就会引入今天要讲解的分布式配置中心,它就是来解决此类问题的。话不多说,开始吧~ 一点

1765浏览
4推荐
0评论

SpringBoot | 第二十九章:Dubbo的集成和使用 首发

前言 今年年初时,阿里巴巴开源的高性能服务框架dubbo又开始了新一轮的更新,还加入了Apache孵化器。原先项目使用了spring cloud之后,已经比较少用dubbo。目前又抽调回原来的行业应用部门,可能还会使用dubbo进行服务调用。趁着编写教材的机会来进行学习下。而且目前Dubbo也出了springboot的starter项目了,借着SpringBoot的东风,集成起来很方便,基本上就一个依赖包引入的问题了。废话不多说,开始吧~ 一点知识 对于没有接触过Dubbo的同学,可以先了解下相关知识。 Dubbo简介 Dubbo 是

3512浏览
1推荐
0评论

白话SpringCloud | 第六章:Hystrix监控面板及数据聚合(Turbine) 原创

前言 前面一章,我们讲解了如何整合Hystrix。而在实际情况下,使用了Hystrix的同时,还会对其进行实时的数据监控,反馈各类指标数据。今天我们就将讲解下Hystrix Dashboard和Turbine.其中Hystrix Dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Command的请求响应时间, 请求成功率等数据,监控单个实例内的指标情况。后者Turbine,能够将多个实例指标数据进行聚合的工具。 Hystrix-Dashboard Hystrix-dashboard(仪表盘)是一款针对Hys

3602浏览
1推荐
0评论

白话SpringCloud | 第五章:服务容错保护(Hystrix) 原创

前言 前一章节,我们知道了如何利用RestTemplate+Ribbon和Feign的方式进行服务的调用。在微服务架构中,一个服务可能会调用很多的其他微服务应用,虽然做了多集群部署,但可能还会存在诸如网络原因或者服务提供者自身处理的原因,或多或少都会出现请求失败或者请求延迟问题,若服务提供者长期未对请求做出回应,服务消费者又不断的请求下,可能就会造成服务提供者服务崩溃,进而服务消费者也一起跟着不可用,严重的时候就发生了系统雪崩了。鉴于此,产生了断路器等一系列的服务保护机制。本章节

3616浏览
2推荐
0评论
首页上一页1234下一页尾页
意见反馈 帮助中心 APP下载
官方微信