![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
springboot系列
时间都哪去了
拥有10多年的经验,精通分布式存储、分布式事务、分布式缓存相关技术、dubbo、Spring Cloud分布式微服务架构
、深度学习框架Tensorflow、Scikit-learn
展开
-
SpringBoot 集成Kafka操作详解
目录[-]. 一、概念知识 . 什么是消息中间件 . 什么是 Kafka . Kafka 特性 . 使用场景 . 基本概念 . 生产者 ACKS 机制 . 消费者更新 Offset 偏移量两种方式 . 二、SpringBoot 操作 Kafka 示例 . 1、Maven 引入 Kafka 相关组件 . 2、Topic 配置 . 3、Producer 配置 . 4、Consumer 配置 . 三、SpringBoot 操作 Kafka 详解 . 1、Producer Templ转载 2020-10-23 10:15:54 · 4433 阅读 · 3 评论 -
Spring Boot 消息队列 RabbitMQ 入门系列教程
1. 概述 2. Spring-AMQP 3. 快速入门 4. 批量发送消息 5. 批量消费消息 6. 批量消费消息(第二弹) 7. 消费重试 8. 定时消息 9. 消息模式 10. 并发消费 11. 顺序消息 12. 事务消息 13. 消费者的消息确认 14. 生产者的发送确认 15. RPC 远程调用 16. MessageConverter 17. 消费异常处理器 666. 彩蛋本文在提供完整代码示例,可见https://github.com/YunaiV/Sp.转载 2020-09-08 17:15:41 · 593 阅读 · 0 评论 -
SpringBoot RabbitMQ死信队列实践
死信队列可以实现消息在未被正常消费的场景下,对这些消息进行其他处理,保证消息不会被丢弃。# 概念: 消息会变成死信消息的场景: 消息被(basic.reject() or basic.nack()) and requeue = false,即消息被消费者拒绝签收,并且重新入队为false。 1.1 有一种场景需要注意下:消费者设置了自动ACK,当重复投递次数达到了设置的最大retry次数之后,消息也会投递到死信队列,但是内部的原理还是调用了nack/reject。 消息过期,过了TTL.原创 2020-09-08 17:10:24 · 596 阅读 · 0 评论 -
SpringBoot为什么没有web.xml了(转)- 深度好文
今天我们来放松下心情,不聊分布式,云原生,来聊一聊初学者接触的最多的 java web 基础。几乎所有人都是从 servlet,jsp,filter 开始编写自己的第一个 hello world 工程。那时,还离不开 web.xml 的配置,在 xml 文件中编写繁琐的 servlet 和 filter 的配置。随着 spring 的普及,配置逐渐演变成了两种方式—java configuration 和 xml 配置共存。现如今,springboot 的普及,java configuration 成了主流转载 2020-08-31 12:50:58 · 1401 阅读 · 0 评论 -
SpringBoot Starter机制原理 - 自定义Starter
Spring Boot由众多Starter组成,随着版本的推移Starter家族成员也与日俱增。在传统Maven项目中通常将一些层、组件拆分为模块来管理, 以便相互依赖复用,在Spring Boot项目中我们则可以创建自定义Spring Boot Starter来达成该目的。本篇将通过一个简单的例子来演示如何编写自己的starter1、添加maven依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http..原创 2020-08-31 12:04:23 · 268 阅读 · 0 评论 -
SpringBoot 集成Elastic-job实现分布式定时任务
elastic-job是当当开源的一款分布式定时作业框架。在这之前,我们开发定时任务一般都是使用quartz或者spring-task(ScheduledExecutorService),无论是使用quartz还是spring-task,我们都会至少遇到两个痛点:不敢轻易跟着应用服务多节点部署,可能会重复多次执行而引发系统逻辑的错误。 quartz的集群仅仅只是用来HA,节点数量的增加并不能给我们的每次执行效率带来提升,即不能实现水平扩展。elastic-job在2.x之后,出了两个产品线:El原创 2020-08-30 19:19:40 · 920 阅读 · 0 评论 -
Spring Boot + Retrofit实现接口调用
Retrofit简介Retrofit是Java和Android的REST客户端。 它使通过基于REST的webService和JSON(或其他结构化数据)变得相对容易。 在Retrofit中,您可以配置用于数据序列化的转换器。 通常对于JSON使用GSon,但您可以添加自定义转换器来处理XML或其他协议。 Retrofit使用OkHttp库进行HTTP请求。 retrofit 更类似于 spring 的restTemplate 对已有网络请求libary 再次封装,更像是一种增强类似lombok原创 2020-08-12 13:44:39 · 3029 阅读 · 1 评论 -
SpringFox 3尝鲜 集成SpringBoot生成Swagger接口文档
SpringFox简介SpringFox是一个开源的API Doc的框架, 它的前身是swagger-springmvc,可以将我们的Controller中的方法以文档的形式展现。官方定义为:Automated JSON API documentation for API's built with Spring。SpringFox3快速应用 maven项目依赖 <dependency> <groupId>io.springfox</groupI...原创 2020-08-10 16:50:40 · 3864 阅读 · 5 评论 -
Springboot系列之Shiro、JWT、Redis 进行认证鉴权
Shiro架构Apache Shiro是一个轻量级的安全框架Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境。 Shiro可以帮助我们完成:认证、授权、加密、会话管理、与Web集成、缓存等。这不就是我们想要的嘛, 而且Shiro的API也是非常简单;其基本功能点如下图所示:Authentication:身份认证/登录,验证用户是不是拥有相应的身份; Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判原创 2020-07-16 12:42:48 · 962 阅读 · 1 评论 -
Spring Boot+JWT快速实现简单的接口鉴权
一般服务的安全包括认证(Authentication)与授权(Authorization)两部分,认证即证明一个用户是合法的用户,比如通过用户名密码的形式,授权则是控制某个用户可以访问哪些资源。比较成熟的框架有Shiro、Spring Security,如果要实现第三方授权模式,则可采用OAuth2。但如果是一些简单的应用,比如一个只需要鉴别用户是否登录的APP,则可以简单地通过注解+拦截器的方式来实现。本文介绍了具体实现过程,虽基于Spring Boot实现,但稍作修改(主要是拦截器配置)就可以引入其它S原创 2020-07-14 22:33:44 · 2275 阅读 · 1 评论 -
Springboot+ solr 快速入门指南
Solr基于Lucene的Java搜索引擎服务器Apache Lucene项目的开源企业搜索平台。其主要功能包括全文检索、命中标示、分面搜索、动态聚类、数据库集成,以及富文本(如Word、PDF)的处理。Solr是高度可扩展的,并提供了分布式搜索和索引复制。Solr是最流行的企业级搜索引擎,Solr4 还增加了NoSQL支持。Solr安装配置 1.下载Solr安装包 wgethttps://downloads.apache.org/lucene/solr/8.5.2/solr-8.5...原创 2020-06-12 16:57:07 · 765 阅读 · 0 评论 -
SpringBoot + ShardingSphere 实现分库分表
ShardingSphere定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。 它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。代码实现: ...原创 2020-06-08 13:19:13 · 995 阅读 · 1 评论 -
Spring Boot整合Mybatis极简配置实现
1. 前言ORM 框架的目的是简化程式设计中的资料库操作,经过这么多年的发展,基本上活到现在的就剩下两家了,一个是宣称可以不用写SQL 的Hibernate ,一个是对SQL 非常友好的Mybaties ,,两者各有特点,在企业级系统开发中可以根据需求灵活使用。发现一个有趣的现象:传统企业大都喜欢使用Hibernate ,网际网路行业通常使用Mybatis 。Hibernate 特点就是所有的SQL 都用Java 程式码来生成,不用跳出程式去写(看) SQL ,有着程式设计的完整性,发展到最顶端就是原创 2020-07-08 09:05:26 · 520 阅读 · 0 评论 -
Spring Boot性能调优
Spring 框架给企业软件开发者提供了常见问题的通用解决方案,包括那些在未来开发中没有意识到的问题。但是,它构建的 J2EE 项目变得越来越臃肿,逐渐被 Spring Boot 所替代。Spring Boot 让我们创建和运行项目变得更为迅速,现在已经有越来越多的人使用它。我们已经在几个项目中使用了 Spring Boot ,今天我们就来一起讨论一下如何改进 Spring Boot 应用的性能。首先,从之前我在开发中遇到的一个问题说起。在一次查看项目运行日志的时候,我偶然发现了一个问题,日志里显示这个原创 2020-07-05 10:00:34 · 1119 阅读 · 0 评论 -
Spring Boot 2 WebFlux Restful 基于annotation实现 教程(二)
一、简介Spring WebFluxSpring 官方文档对 Spring WebFlux 介绍如下:FROMhttps://docs.spring.io/spring-framework/docs/5.0.0.BUILD-SNAPSHOT/spring-framework-reference/html/web-reactive.htmlSpring Framework 5 includes a new spring-webflux module. The module contains.原创 2020-07-04 17:52:41 · 257 阅读 · 0 评论 -
Spring Boot redis实现基于“发布/订阅”模型的消息队列
1.简介 MQ中间件通常有ActiveMQ、RabbitMQ、Kafka等等。除此之外,Redis也可以用作基于“发布/订阅”模型的消息推送,不过Redis实现的是一种简单的消息队列,不仅在可靠性方面比不上其他专业的消息中间件,而且Redis的消息推送也不支持Topic分组、点对点模型的消息队列。如果我们已经在项目中使用Redis作数据缓存,同时我们的消息推送数量也不大,对可靠性要求也不是特别高,那么我们就可以使用Redis来实现消息队列了。今天我们就基于redis 来实现一个发布-订阅的消息.原创 2020-07-01 16:15:04 · 484 阅读 · 0 评论 -
SpringBoot 分布式 Session 共享解决方案
分布式Session一致性?说白了就是服务器集群Session共享的问题,集群情况下,session保存在各自的服务器的tomcat中,当分发地址至不同服务时,导致sesson取不到,就会产生session共享问题。Session的作用?Session 是客户端与服务器通讯会话跟踪技术,服务器与客户端保持整个通讯的会话基本信息。客户端在第一次访问服务端的时候,服务端会响应一个sessionId并且将它存入到本地cookie中,在之后的访问会将cookie中的sessionId放入到请求头中去原创 2020-07-01 07:32:28 · 631 阅读 · 1 评论