摘要:
在中小企业中,以下几种消息中间件相对更为常用: RabbitMQ:它具有丰富的功能和易用性。许多中小企业选择它是因为其提供了多种消息路由模式,如直连、主题、扇出等,能够满足不同的业务需求。例如,在一个小型的电商系统中,RabbitMQ 可以用于处理订单处理、用户注册通知等消息的异步传递。 Kafka 阅读全文
2024年7月14日
2024年7月11日
摘要:
4.9.2)分布式锁 分布式锁:控制分布式系统有序的去对共享资源进行操作,通过互斥来保证数据的一致性。 解决方案: 4.9.3)redis分布式锁 sexnx (SET if Not eXists) 命令在指定的 key 不存在时,为 key 设置指定的值。 这种加锁的思路是,如果 key 不存在则 阅读全文
摘要:
@Data public class Task implements Serializable { /** * 任务id */ private Long taskId; /** * 类型 */ private Integer taskType; /** * 优先级 */ private Intege 阅读全文
2024年7月10日
摘要:
什么是Stream Stream被翻译为流,它的工作过程像将一瓶水导入有很多过滤阀的管道一样,水每经过一个过滤阀,便被操作一次,比如过滤,转换等,最后管道的另外一头有一个容器负责接收剩下的水。 示意图如下: 首先通过source产生流,然后依次通过一些中间操作,比如过滤,转换,限制等,最后结束对流的 阅读全文
2024年7月7日
摘要:
MinIO基于Apache License v2.0开源协议的对象存储服务,可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用Golang实现,服务端可以工作在Windows,Linux, OS X和FreeBSD上。配置简单,基本是复制可执行程序,单行命令可以运行起来。 MinIO兼 阅读全文
2024年7月5日
摘要:
垂直分表定义:将一个表按照字段分成多表,每个表存储其中一部分字段。它带来的提升是: 1.为了避免IO争抢并减少锁表的几率,查看详情的用户与商品信息浏览互不影响 2.充分发挥热门数据的操作效率,商品信息的操作的高效率不会被商品描述的低效率所拖累。 为什么大字段IO效率低:第一是由于数据量本身大,需要更 阅读全文
摘要:
拦截器(Interceptor)和过滤器(Filter)在Web应用中扮演着不同的角色,尽管它们都可以用来拦截请求和响应,但它们的适用场景和工作原理有显著的不同。以下是它们各自的一些典型适用场景: 过滤器(Filter) 过滤器是Java EE的一部分,它由Servlet容器管理,可以应用于所有进出 阅读全文
2024年6月28日
摘要:
Swagger常用注解 在Java类中添加Swagger的注解即可生成Swagger接口文档,常用Swagger注解如下: @Api:修饰整个类,描述Controller的作用 @ApiOperation:描述一个类的一个方法,或者说一个接口 @ApiParam:单个参数的描述信息 @ApiMode 阅读全文
2024年6月27日
摘要:
这段代码是使用了MyBatis-Plus框架进行数据库操作的一个示例。下面是对该代码的详细解析: ApUser apUser: 这里声明了一个ApUser类型的变量apUser,用于接收从数据库查询出来的用户信息。 getOne: 是MyBatis-Plus提供的方法,用于根据条件获取单个实体对象。 阅读全文