java web 项目来的系统权限管理设计方法源有两种:
方法一、SpringMVC整合Shiro (Shiro是强大的权限管理框架)
参考:http://www.360doc.com/content/14/0529/09/11298474_381916189.shtml
方法二、基于角色的访问权限控制
基于角色的访问权限控制
首先基于角色的访问权限控制,所有的用户访问都会经过过滤,然后分析访问权限加以认证!权限中的重点,表的设计。
普遍三张表,表名自定义。用户表(User),角色表(Role),资源表(Resource)
用户表没有特别,很简单。关键是角色表和资源表。
Ⅱ java 目前市面上比较火的框架有哪些
Java 始终排在第一位,这使它成为有史以来最著名的软件编程语言之一。及时的更新和新版本发布使它成为一种充满活力的、有竞争力的编程语言。
2020年最常用的java框架
十大常用框架:
一、SpringMVC
二、Spring
三、Mybatis
四、Dubbo
五、Maven
六、RabbitMQ
七、Log4j
八、Ehcache
九、Redis
十、Shiro
一、SpringMVC
Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。
模型(Model )封装了应用程序的数据和一般他们会组成的POJO。
视图(View)是负责呈现模型数据和一般它生成的HTML输出,客户端的浏览器能够解释。
控制器(Controller )负责处理用户的请求,并建立适当的模型,并把它传递给视图渲染。
Spring的web模型 - 视图 - 控制器(MVC)框架是围绕着处理所有的HTTP请求和响应的DispatcherServlet的设计。
Spring Web MVC处理请求的流程
具体执行步骤如下:
1、 首先用户发送请求————>前端控制器,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;图2-1中的1、2步骤;
2、 页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在Spring Web MVC中叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个ModelAndView(模型数据和逻辑视图名);图2-1中的3、4、5步骤;
3、 前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染;图2-1中的步骤6、7;
4、 前端控制器再次收回控制权,将响应返回给用户,图2-1中的步骤8;至此整个结束。
二、Spring
2.1、IOC容器:
IOC容器就是具有依赖注入功能的容器,IOC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。应用程序无需直接在代码中new相关的对象,应用程序由IOC容器进行组装。在Spring中BeanFactory是IOC容器的实际代表者。
2.2、AOP:
简单地说,就是将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。AOP代表的是一个横向的关系
AOP用来封装横切关注点,具体可以在下面的场景中使用:
Authentication 权限
Caching 缓存
Context passing 内容传递
Error handling 错误处理
Lazy loading懒加载
Debugging 调试
logging, tracing, profiling and monitoring记录跟踪优化校准
Performance optimization性能优化
Persistence 持久化
Resource pooling资源池
Synchronization同步
Transactions 事务
三、Mybatis
MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
总体流程:
(1)加载配置并初始化
触发条件:加载配置文件
将SQL的配置信息加载成为一个个MappedStatement对象(包括了传入参数映射配置、执行的SQL语句、结果映射配置),存储在内存中。
(2)接收调用请求
触发条件:调用Mybatis提供的API
传入参数:为SQL的ID和传入参数对象
处理过程:将请求传递给下层的请求处理层进行处理。
(3)处理操作请求
触发条件:API接口层传递请求过来
传入参数:为SQL的ID和传入参数对象
处理过程:
(A)根据SQL的ID查找对应的MappedStatement对象。
(B)根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数。
©获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果。
(D)根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到最终的处理结果。
(E)释放连接资源。
(4)返回处理结果将最终的处理结果返回
MyBatis 最强大的特性之一就是它的动态语句功能。如果您以前有使用JDBC或者类似框架的经历,您就会明白把SQL语句条件连接在一起是多么的痛苦,要确保不能忘记空格或者不要在columns列后面省略一个逗号等。动态语句能够完全解决掉这些痛苦。
四、Dubbo
Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC(远程过程调用协议)远程服务调用方案,以及SOA服务治理方案。简单的说,bbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有bbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架。
1、透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。
2、软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低成本,减少单点。
3、 服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的IP地址,并且能够平滑添加或删除服务提供者。
节点角色说明:
Provider: 暴露服务的服务提供方。
Consumer: 调用远程服务的服务消费方。
Registry: 服务注册与发现的注册中心。
Monitor: 统计服务的调用次调和调用时间的监控中心。
Container: 服务运行容器。
五、Maven
Maven这个个项目管理和构建自动化工具,越来越多的开发人员使用它来管理项目中的jar包。但是对于我们程序员来说,我们最关心的是它的项目构建功能。
六、RabbitMQ
消息队列一般是在项目中,将一些无需即时返回且耗时的操作提取出来,进行了异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐量。
RabbitMQ是用Erlang实现的一个高并发高可靠AMQP消息队列服务器。
Erlang是一门动态类型的函数式编程语言。对应到Erlang里,每个Actor对应着一个Erlang进程,进程之间通过消息传递进行通信。相比共享内存,进程间通过消息传递来通信带来的直接好处就是消除了直接的锁开销(不考虑Erlang虚拟机底层实现中的锁应用)。
AMQP(Advanced Message Queue Protocol)定义了一种消息系统规范。这个规范描述了在一个分布式的系统中各个子系统如何通过消息交互。
七、Log4j
日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。
八、Ehcache
EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。
优点:
1、 快速
2、 简单
3、 多种缓存策略
4、缓存数据有两级:内存和磁盘,因此无需担心容量问题
5、 缓存数据会在虚拟机重启的过程中写入磁盘
6、可以通过RMI、可插入API等方式进行分布式缓存
7、 具有缓存和缓存管理器的侦听接口
8、支持多缓存管理器实例,以及一个实例的多个缓存区域
9、提供Hibernate的缓存实现
缺点:
1、使用磁盘Cache的时候非常占用磁盘空间:这是因为DiskCache的算法简单,该算法简单也导致Cache的效率非常高。它只是对元素直接追加存储。因此搜索元素的时候非常的快。如果使用DiskCache的,在很频繁的应用中,很快磁盘会满。
2、不能保证数据的安全:当突然kill掉java的时候,可能会产生冲突,EhCache的解决方法是如果文件冲突了,则重建cache。这对于Cache数据需要保存的时候可能不利。当然,Cache只是简单的加速,而不能保证数据的安全。如果想保证数据的存储安全,可以使用Bekeley DB Java Edition版本。这是个嵌入式数据库。可以确保存储安全和空间的利用率。
九、Redis
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis数据库完全在内存中,使用磁盘仅用于持久性。相比许多键值数据存储,Redis拥有一套较为丰富的数据类型。Redis可以将数据复制到任意数量的从服务器。
1.2、Redis优点:
(1)异常快速:Redis的速度非常快,每秒能执行约11万集合,每秒约81000+条记录。
(2)支持丰富的数据类型:Redis支持最大多数开发人员已经知道像列表,集合,有序集合,散列数据类型。这使得它非常容易解决各种各样的问题,因为我们知道哪些问题是可以处理通过它的数据类型更好。
(3)操作都是原子性:所有Redis操作是原子的,这保证了如果两个客户端同时访问的Redis服务器将获得更新后的值。
(4)多功能实用工具:Redis是一个多实用的工具,可以在多个用例如缓存,消息,队列使用(Redis原生支持发布/订阅),任何短暂的数据,应用程序,如Web应用程序会话,网页命中计数等。
1.3、Redis缺点:
(1)单线程
(2)耗内存
十、Shiro
Apache Shiro是Java的一个安全框架,旨在简化身份验证和授权。Shiro在JavaSE和JavaEE项目中都可以使用。它主要用来处理身份认证,授权,企业会话管理和加密等。Shiro的具体功能点如下:
(1)身份认证/登录,验证用户是不是拥有相应的身份;
(2)授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用户是否能做事情,常见的如:验证某个用户是否拥有某个角色。或者细粒度的验证某个用户对某个资源是否具有某个权限;
(3)会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会话中;会话可以是普通JavaSE环境的,也可以是如Web环境的;
(4)加密,保护数据的安全性,如密码加密存储到数据库,而不是明文存储;
(5)Web支持,可以非常容易的集成到Web环境;
Caching:缓存,比如用户登录后,其用户信息、拥有的角色/权限不必每次去查,这样可以提高效率;
(6)shiro支持多线程应用的并发验证,即如在一个线程中开启另一个线程,能把权限自动传播过去;
(7)提供测试支持;
(8)允许一个用户假装为另一个用户(如果他们允许)的身份进行访问;
(9)记住我,这个是非常常见的功能,即一次登录后,下次再来的话不用登录了。
文字描述可能并不能让猿友们完全理解具体功能的意思。下面我们以登录验证为例,向猿友们介绍Shiro的使用。至于其他功能点,猿友们用到的时候再去深究其用法也不迟。
十一、设计模式
这个算不上框架,可自行忽略,不过我认为设计模式的思想很有必要了解一下。
思想:
开闭原则:
开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码。
针对接口编程,针对接口编程,依赖于抽象而不依赖于具体。
尽量使用合成/聚合的方式,而不是使用继承。
一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。
使用多个隔离的接口,比使用单个接口要好。
里氏代换原则:
(1)子类的能力必须大于等于父类,即父类可以使用的方法,子类都可以使用。
(2)返回值也是同样的道理。假设一个父类方法返回一个List,子类返回一个ArrayList,这当然可以。如果父类方法返回一个ArrayList,子类返回一个List,就说不通了。这里子类返回值的能力是比父类小的。
(3)还有抛出异常的情况。任何子类方法可以声明抛出父类方法声明异常的子类。 而不能声明抛出父类没有声明的异常。
Ⅲ java如何做权限管理
思路:
1、用户表 user;
2、角色表 role;
3、菜单 menu;
4、角色菜单权限表 role_menu;
5、用户菜单权限表 user_menu;
Ⅳ Java web怎么实现普通用户与管理员跳转不同页面
你都去查了user表了,你那个result里面取username,判断他不就可以了。在if(result.next())里面再判断一层,不就成了,取值差不多是result.get类型+(序号)的形式。
Ⅳ 跪求 javaweb 最好是基于MVC框架的方面的毕业论文,要求有源代码和论文,数据库mysql和oracle都可以
1、第一部分:
也就是第一章是引言:一般包括选题的研究背景和意义,还有论文的组织结构。(也就是Oracleq权限的作用以及利用它实现数据库管理的意义和作用)
2、第二部分方面:(这一部分是重点,以下只是参考,可以有所不同)
第二章:介绍一下为什么需要权限,权限的本质是什么,其基本的实现原理是什么,它的主要作用有哪些。
第三章:介绍如何利用 权限来实现Oracle9的管理,其具体的步骤是什么,怎么去实现。这个可以在自己的虚拟机上实现,在描述的时候需要有截图以配合自己的文字描述。
第四章:介绍远程权限的设计。要先说明为什么需要权限的限制和设计,对于安全问题有什么样的考虑。重点说明在一个单位内部如何根据单位的具体情况去设计(可以举一个小型单位作为例子),这样实现的优越性或是安全性体现在哪儿。(均要求进行截图)
3、第三部分:总结
对整个论文的完成情况做个总结或展望。
我来帮他解答
2011-3-29 01:09
满意回答
1 O racle数据库安全概述
服务器上的数据对于一个企业或事业单位来说可能是
最重要的资源,保护这些数据对企业和事业单位意义重大。
如今大型关系型数据库多数单位都使用的是Oracle数据库,
数据库的安全性是指允许或者禁止用户在数据库上进行的
操作。Oracle数据库的安全管理涉及很多方面,比如控制数
据的一致性和并行性,建立不同安全域的用户组与用户,以
及不同客户连接的不同权限,管理员对不同用户的角色和权
限的控制,建立足够有效的审计安全策略等等。笔者重点介
绍Oracle数据库中的角色和不同角色的权限问题。
收稿日期: 2008-03-27
作者简介:田学志(1979-),女,吉林人,教师,从事ora-
cle数据库使用与管理研究。
2 O racle数据库中的角色
在Oracle数据库中,角色对管理员来说是一个简单然而
却又是功能非常强的机制。当数据库较小,访问数据库的用
户不多时,对用户在每一个表上要求的特定访问进行授权还
是可以接受的;然而随着数据库的增大和用户的增多,权限
管理就比较麻烦了。操作系统采用用户组的概念来描述分
配给不同用户的系统资源的访问权限问题,Oracle数据库则
采用“角色”的概念来组织不同的权限,角色可以分配给其他
用户和角色,角色的一些特性能大大简化在数据库中的权限
管理。在实际运用中,通常角色由数据库管理员定义,然后
再由DBA将权限分配给基于这些角色的用户。数据库管理
员需要经常为数据库的各种不同应用创建不同的角色,然后
将不同的权限授予这些角色,一个应用可以包含几个不同的
角色,每个角色都有不同的权限集合。
视故障规律和故障机理的研究,加强日常维护、检查和预修。
故障管理的展开程序有以下八个方面:
(1)做好宣传教育工作,使操作和维修工人自觉地对机
械设备故障进行认真记录、统计和分析,提出合理化建议。
(2)紧密结合本企业生产实际和机械设备状况的特点,
把在用机械设备分成A、B、C三类,以确定故障管理的重点。
(3)采用监测仪器,对重点机械设备的重点部位进行有
计划的监测,以及时发现故障和征兆、劣化的信息。一般机
械设备也要通过人的感官及一般检测工具进行日常点检、巡
回检查、定期检查、完好状态检查等,着重掌握易出故障的部
位、机构及零件的技术状态和异常现象的信息。同时,要制
订检查标准,确定机械设备正常、异常和故障的界限。
(4)开展故障分析,培训维修工掌握故障分析方法。
(5)记录必须完整准确。故障记录是实现故障管理的基
础资料,又是进行故障分析和处理的原始依据。维修工人在
现场进行检查和故障修理后,应按照“机械设备故障修理单”
的内容认真填写,机械技术员按月统计分析并报送机械设备
管理主管,按程序将有关故障上报主管部门,并反馈给机械
设备制造单位。
(6)机械设备技术员除日常掌握故障情况外,应按月汇
集“故障修理单”和维修记录。通过对故障数据的统计、整理
和分析,计算出各类机械设备的故障频率和平均故障间隔
期,分析单台机械设备的故障动态和重点故障原因,找出故
障的发生规律,以便突出重点、采取对策,将故障信息整理分
析资料反馈到管理部门,便于安排预防修理或改进措施计划,
还可以作为修改定期检查间隔期、检查内容和标准的依据。
(7)根据统计整理的资料,可以绘出统计分析图表,如单
台机械设备故障动态统计分析表是维修班组对故障及其他
进行目视管理的有效方法,既便于管理人员和维修工人及时
掌握各类型机械设备发生故障的情况,又能在确定维修对策
时有明确目标。通过维修工人的日常巡回检查和设备状态
检查,取得状态信息和故障征兆,以及有关记录和分析资料,
由机械设备技术员或修理组长针对各类型机械设备存在的
问题,及时安排日常维修,充分利用生产空隙时间或节假日,
做到预防在前,以控制和减少故障发生。
参考文献:
[1]赵艳萍,姚冠新.设备管理与维修[M].北京:化学工业出
版社, 2004.
[2]徐玉秀,原培新,杨文平.复杂机械故障诊断的分析与小
波方法[M].北京:机械工业出版社, 2003.
责任编辑:李增华
—74—数据库角色具有如下特性:
(1)角色可以被授予系统和方案对象权限。
(2)角色可以被授予不同的数据库用户不同的权限。
(3)角色可以被授予其他角色。
(4)角色可以被启用或禁用。
(5)角色可以被授予,也可以被回收。
角色的名称在数据库中必须具有唯一性,不能同名。
Oracle预定义了好几个角色: DBA、RESOURCE、CONNECT、
EXP_FULL_DATABASE等。下图演示了创建角色并将系统
权限授予角色。
角色的创建和管理、权限分配还可以通过SQL命令的方
式来进行。
创建角色并授予权限:
CREATE ROLE role_name
GRANT system_priv | role TO role
修改角色:
ALTER ROLE role_name
删除角色:
Drop role role_name
合理创建和授予角色合理的权限,可以最大限度地保证
Oracle数据库系统的安全。
3 O racle数据库中的权限
权限是指执行某种操作和访问某些对象的权力。比如
数据库中要进行诸如创建数据库、表、执行SQL语句、查询数
据、创建数据库对象等等都需要具有进行这类活动所需的权
限。权限被分配给不同的角色以至用户,用户才能完成一定
的应用。数据库管理员可以显式的将权限分配给用户,也可
以将权限授予角色,然后为用户添加这个角色。由于角色机
制使得权限的分配和管理简单化,所以数据库管理员应当将
权限分配给角色,而不是直接分配给用户。Oracle数据库中
的权限主要有以下两类:
(1)系统权限。系统权限是指执行系统内部特定操作的
权力。比如创建数据库、删除数据库、删除数据表中的数据
等都需要具有系统权限。Oracle数据库中包括60多种系统
权限。
(2)对象权限。方案对象权限是指对特定方案对象执行
操作的权力。Oracle数据库中的方案对象主要有:表、视图、
存储过程、函数等。
系统权限主要有:
Create session:创建连接到数据库。
Create table:建立数据表。
Create view:建立视图。
Create procere:建立过程。
Create user:建立用户。
对象权限主要有:
SELECT:读取表、视图、序列中的行。
UPDATE:更新表、视图和序列中的行。
DELETE:删除表、视图中的数据。
INSERT:向表和视图中插入数据。
EXECUTE:执行类型、函数、包和过程。
ALTER:修改表、序列、同义词中的结构。
权限授予角色后还可以通过两种方式回收权限,一种是
使用Oracle Enterprise Manage;一种是使用SQL语句: RE-
VOKE system_priv | role FROM USER。对表、视图、存储过
程等的操作必须具有相应的权限,这是维护Oracle数据库对
象安全的强大屏障。比如要创建视图,则必须具备以下权
限:
(1)授予CREATE VIEW系统权限或者CREATE ANY
VIEW系统权限。
(2)显式授予SELECT、INSERT、UPDATE和DELETE对
象权限,显式授予SELECT ANY TABLE、INSERT ANY TA-
BLE、UPDATE ANY TABLE、DELETE ANY TABLE系统权限。
(3)视图可以为表的信息提供基于值的安全性。
(4)视图能够访问基表的所选择的列的数据。
相应的,对表、过程等对象的操作也需要具备相应的权
限。这样Oracle数据库中各种对象的安全通过权限的合理
配置得到有效保证。
4 总结
Oracle数据库中数据的安全是单位的重要工作,而数据
库安全管理中的重要机制就是角色与权限分配。权限分配
是制约用户权力的机制,也是维护数据库安全的重要手段。
通过将一定的系统权限或者对象权限授予一定的角色,然后
将角色分配给不同的用户或者用户组,简化了Oracle数据
库中的权限管理,提高了权限管理的效能。总之,角色和权
限是Oracle数据库系统里对数据库安全起到关键作用,同时
也是保障Oracle数据库系统安全的非常强大的一种机制。
Ⅵ JAVA开发需要哪些技术
作为一个Java开发人员,最大的挑战就是不断更新了解新的技术。在时代的变化中,主专流技术的掌握也是一门持属久的功课。
1、微服务技术
微服务架构主要有:Spring Cloud、 Dubbo、 Dubbox等,以 Dubbo占比最高,可达26%,微服务网关技术,使用springcloud-zuul的程序员占比最高。
2、远程调用技术
使用RPC框架的程序员中, 使用Dubbo的人数占比最高,其次为 bbox、gRPC、hessian也具有一定的使用比例。
3、开发技术
多数程序员在工作中使用的开发技术为权限管理和消息队列。1/4的程序员在工作中使用的开发技术为报表技术、分布式缓存技术和负载均衡解决方案。
4、权限管理技术
shiro的使用比例最高,其次为spring security和自定义框架。
5、消息队列技术
消息队列技术主要有:ActiveMQ、RabbitMQ和Kafka。RocketMQ的使用人数较少。
Ⅶ javaweb开发权限管理,怎么实现管理员修改用户权限后立即生效
这个有两种做法
session的信息不要使用原生session, 信息存放在redis中, 每次修改之前触发修改redis的内容
因为要做权限控制, 所以你肯定是要有一个filter的, 那么就可以在filter中, 每次pre之前, 现根据session中的userid, 动态的去数据库中查询一遍权限, 然后塞入session中
Ⅷ Java开发需要哪些技术
作为一个Java开发人员,最百大的挑战就是不断更新了解新的技术。在时代的变化中,主流技术的掌握也是一门持久的功课。
1、微服务技术
微服务架构主要有:Spring Cloud、 Dubbo、 Dubbox等,以 Dubbo占比最高,可度达26%,微服务网关技术,使用问springcloud-zuul的程序员占比最高。
2、远程调用技术答
使用RPC框架的程序员中, 使用Dubbo的人数占前端要学好必须每天坚持学习。为了方便大家的交流学习,也是创建了一个群每天都有分享学习方法和专业老师直播前端课程,这个扣裙首先是132 中间是667 最后是127 前端学习零基础想要学习的同学欢迎加入,如果只是凑热闹就不要来了!!!比最高,其次为 bbox、gRPC、hessian也具有一定的使用比例。内
3、开发技术
多数程序员在工作中使用的开发技术为权限管理和消息队列。1/4的程序员在工作中使用的开发技术为报表技术、分布式缓存技术和负载均衡解决方案。
4、权限管理技术
shiro的使用比例最高,其次为spring security和自定义框架。
5、消息队列技术
消息队列技术主要有:ActiveMQ、RabbitMQ和Kafka。RocketMQ的使用人数较少容。