java重点学习-常见技术场景

十四 常见技术场景

14.1 单点登录是怎么实现

单点登录的英文名叫做: Single Sign On (简称SSO),只需要登录一次,就可以访问所有信任的应用系统

  • 单个tomcat服务session可以共享,
  • 微服务、分布式下多个tomcat服务session不共享

介绍单点登录的解决方案JWT(常见),Oauth2 ,CAS

以JWT为例

  1. 用户访问其他系统,会在网关判断token是否有效
  2. 如果token无效则会返回401(认证失败)前端跳转到登录页面
  3. 用户发送登录请求,返回浏览器一个token,浏览器把token保存到cookie
  4. 再去访问其他服务的时候,都需要携带token,由网关统一验证后路由到目标服务

14.2 权限认证是如何实现的

后台的管理系统,更注重权限控制,最常见的就是RBAC模型来指导实现权限RBAC(Role-Based Access Control)基于角色的访问控制

  • 3个基础部分组成:用户、角色、权限
  • 具体实现
    • 5张表(用户表、角色表、权限表、用户角色中间表、角色权限中间表)
    • 7张表(用户表、角色表、权限表、菜单表、用户角色中间表、角色权限中间表、权限菜单中间表)

14.3 上传数据的安全性怎么控制

使用非对称加密(或对称加密),给前端一个公钥让他把数据加密后传到后台,后台负责解密后处理数据

文件很大建议使用对称加密,不过不能保存敏感信息

文件较少,要求安全性高,建议采用非对称加密

14.4 项目中遇到的比较棘手的问题,怎么解决的

14.5 项目中的日志是怎么采集的

为什么要采集日志?

日志是定位系统问题的重要手段,可以根据日志信息快速定位系统中的问题

采集日志的方式有哪些?

  • 我们搭建了ELK日志采集系统
    • Elasticsearch是全文搜索分析引擎,可以对数据存储、搜索、分析
    • Logstash是一个数据收集引擎,可以动态收集数据,可以对数据进行过滤、分析,将数据存储到指定的位置
    • Kibana是一个数据分析和可视化平台,配合Elasticsearch对数据进行搜索,分析,图表化展示
  • 常规采集:按天保存到一个日志文件

192.168.200.130:5044是logstash的部署地址:

es的Kibana的可视化界面:

14.6 常见日志的命令

  • 实时监控日志的变化
    • 实时监控某一个日志文件的变化: tail -f xx.log
    • 实时监控日志最后100行日志: tail -n 100 -f xx.log
  • 按照行号查询
    • 查询日志尾部最后100行日志: tail - n 100 xx.log
    • 查询日志头部开始100行日志: head -n 100 xx.log
    • 查询某一个日志行号区间:\
      • cat -n xx.log|tail -n +100|head -n 100(查询100行至200行的日志)
  • 按照关键字找日志的信息
    • 查询日志文件中包含debug的日志行号: cat -n xx.loglgrep“debug"
  • 按照日期查询
    • sed -n '/2023-05-1814:22:31.070/,/2023-05-1814:27:14.158/p' xx.log
  • 日志太多,处理方式
    • 分页査询日志信息: cat-n xx.loglgrep"debug"|more
    • 筛选过滤以后,输出到一个文件: cat -n xx.loglgrep"debug">debug.txt

14.7 生产问题怎么排查

已经上线的bug排查的思路:

  • 先分析日志,通常在业务中都会有日志的记录,或者查看系统日志,或者查看日志文件,然后定位问题
  • 远程debug(通常公司的正式环境(生产环境)是不允许远程debug的。一般远程debug都是公司的测试环境,方便调试代码)

远程debug思路:

前提条件:远程的代码和本地的代码要保持一致

远程代码需要配置启动参数,把项目打包放到服务器后启动项目的参数:

java -jar -agentlib;jdwp=transport=dt_socket,server=y,suspend=n,address=5005 project-1.0-SNAPSHOTjar

