总结项目技术点(后端技术3)| 学习笔记

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 快速学习 总结项目技术点(后端技术3)

开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot)总结项目技术点(后端技术3)学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/667/detail/11564


总结项目技术点(后端技术3)


内容介绍:

一、Spring Security

二、Redis

三、Nginx

四、OAuth2+JWT

五、HttpClient

六、Cookie

七、微信登录

八、微信支付

九、阿里云 OSS

十、阿里云视频点播

十一、阿里云短信服务

十二、Git

十三、Docker+jenkins


一、SpringSecurity

(1)运用

在项目进行整合框架实现权限管理功能

主要有两个过滤器:登录过滤器和认证过滤器

(2)SpringSecurity 框架组成:

认证(登录)和授权(用户授予他的权限)

(3)SpringSecurity 登录认证过程:

第一步输入用户名与密码,输入后查询数据库,查询登录用户权限列表,

第二步成功后将用户名与用户权限列表根据 key 与 value 的形式存入到 redis 中,

第三步根据用户名返回 token 信息,通过 JWT 生成 token 字符串,第四步把 token 放到 cookie 中,在 header 放token 值,

第五步通过 springsecurity 从 token 中获取用户名,从 redis 中获取权限列表,

第六步将所有数据交给 springsecurity,再由 springsecurity 给当前用户赋予权限,可以进行相应操作。

(4)SpringSecurity 代码执行过程:第一步在输入用户名与密码之后先到认证过滤器中的

