谷粒学院项目总结

谷粒学院项目总结,第1张

项目结构

一、canal_clientedu:数据同步

可以不运行

二、common 1.common_utils:通用工具


JwtUtils:JWT工具类
MD5:
R:统一返回结果
ResponseUtil:
ResultCode:返回码

2.service_base

RedisConfig:redis配置
SwaggerConfig:Swagger配置

(1)exceptionhandler

ForestException
GlobalExceptionHandler

(2)handler

MyMetaObjectHandler

3.spring_security:权限管理 三、infrastructure 1.api_gateway:网关配置 四、service 1.service_acl:后台用户管理 2.service_cms:轮播图 3.service_edu:课程管理 4.service_msm:短信 5.service_order:订单 6.service_oss:图片管理 7.service_statistics:数据统计 8.service_ucenter:前台登录注册,微信登录 9.service_vod:视频 运用技术 一、MybatisPlus 1.主键策略


AUTO:自动增长
ID_WORKER:mp自带策略,生成19位的值,数字类型使用
ID_WORKER_STR:mp自带策略,生成19位值,字符串类型使用
INPUT:需要自己输入
NONE:无策略
UUID:随机唯一值

(1)MP自带的策略

snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。其核心思想是:**使用41bit作为毫秒数,10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID),12bit作为毫秒内的流水号(意味着每个节点在每毫秒可以产生 4096 个 ID),最后还有一个符号位,永远是0。**具体实现的代码可以参看https://github.com/twitter/snowflake。雪花算法支持的TPS可以达到419万左右(2^22*1000)。

雪花算法在工程实现上有单机版本和分布式版本。单机版本如下,分布式版本可以参看美团leaf算法:https://github.com/Meituan-Dianping/Leaf

snowflake算法可以根据自身项目的需要进行一定的修改。比如估算未来的数据中心个数,每个数据中心的机器数以及统一毫秒可以能的并发数来调整在算法中所需要的bit数。

优点:

1)不依赖于数据库,灵活方便,且性能优于数据库。

2)ID按照时间在单机上是递增的。

缺点:

1)在单机上是递增的,但是由于涉及到分布式环境,每台机器上的时钟不可能完全同步,在算法上要解决时间回拨的问题。

(2)自动增长 (2)UUID

每次生成随机唯一的值,排序不方便

(2)redis

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/743318.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-29
下一篇 2022-04-29

发表评论

登录后才能评论

评论列表(0条)

保存