14.8 怎么快速定位系统的瓶颈

  • 压测(性能测试)
    • 压测目的:给出系统当前的性能状况;定位系统性能瓶颈或潜在性能瓶颈
    • 指标:响应时间、 QPS、并发数、吞吐量、CPU利用率、内存使用率、磁盘10、错误率
    • 压测工具:LoadRunner、Apache Jmeter
    • 后端工程师:根据压测的结果进行解决或调优(接口慢、代码报错、并发达不到要求.)
  • 监控工具、链路追踪工具
    • 监按工具:Prometheus+Grafana
    • 链路追踪工具:skywalking、Zipkin
  • 线上诊断工具Arthas(阿尔萨斯)
  • 官网:arthas
  • 核心功能:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/144688.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

新产品,推出 MLX90372GVS 第三代 Triaxis® 位置传感器 IC,适用于汽车和工业系统(MLX90372GVS-ACE-308)

Triaxis 旋转和线性位置传感器IC: MLX90372GVS-ACE-103 MLX90372GVS-ACE-108 MLX90372GVS-ACE-301 MLX90372GVS-ACE-200 MLX90372GVS-ACE-208 MLX90372GVS-ACE-303 MLX90372GVS-ACE-300 MLX90372GVS-ACE-350 MLX90372GVS-ACE-100 MLX90372GVS-ACE-101 MLX90372GVS-…

短信群发的智慧应用与合规管理:黑名单与敏感词处理的重要性

在信息化高速发展的今天,短信群发已成为企业沟通客户、推广品牌、管理关系不可或缺的高效工具。简而言之,短信群发是指企业一次性将相同的信息发送给多个用户,这种批量操作不仅极大地节省了时间和人力成本,还显著提升了信息传递的…

掌握Spring Boot数据库集成:用JPA和Hibernate构建高效数据交互与版本控制

在现代应用开发中,数据库操作是核心环节之一。Spring Boot提供了简化数据库集成的强大工具,而JPA(Java Persistence API)和Hibernate是两种非常流行的ORM(对象关系映射)框架,可以帮助我们将对象…

R18 5G网络中 AI/ML技术特性及其在5GS和NG-RAN中的应用

