一、单点登录这块怎么实现的?
单点登录概述
单点登录:Single Sign On(简称SSO),只须要登录一次,就可以访问全部信托的应用体系
在从前的时间,一样平常我们就单体系,全部的功能都在同一个体系上。
厥后,我们为了公道使用资源和低沉耦合性,于是把单体系拆分成多个子体系。
如今有一个微服务的简朴架构,如图:
使用jwt办理单点登录的流程如下:
参考答复
二、权限认证是怎样实现的?
权限认证: RBAC
模子表
三、上传数据的安全性你们怎么控制?
答复:
使用非对称加密(或对称加密),给前端一个公钥让他把数据加密传到背景,背景负责解密后处置处罚
- 文件很大发起使用对称加密,不外不能生存敏感信息
- 文件较小,要求安全性高,发起接纳非对称加密
四、你负责项目标时间碰到了哪些比力棘手的题目?
答复思绪 1,什么配景(技能题目) 2,过程(办理题目的过程) 3,终极落地方案
有4个方面可以答复,只要挑出一个答复就行了
举例:
①:先容登录业务(一开始没有用计划模式,全部的登录方式都柔和在一个业 务类中,不外,发现需求常常改) ②:登录方式常常会增长或更换,每次都要修改业务层代码,以是,颠末我的 计划,使用了工厂计划模式和战略模式,办理了,常常修改业务层代码的题目 ③:详细先容一下工厂模式和战略模式(参考我前面计划模式的文章)
五、你们项目中日记怎么收罗的?
1、为什么要收罗日记?
日记是定位体系题目的紧张本领,可以根据日记信息快速定位体系中的题目
2、收罗日记的方式有哪些?
- ELK:即Elasticsearch、Logstash和Kibana三个软件的首字母
- 通例收罗:按天生存到一个日记文件
2.1ELK根本架构
ELK即Elasticsearch、Logstash和Kibana三个开源软件的缩写
- Elasticsearch:全文搜刮和分析引擎,对大容量的数据举行靠近实时的存储、搜刮和分析使用。
- Logstash:是一个数据网络引擎,它可以动态的从各种数据源搜集数据,并对数据举行过滤、分析和同一格式等使用,并将输出结果存储到指定位置上
- Kibana:是一个数据分析和可视化平台,通常与Elasticsearch共同使用,用于对此中的数据举行搜刮、分析,而且以统计图标的情势展示
设置文件
六、检察日记的下令?
如今收罗日记的方式:按天生存到一个日记文件
也可以在logback设置文件中设置日记的目次和名字 检察日记的下令1、实时监控 日记的变革
实时监控 某一个日记文件的变革:tail -f xx.log实时监控 日记末了100行日记: tail –n 100 -f xx.log2、按照行号查询
查询日记尾部末了100行日记:tail – n 100 xx.log
查询日记头部开始100行日记:head –n 100 xx.log
查询某一个日记行号区间:cat -n xx.log | tail -n +100 | head -n 100 (查询100行至200行的日记)
3、按照关键字找日记的信息
查询日记文件中包罗debug的日记行号:cat -n xx.log | grep "debug"
4、按照日期查询
sed -n '/2023-05-18 14:22:31.070/,/ 2023-05-18 14:27:14.158/p’xx.log
5、日记太多,处置处罚方式
分页查询日记信息:cat -n xx.log |grep "debug" | more
筛选过滤以后,输出到一个文件:cat -n xx.log | grep "debug" >debug.txt
七、怎么快速定位体系的瓶颈?
好比:
1、压测(性能测试)
- 压测目标:给出体系当前的性能状态;定位体系性能瓶颈或潜伏性能瓶颈
- 指标:相应时间、 QPS、并发数、吞吐量、 CPU使用率、内存使用率、磁盘IO、错误率
- 压测工具:LoadRunner、Apache Jmeter …
- 后端工程师:根据压测的结果举行办理或调优(接口慢、代码报错、并发达不到要求…)
2、监控工具、链路追踪工具
- 监控工具:Prometheus+Grafana
- 链路追踪工具:skywalking、Zipkin
3、线上诊断工具Arthas(阿尔萨斯)
- 官网:https://arthas.aliyun.com/
- 焦点功能:如下图
火焰图
八、生产环境的题目怎么排查?
已经上线的bug排查的思绪:
1,先分析日记,通常在业务中都会有日记的记载,大概检察体系日记,大概查
看日记文件,然后定位题目
2,远程debug(通常公司的正式环境(生产环境)是不答应远程debug的。一样平常
远程debug都是公司的测试环境,方便调试代码)
一、远程debug
条件条件:远程的代码和当地的代码要保持同等
1、远程代码须要设置启动参数,把项目打包放到服务器后启动项目标参数:
java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 project-1.0-SNAPSHOT.jar
-agentlib:jdwp 是关照JVM使用(java debug wire protocol)来运行调试环境 transport=dt_socket 调试数据的传送方式 server=y 参数是指是否支持在server模式 suspend=n 是否在调试客户端创建起来后,再实验JVM。 address=5005 调试端口设置为5005,别的端口也可以
2、idea中设置远程debug,找到idea中的 Edit Configurations...
3. idea中启动远程debug
4. 访问远程服务器,在当地代码中打断点即可调试远程
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金 |