- 博客(6)
- 收藏
- 关注
原创 RabbitMQ
RabbitMQ是一个基于AMQP(Advanced Message Queuing Protocol)协议的可复用的企业消息系统。它是使用Erlang编写的,用于大型软件系统各个模块之间的高效通信,支持高并发、支持可扩展、支持多种客户端,持久化,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面都有很好的性能。特别的,它实现了一个Broker框架,这意味着消息在发送给客户端时先在中心队列排队,对路由、负载均衡或者数据持久化都有很好的支持。
2024-08-24 20:39:12
1164
原创 《黑马点评》项目复盘--功能实现(2)
基于Redis的分布式锁实现思路:①通过setnx ex实现互斥,并设置过期时间(保证在故障时锁依然可以释放,避免死锁,提升安全性),保存线程标识。②释放锁时需要判断是否与当前id一致,再进行释放锁操作。lua脚本保证原子性。消息队列,字面意思就是存放消息的队列。消息队列:存储和管理消息,也就是消息代理。生产者:发送消息到消息队列消费者:从消息队列中获取消息并处理消息特点。
2024-05-14 12:03:21
958
1
原创 《苍穹外卖》项目复盘--功能实现(2)
Redis是基于内存的key-value结构数据库因为基于内存存储读写性能更好,适合存储热点数据(热点商品、资讯、新闻)(内存有限,这类数据在某一时间段会被用户大量访问,用Redis来提升读写性能)这可能会出现雪崩、击穿、穿透、数据一致性等问题。补充:MySql是基于磁盘,并通过二维表来存储数据的。
2024-03-25 23:26:56
2100
原创 《苍穹外卖》项目复盘--功能实现(1)
在员工、菜品、套餐增加和更新时,都需要编辑创建时间、创建人、修改时间、修改人信息用于表示需要进行公共字段自动填充的方法/*** 自定义注解,用于标识某个方法需要进行功能字段的自动填充处理*///数据操作类型,UPDATE INSERT 内部有一个属性补充:@Target里面的标记,用于标识该注解在什么位置使用。
2024-03-21 23:54:39
1951
1
原创 《苍穹外卖》项目复盘--项目结构&环境搭建
sky-server: 子模块,后端服务,存放controller、service、mapper等,还有一些配置文件。1、开发流程 需求分析--设计(UI设计、数据库设计、接口设计)--编码--测试--上线运维。静态资源映射的原因是让拦截器知道是一个网络页面的(动态资源)请求,而不是一个动态请求。sky-common: 子模块,放了一些常用类,例如:工具类、常量类、异常类等。sky-take-out: maven父工程,统一管理依赖版本,聚合其它子模块。4、后端环境搭建--熟悉项目结构。
2024-03-20 21:24:45
1003
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