随着5G技术的发展,人工智能(AI)和机器学习(ML)在网络中的应用越来越广泛。本文将介绍R18 5G网络中AI/ML的新特性,包括在5G系统(5GS)中的应用、在新一代无线接入网(NG-RAN…

mysql 重置密码

1.关闭mysql 服务 systemctl stop mysql.serivce 2.修改mysql的配置文件 /etc/my.cnf vi /etc/my.cnf#添加跳过登陆验证配置 skip-grant-tables 3.启动mysql systemctl start mysql.serivce 4.登陆mysql #进入到mysql的安装路径 cd /usr/local/mysql/mysql8.0/bin/ #登陆 …

OpenHarmony标准系统mipi摄像头适配

OpenHarmony标准系统mipi摄像头适配 本文档以rk3568为例,讲述如何在OpenHarmony 标准系统rk设备上适配mipi摄像头。 开发环境 OpenHarmony标准系统4.1rrk3568设备摄像头ov5648,ov8858 文档约定:4.1r_3568为OpenHarmony标准系统源码根目录 1.适配准备:得…

旺店通ERP集成用友U8(用友U8主供应链)

源系统成集云目标系统 用友U8介绍 用友U8是一套企业级的解决方案,可满足不同的制造、商务模式下,不同运营模式下的企业经营管理。它全面集成了财务、生产制造及供应链的成熟应用,并延伸客户管理至客户关系管理(CRM)&a…

[PTA]7-1 谁管谁叫爹

[PTA]7-1 谁管谁叫爹 输入格式: 输入第一行给出一个正整数 N(≤100),为游戏的次数。以下 N 行,每行给出一对不超过 9 位数的正整数,对应 A 和 B 给出的原始数字。题目保证两个数字不相等。 输出格式&…

解决 Prettier ESLint 错误

解决 Prettier ESLint 错误 在 Vue.js 项目中使用 ESLint 和 Prettier 时,你可能会遇到类似以下的错误: frontend\src\views\dashboard\MobileConfigPanel.vue1:25 error Delete ␍ …

2024国庆节不容错过的好物分享,精选五款入手不亏的单品好物

国庆假期即将来临,这是一场属于“购物狂”的年度盛宴。每年这个时候,各大电商平台纷纷推出丰富的促销活动,吸引无数消费者踊跃参与。对于热衷于寻找优质商品的人来说,国庆节无疑是一个不容错过的机会,国庆好物应有尽有…

传统软件应用技术的价值转换率越来越低

为什么感觉到卷?可能的一个原因是大家都在进步,用户和竞争对手也在进步,而自己却没有进步,也谈不上思维模式的改变。 我们不谈理论、不谈理想、不谈市场环境不好,就谈与用户接触过程的案例,这是最有说服力的…

threejs加载高度图渲染点云,不支持tiff

问题点 使用的point来渲染高度图点云&#xff0c;大数据图片无效渲染点多&#xff08;可以通过八叉树过滤掉无效点增加效率&#xff0c;这个太复杂&#xff09;&#xff0c;但是胜在简单能用 效果图 code 代码可运行&#xff0c;无需npm <!DOCTYPE html> <html la…

网络爬虫的最佳实践:结合 set_time_limit() 与 setTrafficLimit() 抓取云盘数据

在数据爬取领域&#xff0c;百度云盘作为国内领先的云存储服务平台&#xff0c;拥有海量的用户和数据资源。因此&#xff0c;对于技术开发者而言&#xff0c;如何高效、稳定地对百度云盘中的公开资源进行数据抓取成为了一个值得探讨的课题。本文将结合 PHP 的 set_time_limit()…

网络编程:掌握TCP Socket和UDP Socket

IP地址&#xff1a; 两台计算机通信&#xff0c;双方都必须有IP地址。 IPV4地址有32位&#xff0c;由四个8位二进制组成&#xff0c;因为不好记所以我们把二进制转化为十进制&#xff0c;比如192.168.0.20&#xff0c;这称为点分十进制。 IPV6有128位&#xff0c;由8个16位的…

Python精选200Tips:151-155

实战项目 P151--气象数据爬取技术栈:数据爬虫P152--求解数独问题技术栈:代码逻辑+回溯法P153--疾病传播模型的100天模拟技术栈:SIR 模型(易感-感染-恢复模型)P154--复杂函数的最值求解技术栈:粒子群优化算法P155-- 评论情感分析技术栈:snownlp和jieba的应用运行系统:ma…

Ubuntu 64系统信息查看

一、查看系统基本信息 uname -a 显示系统内核名称、主机名、内核版本号、发布日期等信息。 Linux ubuntu 5.4.0-150-generic #167~18.04.1-Ubuntu SMP Wed May 24 00:51:42 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux 内核版本&#xff1a;这是一个基于 Linux 的 Ubuntu 系…

NC65使用UAP客开主子单据以及NC65常见的开发技术(超级详细附带图和源码)

NC65使用UAP客开主子单据以及NC65单据相关的开发技术&#xff08;超级详细附带图和源码&#xff09; 本篇主要讲述使用UAP开发工具客开主子单据包括&#xff1a;创建项目发布、创建发布元数据、生成主子单据、以及相关报错和打补丁。在单据相关技术主要包括&#xff1a;增加空按…

力扣 42.接雨水

文章目录 题目介绍解法 题目介绍 解法 法一&#xff1a;通过计算每个位置 i 能够捕获的雨水量&#xff0c;然后将他们相加。 具体做法是&#xff1a;创建两个数组&#xff1a;preMax 和 sufMax 分别用来存储每个位置左边和右边的最大高度&#xff0c;则每个位置 i 可以捕获的…

Snowflake的“AI + 数据” 模式,如何颠覆传统数据处理!

Snowflake的“AI 数据” 模式&#xff0c;如何颠覆传统数据处理&#xff01; 前言Snowflake的“AI 数据” 模式 前言 Snowflake是一种基于云的数据平台&#xff0c;拥有着强大的能力&#xff0c;能够帮助我们存储、管理和分析海量的数据&#xff0c;就像是我们的得力助手&am…

骨传导耳机哪个牌子好?盘点口碑最好的5款骨传导耳机!

在快节奏的现代生活中&#xff0c;耳机成为了我们与外界沟通的重要桥梁&#xff0c;无论是在通勤路上、健身锻炼&#xff0c;还是在工作学习中&#xff0c;耳机都扮演着不可或缺的角色。而在众多耳机类型中&#xff0c;骨传导耳机以其独特的声音传导方式和健康舒适的佩戴体验&a…