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

本文涉及的产品
云数据库 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
相关文章
|
9天前
|
前端开发 JavaScript 关系型数据库
从前端到后端:构建现代化Web应用的技术探索
在当今互联网时代,Web应用的开发已成为了各行各业不可或缺的一部分。从前端到后端,这篇文章将带你深入探索如何构建现代化的Web应用。我们将介绍多种技术,包括前端开发、后端开发以及各种编程语言(如Java、Python、C、PHP、Go)和数据库,帮助你了解如何利用这些技术构建出高效、安全和可扩展的Web应用。
|
1月前
|
前端开发 Java 网络安全
|
1月前
|
存储 前端开发 JavaScript
从前端到后端,探索现代Web开发技术
本文探索了现代Web开发技术的各个方面,包括前端和后端开发以及多种编程语言的应用。通过对JavaScript、Java、Python、C、PHP和Go等语言的介绍,深入探讨了前端和后端开发的基本原理和常用工具。同时,还涵盖了数据库技术在Web开发中的重要性和应用场景。无论你是初学者还是有经验的开发者,本文都能为你提供全面的视角和实用的知识,帮助你在Web开发领域取得更好的成果。
|
28天前
|
人工智能 Cloud Native 大数据
现代后端技术发展趋势与应用前景
随着信息技术的快速发展,现代后端技术在不断演进和创新。本文将探讨现代后端技术的发展趋势和应用前景,并深入分析其中的关键技术和未来发展方向。从云原生、大数据、微服务架构到人工智能等多个方面展开讨论,展示了后端技术在不断推动数字化转型和业务创新中的重要作用。
|
27天前
|
运维 Cloud Native 云计算
未来趋势:云原生技术在后端开发中的应用
随着云计算技术的快速发展,云原生技术作为一种新兴的软件架构理念,在后端开发领域日益受到关注。本文将探讨云原生技术的基本概念、优势以及在后端开发中的应用,展望未来云原生技术对于软件开发的影响和发展趋势。
|
29天前
|
机器学习/深度学习 边缘计算 人工智能
未来智能后端技术发展趋势探析
随着数字化时代的到来,智能后端技术的发展日益受到关注。本文将从人工智能、云计算、边缘计算等方面探讨未来智能后端技术的发展趋势,展望后端技术在不断演进中的重要作用。
19 0
|
28天前
|
前端开发 JavaScript NoSQL
从前端到后端:构建全栈开发的技术生态
本文将探讨如何在全栈开发中构建完整的技术生态,从前端到后端各个层面进行深入剖析,讨论不同技术之间的协作与整合,为开发人员提供全面的指导与启示。
|
28天前
|
存储 缓存 监控
微信团队分享:微信后端海量数据查询从1000ms降到100ms的技术实践
针对大数据量带来的查询性能问题,微信团队对数据层查询接口进行了针对性的优化,将平均查询速度从1000ms+优化到了100ms级别。本文为各位分享优化过程,希望对你有用!
32 2
|
1月前
|
存储 NoSQL Redis
陌陌技术分享:陌陌IM在后端KV缓存架构上的技术实践
在本文中,陌陌数据库负责人冀浩东将聚焦探讨陌陌的 KV 系统架构选型思路,深入解析如何进行此类系统的甄选决策,同时进一步分享陌陌团队在采用 OceanBase(OBKV)过程中所经历的探索与实践经验。
31 0
|
1月前
|
存储 缓存 安全
大型互联网企业Java后端技术面试题总结(含答案)
大型互联网企业Java后端技术面试题总结(含答案)
45 0