github:https://github.com/peterowang/shiro-cas    本文如有配置问题,请查看之前的springboot集成shiro的文章1.配置ehcache缓存,在resource下创建config,再创建ehcache-shiro.xml添加:<?xml version="1.0" encoding="UTF-8"?> <
转载 2024-06-24 11:47:57
35阅读
Redis客户端与服务端的模型可以简化成下图,每次客户端调用都经历了发送命令、执行命令、返回结果三个过程。我们说的单线程就是在第二步执行命令,一条命令从从客户端达到服务端不会立刻被执行,而是会进入一个队列中等待,每次只会有一条指令被选中执行。发送命令、返回结果、命令排队这些就不是那么简单了,例如Redis使用了I/O多路复用技术来解决I/O的问题。1.2、Redis为什么要使用单线程这是官方的解释
转载 2024-09-12 08:40:44
55阅读
# 实现Redisson风险教程 ## 一、整体流程 下面是实现Redisson分布式锁的整体流程: | 步骤 | 描述 | | --- | --- | | 1 | 获取Redisson实例 | | 2 | 使用Redisson实例创建锁对象 | | 3 | 尝试获取锁 | | 4 | 执行业务逻辑 | | 5 | 释放锁 | ## 二、具体步骤 ### 1. 获取Redisson实例
原创 2024-04-28 07:10:31
22阅读
单点系统架构传统项目架构传统项目分为三层架构,将业务逻辑层、数据库访问层、控制层放入在一个项目中。优点:适合于个人或者小团队开发,不适合大团队开发。                                    
转载 2023-09-27 09:20:09
67阅读
单点登录介绍 SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。为什么要单点登录在平常写案例的时候,如果只有一个web工程。如果要访问用户相关信息,那么我们通常会写个拦截器,从session中看能不能
一、前言本篇文章简单介绍了一下SSO的概念及原理,然后使用SpringBoot+Redis实现了一个简单的SSO系统。系统使用ticket的形式,依靠cookie携带ticket向sso服务器进行验证,验证通过后允许访问请求地址。项目地址:二、SSO介绍SSO(Single Sign On),单点登录,简单来说就是在一个具有多个子系统的系统中,只用登录一个子系统,然后访问其他子系统时不需要再次登录
转载 2023-09-29 23:19:33
29阅读
单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。技术事项原理当用户第一次访问应用系统的时候,因为还没有登录,会被引导到认证系统中 进行登录;根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,应该返回给用户一个认证的凭据--ticket;用户再访问别的应
这就是现实世界的复杂性,虽然看起来的一件事情,也可能很复杂。当然,简单未必就好,复杂也未必就差。那都只是选择,或是一种感觉,随心、随意、随缘,就好。
原创 2017-12-17 11:18:38
906阅读
1.在分布式系统架构下是每一个系统都是由一个团队进行维护,每个系统都是单独部署运行一个单独的应用容器如Tomcat,所以,不能将用户的登录信息保存到session中。 多个tomcat的session一般是不能共享的,虽然我们可以利用tomcat自身的session同步功能,但随着机器和业务量增加,
转载 2017-02-24 18:37:00
223阅读
2评论
上一篇文章主要侧重如何获取锁以及所获取成功的场景,本文将着重对失败以及解锁的情况进行分析,探寻Redisson分布式锁最具艺术的地方。 @Override public boolean tryLock(long waitTime, long leaseTime, TimeUnit unit) throws InterruptedException { long time
转载 2023-11-02 13:54:44
90阅读
分布式架构-Redisson 框架介绍使用一、RedissonRedisson是架设在Redis基础上的一个Java驻内存数据网格。在基于NIO的Netty框架上,充分的利用了Redis键值数据库提供的一系列优势,在Java实用工具包中常用接口的基础上,为使用者提供了一系列具有分布式特性的常用工具类。使得原本作为协调单机多线程并发程序的工具包获得了协调分布式多机多线程并发系统的能力,大大降低了设计
转载 2023-08-30 10:16:47
270阅读
一、Redisson概述什么是RedissonRedisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。 它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。 其中包括(BitSet, Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque,
转载 2023-05-29 14:58:19
1432阅读
    Redisson分布式锁的使用1.依赖:<!-- 原生,本章使用--> <dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> <version&g
转载 2023-11-01 23:04:36
97阅读
任务调度常见方案说起任务调度,很多时候我们都在用单机的任务调度器,比如Timer、ScheduledThreadPoolExecutor或者Spring内置的@Scheduled。还有就是一些可以整合到项目中的任务调度框架,如Quartz。要么就是分布式任务调度中间件,比如xxl-job等等……优缺点:单机任务调度,简单方便,但是在多机部署的环境下,需要考虑并处理任务同时触发的情况。虽然这个问题可
目录热身KEYS patternEXISTS keyDEL key [key ...]TYPE key字符串类型(string)散列类型(hash)列表类型(list)集合类型(set)有序集合类型(sorted set)热身KEYS pattern获取符合规则的键名列表KEYS patternpattern支持glob风格通配符格式,具体规则如下符号含义?匹配一个字符*匹配任意个(包括0个)字符
转载 2023-09-22 10:50:48
183阅读
1. 可重入锁(Reentrant Lock)基于Redis的Redisson分布式可重入锁RLock Java对象实现了java.util.concurrent.locks.Lock接口。同时还提供了异步(Async)、反射式(Reactive)和RxJava2标准的接口。RLock lock = redisson.getLock("anyLock"); // 最常见的使用方法 lock.loc
转载 2023-10-05 23:27:28
0阅读
前言Java缓存实现方案有很多,最基本的自己使用Map去构建缓存,再高级点的使用Ehcache或者Goolge的guava作为内存缓存框架,Ehcache可以满足单机缓存的需求(Ehcache的具体使用在我过往的文章中有所介绍),如果我们是多台机子共用缓存数据的话,Ehcache可通过rmi,jgroup,jms的方式实现,但是实用性与操作性不高且复杂,现时大部分应用仅用Ehcache作为单机缓存
转载 2023-08-25 11:44:53
402阅读
所谓单点登录,SSO(Single Sign On),就是把N个应用的登录系统整合在一起,这样一来无论用户登录了任何一个应用,都可以直接以登录过的身份访问其他应用,不用每次访问其他系统再去登陆一遍了。Spring Security没有实现自己的SSO,而是整合了耶鲁大学单点登陆(JA-SIG),这是当前使用很广泛的一种SSO实现,它是基于中央认证服务CAS(Center Authenticatio
转载 2月前
356阅读
单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。目前市面上有很多实现单点登录的方案,例如CAS,Token颁发校验,Cookie+域名+路径配置,在这里主要是想介绍一下第三种方案的实现方式。   过程:   &n
转载 2024-03-29 10:30:38
54阅读
第四部分:spring security使用cas单点登录配置  spring security本身就提供了对cas的支持,只需要简单的配置就可以实现单点登录。   由于客户端项目没有使用spring security自带的权限管理,采用了自定义的实现,配置起来比正常的spring security要复杂一些。(一)spring security域cas集成配置1、增加cas依赖  需要为客户端
转载 2024-03-20 22:35:28
584阅读
  • 1
  • 2
  • 3
  • 4
  • 5