
SpringBoot
文章平均质量分 79
帅骚贯彻一生
这个作者很懒,什么都没留下…
展开
-
基于Guava的RateLimiter设计常用接口限流功能
Guava是一组核心库,包括新的集合类型(例如multimap和multiset),不可变集合,图形库,函数类型,内存缓存以及用于并发,I / O,散列,基元的API /实用程序,反射,字符串处理等等!本示例只使用了Guava工具包的RateLimiter类,进行API的限流。限流简介:限流中的“流”字该如何解读呢?要限制的指标到底是什么?不同的场景对“流”的定义也是不同的,可以是网络流量,...原创 2018-11-20 23:57:46 · 1440 阅读 · 0 评论 -
SpringBoot Maven项目构建Docker镜像
使用Maven构建Docker镜像插件:pom.xml 文件,添加插件 <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId>...原创 2018-12-22 00:00:50 · 839 阅读 · 0 评论 -
SpringBoot集成Shiro、JWT 进行请求认证和鉴权
什么是JWT?JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且独立的方式,可以在各方之间作为JSON对象安全地传输信息。此信息可以通过数字签名进行验证和信任。JWT可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对进行签名。虽然JWT可以加密以在各方之间提供保密,但我们将专注于签名令牌。签名令牌可以验证其中包含的声明的完整性,而加...原创 2018-12-23 14:59:01 · 5647 阅读 · 17 评论 -
Springboot+Gradle+Docker构建多模块项目
背景引入子模块时exclude失效Gradle Docker plugin推荐Docker打包SpringBoot多模块项目gradle构建的jar包找不到main入口背景原有Springboot基于Maven构建的多模块项目需要改为Gradle版的多模块项目,派我前去开荒,我便傻傻的入坑了。阅读前:请先对gradle有一定了解,概念什么的我就不多说,网上教程大把...原创 2018-07-19 22:09:10 · 3237 阅读 · 4 评论 -
SpringBoot 搭建并使用Kafka消息中间件
简介Kafka 是一种高吞吐的分布式发布订阅消息系统,能够替代传统的消息队列用于解耦合数据处理,缓存未处理消息等,同时具有更高的吞吐率,支持分区、多副本、冗余,因此被广泛用于大规模消息数据处理应用。Kafka 支持Java 及多种其它语言客户端,可与Hadoop、Storm、Spark等其它大数据工具结合使用。使用Docker安装kafka和可视化管理界面这里我为了方便使用,将其整理成了一个...原创 2018-12-28 22:01:21 · 1503 阅读 · 0 评论 -
SpringBoot 2.0 集成Atomikos、Durid 实现多数据源、分布式事务
使用JTA处理分布式事务Spring Boot通过Atomkos或Bitronix的内嵌事务管理器支持跨多个XA资源的分布式JTA事务,当部署到恰当的J2EE应用服务器时也会支持JTA事务。当发现JTA环境时,Spring Boot将使用Spring的 JtaTransactionManager 来管理事务。自动配置的JMS,DataSource和JPA beans将被升级以支持XA事务。可以...原创 2019-01-18 22:59:02 · 2790 阅读 · 0 评论 -
SpringBoot 2.0 连接 Redis 主从、哨兵集群
上一篇文章中我使用docker-compose搭建了redis的主从复制,并启动3个哨兵容器相互监控。https://blog.youkuaiyun.com/qq_39211866/article/details/88044546现在,我要使用SpringBoot来连接redis集群,由于使用了哨兵模式,显然,不能向之前配置单节点那样配置连接池了,节点经过故障转移后,主从结构已经发生了改变且主已经...原创 2019-03-01 20:34:55 · 7310 阅读 · 1 评论 -
Springboot 2 集成 Nsq 消息中间件实现生产消费应用
什么是NSQ?NSQ是一个实时分布式消息传递平台。具体特性请前往Nsq官网查看了解,下面是我平常在Springboot项目对Nsq使用的一些技巧。简介Nsq集成Java可基于JavaNSQClient实现,该jar包帮助我们封装了操作nsq的一些api。下面我们构建两个SpringBoot测试项目,分别为SpringBoot-Nsq-Consumer,SpringBoot-Nsq-Podu...原创 2019-03-08 23:22:01 · 2090 阅读 · 0 评论 -
SpringBoot2 集成SpringSecurity对资源访问认证
在日常开发中,难免会遇到权限相关的需求,关于权限处理这一块,用的比较多的安全框架分别是Shiro和Spring全家桶中的Spring-Security,之前已经使用过Shiro,对它也有一定的了解,下面是对Spring-Security学习做的记录。概述Spring Security 是一个能够为基于 Spring 的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在...原创 2019-05-16 22:30:32 · 2636 阅读 · 0 评论 -
SpringBoot 结合 Thrift 构建远程服务调用
什么是Thrift?Thrift 的跨语言特性thrift通过一个中间语言IDL(接口定义语言)来定义RPC的数据类型和接口,这些内容写在以.thrift结尾的文件中,然后通过特殊的编译器来生成不同语言的代码,以满足不同需要的开发者,比如java开发者,就可以生成java代码,c++开发者可以生成c++代码,生成的代码中不但包含目标语言的接口定义,方法,数据类型,还包含有RPC协议层和传输层的...原创 2019-07-09 16:21:30 · 2625 阅读 · 2 评论 -
SpringBoot集成Elasticsearch 进阶,实现中文、拼音分词,繁简体转换高级搜索
Elasticsearch 分词分词分为读时分词和写时分词。读时分词发生在用户查询时,ES 会即时地对用户输入的关键词进行分词,分词结果只存在内存中,当查询结束时,分词结果也会随即消失。而写时分词发生在文档写入时,ES 会对文档进行分词后,将结果存入倒排索引,该部分最终会以文件的形式存储于磁盘上,不会因查询结束或者 ES 重启而丢失。写时分词器需要在 mapping 中指定,而且一经指定就不...原创 2018-12-21 23:24:55 · 14755 阅读 · 3 评论 -
热数据本地缓存 - ehcache
什么是ehCacheEhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。一、具体描述Ehcache是一个用Java实现的使用简单,高速,实现线程安全的缓存管理类库,ehcache提供了用内存,磁盘文件存储,以及分布式存储方式等多种灵活的cache管理方案。同时ehcache作为开放源代码项目,采用限制比较宽松的Apa...原创 2018-12-12 22:20:45 · 694 阅读 · 0 评论 -
SpringBoot集成Memcached实例
什么是Memcached?Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度,以减少必须读取外部数据源(如数据库或API)的次数。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon)是用C写的,但是客户端可以用任何语言来编写,并通过mem...原创 2018-11-21 00:06:15 · 1158 阅读 · 0 评论 -
SpringBoot 2.0 使用 Thymeleaf 实现前后端分离
通过一个简单的与Springboot集成Demo认识Thymeleaf模板文章目录通过一个简单的与Springboot集成Demo认识Thymeleaf模板什么是ThymeleafThymeleaf 的基础使用前后端分离做法什么是ThymeleafThymeleaf是一种Java XML / XHTML / HTML5模板引擎,可以在Web和非Web环境中使用。它更适合在基于MVC的Web应...原创 2018-11-24 20:58:09 · 32853 阅读 · 16 评论 -
基于官方推荐的Redisson实现Redis分布式锁
RedLock 简介在不同进程需要互斥地访问共享资源时,分布式锁是一种非常有用的技术手段。实现高效的分布式锁有三个属性需要考虑:安全属性:互斥,不管什么时候,只有一个客户端持有锁效率属性A:不会死锁效率属性B:容错,只要大多数redis节点能够正常工作,客户端端都能获取和释放锁。解铃还须系铃人。加锁和解锁必须是同一个客户端,客户端自己不能把别人加的锁给解了。 Redlock是red...原创 2018-12-05 21:29:07 · 4909 阅读 · 1 评论 -
基于 Redis 实现分布式锁
什么是Redis?Redis通常被称为数据结构服务器。这意味着Redis通过一组命令提供对可变数据结构的访问,这些命令使用带有TCP套接字和简单协议的服务器 - 客户端模型发送。因此,不同的进程可以以共享方式查询和修改相同的数据结构。Redis中实现的数据结构有一些特殊属性:Redis关心将它们存储在磁盘上,即使它们总是被提供并修改到服务器内存中。这意味着Redis速度很快,但这也是非易失性...原创 2018-12-05 21:29:59 · 1849 阅读 · 1 评论 -
SpringBoot集成Mybatis实现多数据源
SpringBoot 集成 Mybatis实现双数据源Mybatis 常用ORM工具,不过多介绍,与SpringBoot集成实现单数据源可参考:https://github.com/liaozihong/SpringBoot-Learning/tree/master/SpringBoot-Mybatis导入jar包,使用druid连接池compile group: 'com.alibaba...原创 2018-12-05 21:31:29 · 789 阅读 · 0 评论 -
SpringBoot集成WebSocket 打造聊天室
SpringBoot 集成 WebSocket什么是WebSocket?WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术。依靠这种技术可以实现客户端和服务器端的长连接,双向实时通信。WebSocket协议被设计来取代用HTTP作为传输层的双向通讯技术,基于大部分Web服务都是HTTP协议,WebSocket仍使用HTTP来作为初始的握手(handshak...原创 2018-12-05 21:33:15 · 1071 阅读 · 2 评论 -
SpringBoot 集成 E-mail发送各种类型的邮件
SpringBoot 集成 E-mail发送邮件JDK本身有自带发送邮件api,加上SpringBoot在进行封装,使得现在使用起来十分快速简洁。话不多说,参考纯洁的微笑博客,更改jar版本为2.0.4 开干,基本没什么坑。就是配置邮箱账号密码是,如果是qq邮箱,需要开启PO30和STMP服务,并且获取临时授权码。开启服务链接:https://mail.qq.com/cgi-bin/fr...原创 2018-12-05 21:36:24 · 5858 阅读 · 2 评论 -
基于Zookeeper实现分布式锁
SpringBoot集成Zookeeper实现分布式锁什么是Zookeeper?Zookeeper 是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务、配置维护和命名服务等等。采用下图描述zookeeper协调服务。Zookeeper特性ZooKeeper非常快速且非常简单。但是,由于其目标是构建更复杂的服务(如同步)的基础,因此它提供...原创 2018-12-05 21:38:01 · 4843 阅读 · 0 评论 -
SpringBoot 集成Elasticsearch 实现增删改查
Elasticsearch简介Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。ES安装x-pack后,默认的账户有三个...原创 2018-12-12 22:18:07 · 2627 阅读 · 0 评论 -
Java 使用 Grpc 快速入门
Grpc的原理一个RPC框架必须有两个基础的组成部分:数据的序列化和进程数据通信的交互方式。对于序列化gRPC采用了自家公司开源的Protobuf。什么是Protobuf?Google Protocol Buffer(简称 Protobuf) 是一种与语言无关,平台无关的可扩展机制,用于序列化结构化数据。使用Protocol Buffers 可以一次定义结构化的数据,然后可以使用特殊生...原创 2019-07-25 23:22:43 · 5458 阅读 · 1 评论