摘要:
最近公司项目遇到一个时间格式转换问题,项目调用时包含了Date类型的时间返回值,报了一下错误 Cannot parse date "2021-11-19 11:59:39": while it seems to fit format 'yyyy-MM-dd'T'HH:mm:ss.SSSZ', par 阅读全文
摘要:
Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的一致性要求很高,那么就不能使用缓存。 另外的一些典型问题就是,缓存穿透、缓存雪崩和缓存击穿。目前,业界也都有比较 阅读全文
摘要:
自动选举主机,是对主从复制,主机宕机的一种优化。主从切换技术的方法是:当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。 哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行。其原理是哨 阅读全文
摘要:
Redis集群是一个由多个主从节点群组成的分布式服务集群,它具有复制、高可用和分片特性。Redis集群不需要sentinel哨兵也能完成节点移除和故障转移的功能。需要将每个节点设置成集群模式,这种集群模式没有中心节点,可水平扩展,据官方文档称可以线性扩展到上万个节点(官方推荐不超过1000个节点)。 阅读全文
摘要:
主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master/leader),后者称为从节点(slave/follower);数据的复制是单向的,只能由主节点到从节点。Master以写为主,Slave 以读为主。一个主节点可以有多个从节点(或没有从节点),但 阅读全文
摘要:
数据库说明 redis默认有16个库,默认选中db 0 简单命令: select 切换数据库 dbsize 查看数据库大小 flushdb 清除当前数据库 flushall 清除全部数据库 内存模型 redis是基于内存的,CPU不是redis的性能瓶颈,Redis的性能瓶颈主要在内存和网络带宽,既 阅读全文
摘要:
1. 何时存储消息 分布式队列因为有高可靠性的要求,所以数据要进行持久化存储。 MQ收到一条消息后,需要向生产者返回一个ACK响应,并将消息存储起来。 MQ Push一条消息给消费者后,等待消费者的ACK响应,需要将消息标记为已消费。如果没有标记为消费,MQ会不断的尝试往消费者推送这条消息。 MQ需 阅读全文
摘要:
1. 消息模型 RocketMQ主要由 Producer、Broker、Consumer 三部分组成,其中Producer 负责生产消息,Consumer 负责消费消息,Broker 负责存储消息。Broker 在实际部署过程中对应一台服务器,每个Broker 可以存储多个Topic的消息,每个To 阅读全文
摘要:
pom.xml <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.7.1</version> </dependency> 1. RocketM 阅读全文
摘要:
1. CGLib动态代理分析 JDK实现动态代理需要实现类通过接口定义业务方法,对于没有接口的类,如何实现动态代理呢,这就需要CGLib了。CGLib采用了非常底层的字节码技术,其原理是通过字节码技术为一个类创建子类,并在子类中采用方法拦截的技术拦截所有父类方法的调用,顺势织入横切逻辑。JDK动态代 阅读全文