摘要:
Apollo架构设计 Apollo有一点很好,就是它是由国内携程团队开发,而且文档写的很全,代码也完全开源。如果去了解它也可以直接去看它的官方文档。 一、配置中心概念 1、背景 在实际开发中都会与配置打交道,举个简单例子,我们开发项目肯定会连接数据库,mysql也好oracle也好。那么我们 本地环 阅读全文
摘要:
image.png 为什么 Elasticsearch/Lucene 检索可以比 mysql 快 Mysql 只有 term dictionary 这一层,是以 b-tree 排序的方式存储在磁盘上的。检索一个 term 需要若干次的 random access 的磁盘操作。而 Lucene 在 t 阅读全文
摘要:
Redis实现的分布式锁 # 对资源key加锁,key不存在时创建,并且设置,10秒自动过期 SET key value EX 10 NX # 删除key DEL key NX的作用 NX参数是为了保证当分布式锁不存在时,只有一个client能写入次key成功,获取到锁。 分布式锁的第一核心要素就是 阅读全文
摘要:
上一篇Spring Boot我们简单讲了如何快速创建一个SpringBoot项目。大家都知道SpringBoot非常强大,可以轻松与各种工具集成,但是我们知其然,也必须知其所以然。今天开始就和大家一起学习一下SpringBoot核心,核心由于过于重要,需要分成好几章,今天我们先来看看基本配置。 入口 阅读全文
摘要:
开发一个电商项目,因为数据量一直在增加(已达亿级),所以需要重构之前开发好的秒杀功能,为了更好的支持高并发,在验证用户是否重复购买的环节,就考虑用布隆过滤器。 也顺便更加深入的去了解下布隆过滤器的原理,感觉还是蛮有意思的,这一连串的公式不静下心来思考,很容易被绕晕。 一、概述 1、什么是布隆过滤器 阅读全文
摘要:
1、首先看一下下面两个sql语句的区别: <select id="selectByNameAndPassword" parameterType="java.util.Map" resultMap="BaseResultMap"> select id, username, password, role 阅读全文
摘要:
消息队列MQ概述 消息队列(Message Queue,简称MQ),指保存消息的一个容器,本质是个队列。 消息(Message)是指在应用之间传送的数据,消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。 下图便是消息队列的基本模型,向消息队列中存放数据的叫做生产者,从消息队列 阅读全文
摘要:
一、定时任务 1、步骤: 1:在启动类上写@EnableScheduling注解 2:在要定时任务的类上写@component 3:在要定时执行的方法上写@Scheduled(fixedRate=毫秒数)。 2、示例 主类 @SpringBootApplication @EnableScheduli 阅读全文
摘要:
在没有用SpringBoot之前,我们用spring和springMVC框架,但是你要做很多比如: (1)配置web.xml,加载spring和spring mvc 2)配置数据库连接、配置spring事务 3)配置加载配置文件的读取,开启注解 4)配置日志文件 会比较繁琐,但是用springBoo 阅读全文
摘要:
认证+授权代码实现 Spring Security是 一种基于 Spring AOP 和 Servlet 过滤器的安全框架。它提供全面的安全性解决方案,同时在 Web 请求级和方法调用级处理身份确认和授权。 有关认证和授权的理论知识,之前有写过相关博客。了解权限管理 一、SpringSceurity 阅读全文