短链接系统
用户可以将长 URL 转换为短链接,并能够根据短链接快速跳转到原始 URL,仓库地址
技术栈
Go, Gin, Redis, MySQL, TDDL, 布隆过滤器
项目亮点
- 使用TDDL序列实现分布式唯一 ID 生成器,能在满足高并发的同时保证ID的唯一性
- 使用 Redis 缓存短链接映射数据,减少数据库查询次数,提升系统性能
- 引入布隆过滤器来防止缓存穿透,减少不必要的数据库访问
- 使用令牌桶算法限流,对短链接的生成与访问进行限流,防止恶意刷短链接,保证服务的稳定性
用户可以将长 URL 转换为短链接,并能够根据短链接快速跳转到原始 URL,仓库地址
Go, Gin, Redis, MySQL, TDDL, 布隆过滤器
需求:为每个频道缓存热度较高的30条文章优先展示
基于的认证流程在研究Spring Security过程中已经测试通过,到目前为止用户认证流程如下:
认证所需要的用户信息存储在用户中心数据库,现在需要将认证服务连接数据库查询用户信息。
前边学习Spring Security工作原理时有一张执行流程图,如下图:
课程发布信息的特点的是查询较多,修改很少,这里考虑将课程发布信息进行缓存。
课程信息缓存的流程如下:
在nacos配置redis-dev.yaml(group=xuecheng-plus-common)
spring:
redis:
host: 192.168.101.65
port: 6379
password: redis
database: 0
lettuce:
pool:
max-active: 20
max-idle: 10
min-idle: 0
timeout: 10000
从以下几个方面进行项目介绍:
1、项目的背景:做什么业务、服务的客户群是谁、谁去运营、自研还是外包等问题。
2、项目的业务流程:课程发布流程、断点续传流程、视频处理流程、认证授权流程、支付流程、CI/CD流程。
3、项目的功能模块:内容管理模块、媒资管理模块、认证授权模块、选课学习模块、订单支付模块。
4、项目的技术架构:Spring Cloud 、SpringBoot、MySQL、Elasticsearch、XXL-JOB、MinIO、Redis、Redisson、RabbitMQ。
基于SSM框架的B2C电商平台项目。
SpringBoot+SpringCloud+MyBatisPlus+MySQL+Redis+Nacos+RabbitMQ+Sentinel+Seata+ElasticSearch
搜索业务并发压力可能会比较高,目前与商品服务在一起,不方便后期优化,为此我们将搜索业务单独拆分出来,创建一个新的微服务,并且使用elasticSearch作为搜索引擎。
由于要实现对商品搜索,所以我们需要将商品添加到Elasticsearch中,不过需要根据搜索业务的需求来设定索引库结构,而不是一股脑的把MySQL数据写入Elasticsearch.
主要着手于获取最新最热新闻资讯,内容以技术类文章为主,为终端学习用户提供精准的、 感兴趣的文章,通过大数据分析用户喜好精确推送资讯新闻,主要由JAVA语言开发,采用spirngBoot框架快速开发和springCloud微服务技术架构实现。
SpringBoot、SpringCloud(Nacos、OpenFeign、Gateway)、Redis、MySQL、MyBatisPlus、XXL-Job、 ElasticSearch、Kafka、Seata
以文章为主线的核心业务主要分为如下子模块(目前已经全部实现):
本项目是使用 Spring Boot 框架开发的一个在线外卖订购系统。
SpringBoot+MyBatis+MySQL+Redis+JWT
管理端实现员工,菜品,订单管理,来单提醒以及数据统计等功能;
用户端实现购物车,订单下单与催单等功能。
实现优惠券秒杀功能(待完成)
学成在线就是一个在线学习平台,类似慕课网以及腾讯学堂,是专门针对IT行业进行在线学习的平台。学成在线采用B2B2C的业务模式,即向企业与个人提供平台实现教学服务,其中企业就是老师,提供课程,作业,考试等;个人就是学生,通过平台实现教学和学习的过程。
Spring Cloud 、SpringBoot、MySQL、Elasticsearch、XXL-JOB、MinIO、Redis、Redisson、RabbitMQ