前言
现如今的互联网应用大都是采用 分布式系统架构 设计的,所以 消息队列 已经逐渐成为企业的应用系统 内部通信 的核心手段,
它具有 低耦合、可靠投递、广播、流量控制、最终一致性 等一系列功能。
当前使用较多的 消息队列 有 RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMQ 等,而部分数据库 如 Redis、MySQL 以及 phxsql ,如果硬搞的话,其实也可实现消息队列的功能。
可能有人觉得,各种开源的 MQ 已经足够使用了,为什么需要用 Redis 实现 MQ 呢?
- 有些简单的业务场景,可能不需要重量级的 MQ 组件(相比 Redis 来说,Kafka 和 RabbitMQ 都算是重量级的消息队列)
那你有考虑过用 Redis 做消息队列吗?
这一章,我会结合消息队列的特点和 Redis 做消息队列的使用方式,以及实际项目中的使用,来和大家探讨下 Redis 消息队列的方案。
二、回顾整理阿里面试题
基本就这样了,还有一些零星的问题想不起来了,答案也整理出来了。
- 自我介绍
- JVM如何加载一个类的过程,双亲委派模型中有哪些方法?
- HashMap如何实现的?
- HashMap和ConcurrentHashMap区别, Concurrent HashMap 线程安全hashtable吗, ConcurrentHashMap如何保证 线程安全?
- HashMap和HashTable 区别,HashTable线程安全吗?
- 进程间通信有哪几种方式
- JVM分为哪些区,每一个区干吗的?
- JVM如何GC,新生代,老年代大对象,永久代,都储存哪些东西?
- GC用的引用可达性分析算法中,哪些对象可作为GC Roots对象?
- 快速排序,过程,复杂度 ?
- 什么是二叉平衡树,如何插入节点,删除节点,说出关键步骤。
- TCP如何保证可靠传输?三次握手过程
- TCP 和 UDP 的区别 <