谷粒学院技术点总结(6篇)_第1页
谷粒学院技术点总结(6篇)_第2页
谷粒学院技术点总结(6篇)_第3页
谷粒学院技术点总结(6篇)_第4页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

谷粒学院技术点总结(6篇)CAP定理:指的是在一个分布式系统中,Consistency(一致性)、Availability(可用性)、Partitiontolerance(分区容错性),三者不可同时获得。

CA满足的情况下,P不能满足的原因:数据同步(C)需要时间,也要正常的时间内响应(A),那么机器数量就要少,所以P就不满足

CP满足的情况下,A不能满足的原因:数据同步(C)需要时间,机器数量也多(P),但是同步数据需要时间,所以不能再正常时间内响应,所以A就不满足

AP满足的情况下,C不能满足的原因:机器数量也多(P),正常的时间内响应(A),那么数据就不能及时同步到其他节点,所以C不满足

注册中心选择的原则:Zookeeper:CP设计,保证了一致性,集群搭建的时候,某个节点失效,则会进行选举行的leader,或者半数以上节点不可用,则无法提供服务,因此可用性没法满足Eureka:AP原则,无主从节点,一个节点挂了,自动切换其他节点可以使用,去中心化

结论:分布式系统中P,肯定要满足,所以我们只能在一致性和可用性之间进行权衡如果要求一致性,则选择zookeeper,如金融行业如果要求可用性,则Eureka,如教育、电商系统没有最好的选择,最好的选择是根据业务场景来进行架构设计

谷粒学院技术点总结第2篇

(1)在线教育系统,分为前台网站系统和后台运营平台,B2C模式。

前台用户系统包括课程、讲师、问答、文章几大大部分,使用了微服务技术架构,前后端分离开发.

后端的主要技术架构是:SpringBoot+SpringCloud+MyBatis-Plus+HttpClient+MySQL+Maven+EasyExcel+nginx

前端的架构是:++element-ui+NUXT+ECharts

其他涉及到的中间件包括Redis、阿里云OSS、阿里云视频点播

业务中使用了ECharts做图表展示,使用EasyExcel完成分类批量添加、注册分布式单点登录使用了JWT

(2)项目前后端分离开发,后端采用SpringCloud微服务架构,持久层用的是MyBatis-Plus,微服务分库设计,使用Swagger生成接口文档

接入了阿里云视频点播、阿里云OSS。

系统分为前台用户系统和后台管理系统两部分。

前台用户系统包括:首页、课程、名师、问答、文章。

后台管理系统包括:讲师管理、课程分类管理、课程管理、统计分析、Banner管理、订单管理、权限管理等功能。

在线教育计费案例:小A是一名杭州的创业者,带领团队研发了一个在线教育平台。他希望把视频托管在阿里云上,存量视频大约1000个,占用存储空间近1T,每月预计新增视频100个,并新增存储约100G,课程视频的时长集中在20-40分钟,并且按照不同课程进行分类管理。为了保障各端的观看效果,计划为用户提供“标清480P”和“高清720P”两种清晰度。目前已有用户400人左右,每日平均视频观看次数1000次,在移动端和PC端观看次数比例大致为3:1。

谷粒学院技术点总结第3篇

一个中大型项目的开发流程:(1)需求调研(产品经理)(2)需求评审(产品/设计/前端/后端/测试/运营)(3)立项(项目经理、品管)(4)UI设计(5)开发、架构、数据库设计、API文档、MOCK数据、开发、单元测试、前端、后端(6)前端后端联调(7)项目提测:黑盒白盒、压力测试(qps)loadrunner(8)bug修改(9)回归测试(10)运维和部署上线(11)灰度发布(12)全量发布(13)维护和运营

谷粒学院技术点总结第4篇

菜单管理

角色管理

用户管理

权限管理表和关系

添加课程分类

课程分类列表、、

添加课程

