前言 分布式应用 在分布式系统中,国内常用 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 等…
SpringSecurity介绍 Spring Security 是针对 Spring 项目的安全框架,也是 Spring Boot 底层安全模块默认的技术选型.它可以实现强大的 Web 安全控制.对于安全控制吧,我们仅如引入 Security 场景启动器,进行少量配置,即可实现强大的安全管理. 应用程序安全的主要两个区域就是“认证”和“授权”: 认证(Authentication):建立一个声明主体的过程,主体一般是指用户. 授权(Authorization):指确定一个主体是否允许在你的应用…
前言 概述 大多数应用中,可通过消息服务中间件来提升系统异步通信.扩展解耦的能力. 消息服务中两个重要概念:消息代理(message broker)和目的地(destination).当消息发送者发送消息后,将由消息代理接管,消息代理保证消息传递到指定目的地. 消息队列主要有两种形式的目的地: 队列(queue):点对点消息通信(point-to-point). 主题(topic):发布(publish)/订阅(subscribe)消息通信. 点对点: 消息发送者发送消息,消息代理将其放入一个队…
1.理论概述 1.1.分布式 分布式系统是若干独立计算机的集合,这些计算机对于用户来讲就像单个系统. 由多个系统集成成一个整体,提供多个功能,组合成一个板块,用户在使用上看起来是一个服务.(比如淘宝网). 起源 分布式系统出现的原因是:用多个廉价的.普通的机器完成单个计算机无法完成的计算.存储任务 分布式使用 只有单个节点处理能力无法满足日益增长的计算.存储任务的时候,且硬件的提升(内存.磁盘.CPU)高昂得不偿失的时候,应用程序也不能进一步优化的时候,才考虑分布式. 因为分布式系统是建立在网络…
在分布式系统中, 国内常用zookeeper+dubbo组合,而Spring Boot推荐使用全栈的Spring,Spring Boot,Spring Cloud. 分布式系统: 一.Zookeeper和Dubbo概览 1.1 ZooKeeper ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务.它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护.域名服务.分布式同步.组服务等. 1.2 Dubbo Dubbo是Alibaba开源的分布式服务框架,它最大的特点是…
Spring缓存抽象 介绍 Spring 从 3.1 版本开始定义了 org.springframework.cache.Cache 和 org.springframework.cache.CacheManager 接口来统一不同的缓存技术,并支持使用 JCache(JSR107)注解简化我们开发. 关于 JSR107: Java Caching 定义了 5 个核心接口,分别是 CachingProvider.CacheManager.Cache.Entry 和Expiry. CachingPr…
简介 对于数据访问层,无论是 SQL 还是 NOSQL,SpringBoot 默认采用整合 SpringData 的方式进行统一处理,添加了大量的自动配置,引入了各种 Template.Repository 来简化我们对数据访问层的操作,我们使用时只需进行简单的配置即可. 整合JDBC 数据源获取 1.使用 maven 构建 SpringBoot 项目,引入如下场景启动器: 2.配置数据库连接相关信息: spring: datasource: username: root password: r…
1.整合MyBatis操作 前面一篇提到了SpringBoot整合基础的数据源JDBC.Druid操作,实际项目中更常用的还是MyBatis框架,而SpringBoot整合MyBatis进行CRUD也非常方便. 下面从配置模式.注解模式.混合模式三个方面进行说明MyBatis与SpringBoot的整合. 1.1.配置模式 MyBatis配置模式是指使用mybatis配置文件的方式与SpringBoot进行整合,相对应的就有mybatis-config.xml(用于配置驼峰命名,也可以省略这个文…
前言 在 SpringBoot 很火热的时候,阿里巴巴的分布式框架 Dubbo 不知是处于什么考虑,在停更N年之后终于进行维护了.在之前的微服务中,使用的是当当维护的版本 Dubbox,整合方式也是使用的 xml 配置方式. 改造前 之前在 SpringBoot 中使用 Dubbox是这样的.先简单记录下版本,Dubbox-2.8.4.zkclient-0.6.zookeeper-3.4.6. 项目中引入 spring-context-dubbo.xml 配置文件如下: <?xml versio…