摘要:
1. 简介 MQ(Message Queue)消息队列,是基础数据结构中“FIFO(先进先出)”的一种数据结构。 一般用来解决应用解耦,异步消息,流量削峰等问题,实现高性能,高可用,可伸缩和最终一致性架构。 应用解耦 MQ相当于一个中介,生产方通过MQ与消费方交互,它将应用程序进行解耦合。 异步消息 阅读全文 »
发表于 2021-09-09 23:28阅读:202评论:0推荐:4
发表于 2021-09-07 22:42阅读:676评论:0推荐:1
摘要:
1. 简介 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。因此OAUTH是安全的。OAuth是Open Authorization的简写。 而OAuth2.0是OAuth协议的下一版 阅读全文 »
发表于 2021-09-06 22:54阅读:686评论:0推荐:5
摘要:
1. 简介 我们在之前的博文中讲解了如何使用redis实现分布式锁,其实除了 redis 还有 zookeeper 也能实现分布式锁。 废话不多说,直接上图。 从整个流程中可以看出,zk实现分布式锁,主要是靠zk的临时顺序节点和watch机制实现的。 2. quick start Curator 是 阅读全文 »
发表于 2021-08-31 23:01阅读:531评论:0推荐:1
摘要:
1. 简介 zookeeper是一个开源的分布式协调服务, 提供分布式数据一致性解决方案,分布式应用程序可以实现数据统一配置管理、统一命名服务、分布式锁、集群管理等功能. ZooKeeper主要服务于分布式系统,使用分布式系统就无法避免对节点管理的问题(需要实时感知节点的状态、对节点进行统一管理等等 阅读全文 »
发表于 2021-08-23 23:07阅读:6323评论:1推荐:3
摘要:
1. 简介 官方地址 MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。 MinIO是一 阅读全文 »
发表于 2021-08-16 22:21阅读:833评论:0推荐:2
发表于 2021-08-16 00:46阅读:3171评论:0推荐:2
摘要:
1. 简介 布隆过滤器是防止缓存穿透的方案之一。布隆过滤器主要是解决大规模数据下不需要精确过滤的业务场景,如检查垃圾邮件地址,爬虫URL地址去重, 解决缓存穿透问题等。 布隆过滤器:在一个存在一定数量的集合中过滤一个对应的元素,判断该元素是否一定不在集合中或者可能在集合中。它的优点是空间效率和查询时 阅读全文 »
摘要:
1. 简介 随着技术的快速发展,业务系统规模的不断扩大,分布式系统越来越普及。一个应用往往会部署到多台机器上,在一些业务场景中,为了保证数据的一致性,要求在同一时刻,同一任务只在一个节点上运行,保证同一个方法同一时刻只能被一个线程执行。这时候分布式锁就运用而生了。 分布式锁有很多的解决方案。常见的有 阅读全文 »
发表于 2021-08-13 23:31阅读:5294评论:2推荐:5
摘要:
1. 简介 当我们对redis的基本知识有一定的了解后,我们再通过实战的角度学习一下在SpringBoot环境下,如何优雅的使用redis。 我们通过使用SpringBoot内置的Redis注解(文章最后有解释)来操作User相关的信息, 再通过Redis工具类的方式操作Role相关信息来全面的学习 阅读全文 »
发表于 2021-08-11 17:42阅读:322评论:0推荐:3
摘要:
1. 简介 如图所示,一个正常的请求 客户端请求张铁牛的博客。 服务首先会请求redis,查看请求的内容是否存在。 redis将请求结果返回给服务,如果返回的结果有数据则执行7;如果没有数据则会继续往下执行。 服务从数据库中查询请求的数据。 数据库将查询的结果返回给服务。 如果数据库有返回数据,则将 阅读全文 »