谷粒学院技术点总结第5篇

绑定事件:v-on-click@click

(1)SpringBoot本质是就是Spring,只是快速构建Spring工程脚手架(2)细节:

(3)SpringBoot配置文件

(1)是很多框架总称,使用这些框架实现微服务架构,基于SpringBoot实现(2)组成框架有哪些?

(3)项目中,使用阿里巴巴Nacos,替代SpringCloud一些组件

(4)Nacos

(5)Feign

(6)熔断器

(7)Gateway网关

(8)版本

(1)MyBatisPlus就是对MyBatis做增强

(2)自动填充

(3)乐观锁

(4)逻辑删除

(5)代码生成器

(1)阿里巴巴提供操作excel工具,代码简洁,效率很高

(2)EasyExcel对poi进行封装,采用SAX方式解析

(3)项目应用在添加课程分类,读取excel数据

谷粒学院技术点总结第6篇

添加课程分类(读取Excel里的课程数据,添加到数据库中,通过EasyExcel)

课程分类列表(使用树形结构显示课程分类列表)

课程列表功能(查询所有课程并分页显示)

多条件分页查询(将条件值封装进对象,将对象传递到接口中)

课程列表的CRUD

添加课程(课程发布的流程:填写课程基本信息、添加课程大纲(章节和小节)、课程信息确认、最终发布)

添加小节时,可以上传课程视频(阿里云视频点播功能)

课程如何判断是否已经发布?

​通过给数据库设置字段status来判断他现在的状态(前端返回的课程id来修改课程的status并在前端显示)

生成统计数据(选择指定日期生成当天的数据)

统计数据的图标显示(Echart)

整合定时任务

Canal是阿里巴巴旗下的一款开源项目,纯java开发,支持MySql数据库

使用MySql的binlog写入功能以及Canal实现数据同步

前期使用Nginx作为网关,后期使用GateWay作为网关(需要在Nacos注册中心进行注册)

网关图解

添加和删除

订单表的CRUD

显示首页Banner功能(放入Redis进行缓存)显示热门课程(放入Redis进行缓存)显示名师(放入Redis进行缓存)

获取手机验证码(阿里云云市场)

、普通登录

​我使用的是token的方式,用户登录成功后,根据相关的信息生成token,然后返回给cookie,他每次访问的时候都会从请求头中获取token的值,并解析获取用信息,判断是否已经登录

单点登录三种方式介绍

你使用什么方式生成Token的?

使用Jwt生成token字符串

Jwt有几部分组成,分别为什么?

三部分组成,分别为:

jwt头:JWT头部分是一个描述JWT元数据的JSON对象

有效载荷(用户信息):是JWT的主体内容部分,也是一个JSON对象,包含需要传递的数据。JWT指定七个默认字段供选择

签名哈希(防伪标志):是对上面两部分数据签名,通过指定的算法生成哈希,以确保数据不会被篡改。

你登录功能的实现流程是什么(重要)?

1、前端调用登录的接口,后端将用户信息封装成登录对象,登录成功会返回一个token字符串;

2、前端获取后把token字符串放到cookie中;

3、前端创建请求拦截器进行判断,如果cookie里包含token字符串,把token放到header中;

4、前端再次调用接口获取用户信息(由于请求拦截器的存在,会将token放在请求中返回给后端),

​后端从header中取到token的值并查询用户信息返回给前端,然后前端在页面中进行显示

登录逻辑

、微信扫码登录

OAuth2是什么?

只是一种解决方法,按照一种规则,但是具体是什么规则,没有规定。他是一种方案,但不是一种协议

主要解决两个问题:

1、开放系统间授权

2、分布式访问问题

你是如何获取扫码人微信信息的?

扫码后,微信会返回两个值code和state;

拿着这个code去请求微信的固定地址,获得两个值access_token访问凭证和openid(每个微信的唯一表示);

然后拿着这两个再去请求微信的一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论