Shiro
1、简单介绍一下 Shiro 框架?
Shiro是一个Java的安全框架,使用它可以非常容易开发足够好的应用,不仅适用于J2SE,而且适用于J2EE,可以帮助我们完成,认证、授权、加密、会话。
它有三大核心组件:
a、subject是当前操作用户。
b、SecurityManager是shiro核心,管理所有用户的安全操作
c、Realm是充当了Shiro安全认证和授权的桥梁,它去查找用户及其权限信息
2、四个主要组件
SecurityManager:管理所有用户安全操作
Authenticator:查看“who are you”?,验证身份,涉及用户和密码
Authorizer:身份验证通过后,对登录人员进行访问控制筛查。
Session Manager:保证了异构客户端的访问
3、Shiro运行原理
我们的代码进行权限控制,开始调用Subject(用户),所有的Subject交给SecurityManager管理,SecurityManager开始验证用户身份时,从Realm获取相应的用户进行比较,验证身份是否合法。
4、Shiro四种权限控制方式
a、url级别权限控制
b、方法注解权限控制
c、代码级别权限控制
d、页面标签权限控制
Redis
0、什么是Redis
一款高性能的键值对数据库,是非关系型数据库,数据加载到内存,Redis去内存读
取数据,效率高,是当下所有键值对数据库中最优数据库
string
set
hash
list
sortedseta
1、Redis特点
优点:
性能高
支持多种数据结构
value值可以有1G那么大
缺点:
太吃内存,不能用于海量数据读写,不过,当下内存越来越廉价,这个问题也会迎刃而解
2、为什么 redis 需要把所有数据放到内存中?
为了达到最快的读写,这也是Redis特点。
如果放入磁盘读写,磁盘的IO严重影响Redis性能,在内存越来越便宜的今天,
Redis越来越受欢迎
3、Memcache 与 Redis 的区别都有哪些?
1) 存储方式不同,Memcache把数据全部存储到内存中,Redis会有部分数据放在磁盘中
2) 数据类型支持不同,Redis有复杂的数据类型支持,Memcache支持相对简单
3) 支持的value不同,Redis可以支持1G,memcache可以支持1M
4、Redis 的持久化
RDB持久化:Redis默认的方式,一个压缩的二进制文件,该文件可以还原生成它的数据库状态
优点(适合备份)缺点(系统出现奔溃会丢失这几分钟的数据)
AOF持久化:通过保存对数据库的写命令来记录数据库状态。
优点(系统出现奔溃,不会丢失这几分钟的数据)
缺点:Redis重启,要执行一个非常大的AOF,耗时很长
ActiveMQ
1、如何使用 ActiveMQ 解决分布式事务?
在分布式架构中,用户和发送验证码是两个独立的服务,它们都有各自的数据库,
这时我们就需要用到 ActiveMQ(消息队列)来为我们实现这个需求。
用户进行注册操作,我们创建一条消息,注册成功后,我们把该消息发送给消息队列,验证码监听该消息,接收到以后,向该 用户发送验证码
2、了解哪些消息队列?
ActiveMQ:Apache 下的一个子项目,少量代码实现高级应用场景
RabbitMQ:是由Erlang语言开发的消息队列,重量级,适合企业开发
3、ActiveMQ两种模式
队列模式:生产者生产10个商品,一个商品只能被一个消费者得到
主题模式:公众号推送10条消息,凡关注该公众号的用户,都可以接受到这10条消息
Nginx
1、Nginx的特点就是反向代理,什么是反向代理:
我们要访问国外网站,因为有墙阻隔,可以通过翻墙软件,翻墙软件是正向代理。
我们要访问国外网站,因为有墙阻隔,国外网站在国内设立一些代理点,我们可以访
问代理点,达到访问国外网站目的,代理点就是反向代理。
2、动静分离
所谓动静分离就是img、css、js的交给Nginx处理,jsp之类交给Tomcat,Nginx处理
静态文件吞吐量大,无形中提高了性能
3、负载均衡
访问量过大时,一个Tomcat不够,多加几个,由Nginx按权重进行分配
4、session共享
虽然可以达到负载均衡,如果用户第一次访问是8111,记录了它登录信息;但第二次
访问变成了8222,没有记录登录信息,就导致用户体验非常不好,需要Session解决
5、Nginx 反向代理为什么能够提升服务器性能?
其一,Nginx在request读取完整数据前buffer住,交给后端的就是一个完整的HTTP请求
其二,Nginx把response给buffer住,减轻后端压力
6、Nginx 和 Apache 各有什么优缺点?
Nginx:轻量级、抗并发、高能低耗
Apache :超稳定、模块多、少bug
Zookeeper和Eureka
微服务注册中心,C是一致性,A是可用性,P是分区容错性
Zookeeper保证的CP,金钱操作,金融级别
Eureka保证的AP,淘宝京东
solr
1、lucene是一个效果可以达到百度、谷歌级别的搜索引擎
solr基于lucene封装的搜索引擎工具,进一步优化了lucene,提供完整管理界面
是一款非常优秀的搜索引擎
2、solr 怎么设置搜索结果排名靠前?
可以设置文档中域的 boost 值,boost 值越高,计算出来的相关度得分就越高,排名也就越靠前。
3、solr 中 IK 分词器原理是什么?
Ik 分词器的分词原理本质上是词典分词。先在内存中初始化一个词典,然后在分词
过程中挨个读取字符,和字典
中的字符相匹配,把文档中的所有的词语拆分出来的过程
网友评论