public Authentication attemptAuthentication(Https 方法获取用户名与密码,

第二步接着调用

public class UserDetailsServiceImpl implements UsersDetailsService 询类,查询后返回 security 对象,表示认证成功,

第三步到达 successful 方法中,获取返回对象,根据对象里面用户名生成 token,把用户名和权限信息放到 redis,返回生成 token,

第四步在 Password 方法中从 Header 获取 token 信息,根据 token 信息获取用户名称,再根据用户名称从 redis 查询数据,给用户进行授权。


二、Redis

(1)首页数据通过 Redis 进行缓存

(2)Redis 数据类型:字符串、set、list、哈希、有序集合

(3)使用 Redis 作为缓存,并不是所有数据都适合使用 Redis 进行缓存,例如很重要的涉及财务类的数据不能使用Redis 进行缓存,但首页数据比较固定,不经常修改则适合使用 Redis 进行缓存。

所以不太重要的或者不经常改变数据适合放到 Redis 中缓存。


三、Nginx

(1)反向代理服务器

(2)具体功能:请求转发(项目中最基本)、负载均衡、动静分离

使用 Nginx 主要是修改配置文件,在配置文件中修改规则,通过规则请求转发。


四、OAuth2+JWT

(1)OAuth2是针对特定问题的解决方案。

(2)JWT 是制定了一种规则,通过规则指定字符串。JWT 包含三部分:头、防伪标志、主体部分。


五、HttpClient

(1)HttpClient 可以理解为发送请求返回响应的工具,不需要浏览器完成请求和响应的过程。

在获取扫描人信息时,通过 HttpClientUtils 发送请求,请求微信的地址来获取信息,上述为项目的应用场景,包括微信支付查询支付状态。


六、Cookie

(1)Cookie 特点

客户端技术(信息存储到客户端或浏览器中)

每次发送请求带着 cookie 值进行发送

cookie 有默认会话级别(有效时长),关闭浏览器 cookie 默认不存在了。

可以设置 cookie 有效时长,通过 setMaxAge 来进行设置。

(2)举例:

登录界面中一般都会有十天内免登录,登录成功后再登录则不需要账户与密码,可以直接登录,如果不清楚 cookie 值则会在十天内一直有效。


七、微信登录

都是比较固定的流程,重点关注获取用户名与密码的流程。


八、微信支付

都是比较固定的流程,重点关注微信支付后查询微信支付状态。


九、阿里云 OSS

(1)文件存储服务器

(2)举例:添加讲师时上传讲师头像


十、阿里云视频点播

(1)视频上传、删除、播放

(2)播放是整合了阿里云视频播放器进行视频播放

在播放中,使用视频播放凭证进行播放,因为运用地址播放是可以播放的,但如果加密,地址播放是无效的,而视频播放凭证既可以播放加密的也可以播放不加密的。


十一、阿里云短信服务

(1)在注册时,需要发送手机验证码。


十二、Git

Git 主要用于版本控制,而现在运用的是远程库的码云,即先将代码敲到本地库中,通过本地库敲到远程库中,运用码云来进行管理控制。


十三、Docker+Jenkins

(1)手动打包运行:运用 main 等进行启动。

(2)idea 打包

(3)Jenkins 自动化部署过程

Docker+jenkins 结合用于项目自动化发布过程。

将 Docker 从远程 Git 库中将代码拉取下来,将代码进行编译再放入系统中运行。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
29天前
|
缓存 Java 数据库
后端技术探索:从基础架构到高效开发的实践之路
【10月更文挑战第7天】 在现代软件开发中,后端技术是支撑应用运行的核心。本文将探讨如何从后端的基础架构出发,通过一系列高效的开发实践,提升系统的性能与可靠性。我们将深入分析后端框架的选择、数据库设计、接口开发等关键领域,并提供实用的代码示例和优化策略,帮助开发者构建更稳定、高效的后端系统。通过这篇文章,读者将获得关于后端开发的全面理解和实践指导,从而更好地应对复杂项目需求。
67 0
|
23天前
|
存储 安全 数据库
后端技术在现代Web开发中的实践与创新
【10月更文挑战第13天】 本文将深入探讨后端技术在现代Web开发中的重要性,通过实际案例分析展示如何利用先进的后端技术提升用户体验和系统性能。我们将从基础架构设计、数据库优化、安全性保障等方面展开讨论,为读者提供清晰的指导和实用的技巧。无论是新手开发者还是经验丰富的技术人员,都能从中获得启发和帮助。
31 2
|
25天前
|
自然语言处理 Cloud Native 数据安全/隐私保护
后端技术在现代Web开发中的实践与创新
本文探讨了后端技术在现代Web开发中的重要性及其应用。通过分析当前流行的后端框架和开发模式,揭示了如何利用这些技术来构建高效、可扩展的Web应用程序。同时,文章也讨论了未来后端技术的发展趋势,为开发者提供了一些启示。
|
25天前
|
安全 Java 关系型数据库
探索后端技术:构建高效、安全的应用服务
在当今数字化浪潮中,后端技术作为软件架构的核心支柱,承载着处理数据逻辑、保障应用性能与安全等关键任务。本文旨在深入浅出地探讨后端开发的重要概念、主流技术栈以及未来发展趋势,为开发者提供一份指南,以助力构建既高效又安全的应用程序。
|
27天前
|
存储 安全 NoSQL
后端技术在现代软件开发中的重要性
在当今数字化时代,软件开发已经成为推动各行各业发展的核心动力。无论是互联网企业还是传统行业,软件系统的稳定性、性能和安全性都至关重要。作为软件系统的重要组成部分,后端技术在现代软件开发中扮演着不可或缺的角色。本文将探讨后端技术的重要性,并通过具体实例展示其在实际应用中的关键作用。通过对后端技术的深入理解和应用,我们可以更好地构建高效、可靠和安全的软件系统,满足不断变化的市场需求和用户期望。
|
29天前
|
算法 Java Linux
java制作海报五:java 后端整合 echarts 画出 折线图,项目放在linux上,echarts图上不显示中文,显示方框口口口
这篇文章介绍了如何在Java后端整合ECharts库来绘制折线图,并讨论了在Linux环境下ECharts图表中文显示问题。
37 1
|
18天前
|
运维 Kubernetes 开发者
构建高效后端服务:微服务架构与容器化技术的结合
【10月更文挑战第18天】 在数字化转型的浪潮中,企业对后端服务的要求日益提高,追求更高的效率、更强的可伸缩性和更易于维护的系统。本文将探讨微服务架构与容器化技术如何结合,以构建一个既灵活又高效的后端服务体系。通过分析当前后端服务面临的挑战,介绍微服务和容器化的基本概念,以及它们如何相互配合来优化后端服务的性能和管理。本文旨在为开发者提供一种实现后端服务现代化的方法,从而帮助企业在竞争激烈的市场中脱颖而出。
21 0
|
25天前
|
缓存 安全 测试技术
构建高效后端架构的关键技术与实践
【10月更文挑战第11天】 本文深入探讨了后端开发中的几个关键技术点,包括微服务架构、数据库优化、缓存机制、安全性保障以及自动化测试。通过这些技术的应用和最佳实践,可以帮助开发者构建出高效、稳定、安全的后端系统。
35 0
|
29天前
|
前端开发 Java Shell
后端项目打包上传服务器部署运行记录
后端项目打包上传服务器部署运行记录
27 0
|
7天前
|
API 持续交付 开发者
后端开发中的微服务架构实践与挑战
在数字化时代,后端服务的构建和管理变得日益复杂。本文将深入探讨微服务架构在后端开发中的应用,分析其在提高系统可扩展性、灵活性和可维护性方面的优势,同时讨论实施微服务时面临的挑战,如服务拆分、数据一致性和部署复杂性等。通过实际案例分析,本文旨在为开发者提供微服务架构的实用见解和解决策略。

热门文章

最新文章

下一篇
无影云桌面