前言 概述 大多数应用中,可通过消息服务中间件来提升系统异步通信.扩展解耦的能力. 消息服务中两个重要概念:消息代理(message broker)和目的地(destination).当消息发送者发送消息后,将由消息代理接管,消息代理保证消息传递到指定目的地. 消息队列主要有两种形式的目的地: 队列(queue):点对点消息通信(point-to-point). 主题(topic):发布(publish)/订阅(subscribe)消息通信. 点对点: 消息发送者发送消息,消息代理将其放入一个队…
SpringSecurity介绍 Spring Security 是针对 Spring 项目的安全框架,也是 Spring Boot 底层安全模块默认的技术选型.它可以实现强大的 Web 安全控制.对于安全控制吧,我们仅如引入 Security 场景启动器,进行少量配置,即可实现强大的安全管理. 应用程序安全的主要两个区域就是“认证”和“授权”: 认证(Authentication):建立一个声明主体的过程,主体一般是指用户. 授权(Authorization):指确定一个主体是否允许在你的应用…
前言 分布式应用 在分布式系统中,国内常用 Zookeeper + Dubbo 组合,而 SpringBoot 推荐使用 Spring 提供的分布式一站式解决方案 Spring + SpringBoot + SpringCloud. 图 1:分布式架构图 Zookeeper和Dubbo Zookeeper 是一个分布式的,开放源码的分布式应用程序协调服务.它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护.域名维护.分布式同步.组服务等. Dubbo 是 Alibaba 开源的分…
ElasticSearch介绍 简介 我们的应用经常需要使用检索功能,开源的 Elasticsearch 是目前全文搜索引擎的首选.它可以快速的存储.搜索和分析海量数据.SpringBoot 通过整合 SpringData Elasticsearch 为我们提供了非常便捷的检索功能支持. Elasticsearch 是一个分布式搜索服务,提供 Restful API,底层基于 Lucene,采用多 shard(分片)的方式保证数据安全,并且提供自动 resharding 的功能,github 等…
本文只针对springboot整合rabbitmq的消息防丢失,话不多说,上干货.... 设置发送mq消息不丢失实现思路 执行的方案: 第一步,要对队列,消息以及交换机进行持久化操作(保存到物理磁盘中) 因为mq消息默认是保存在内存中 交换机我们在声明的时候可以进行持久化 @Bean(EX_BUYING_ADDPOINTUSER) public Exchange EX_BUYING_ADDPOINTUSER(){ return ExchangeBuilder.directExchange(EX_…
快速入门 一.helloworld示例 二.springboot单元测试 三.springboot热部署 web开发 整合redis thymeleaf使用 spring-data-jpa使用 整合mybatis 整合RabbitMQ 定时任务和邮件 整合shiro 打包部署和其他小技巧…
1.理论概述 1.1.分布式 分布式系统是若干独立计算机的集合,这些计算机对于用户来讲就像单个系统. 由多个系统集成成一个整体,提供多个功能,组合成一个板块,用户在使用上看起来是一个服务.(比如淘宝网). 起源 分布式系统出现的原因是:用多个廉价的.普通的机器完成单个计算机无法完成的计算.存储任务 分布式使用 只有单个节点处理能力无法满足日益增长的计算.存储任务的时候,且硬件的提升(内存.磁盘.CPU)高昂得不偿失的时候,应用程序也不能进一步优化的时候,才考虑分布式. 因为分布式系统是建立在网络…
简介 对于数据访问层,无论是 SQL 还是 NOSQL,SpringBoot 默认采用整合 SpringData 的方式进行统一处理,添加了大量的自动配置,引入了各种 Template.Repository 来简化我们对数据访问层的操作,我们使用时只需进行简单的配置即可. 整合JDBC 数据源获取 1.使用 maven 构建 SpringBoot 项目,引入如下场景启动器: 2.配置数据库连接相关信息: spring: datasource: username: root password: r…
Spring缓存抽象 介绍 Spring 从 3.1 版本开始定义了 org.springframework.cache.Cache 和 org.springframework.cache.CacheManager 接口来统一不同的缓存技术,并支持使用 JCache(JSR107)注解简化我们开发. 关于 JSR107: Java Caching 定义了 5 个核心接口,分别是 CachingProvider.CacheManager.Cache.Entry 和Expiry. CachingPr…
1.整合MyBatis操作 前面一篇提到了SpringBoot整合基础的数据源JDBC.Druid操作,实际项目中更常用的还是MyBatis框架,而SpringBoot整合MyBatis进行CRUD也非常方便. 下面从配置模式.注解模式.混合模式三个方面进行说明MyBatis与SpringBoot的整合. 1.1.配置模式 MyBatis配置模式是指使用mybatis配置文件的方式与SpringBoot进行整合,相对应的就有mybatis-config.xml(用于配置驼峰命名,也可以省略这个文…