一、中间件介绍
什么是中间件?
为什么使用中间件?
中间件的特点
二、中间件分类
分布式消息中间件
ActiveMQ
- 复杂度较高,目前不常用
RabbitMQ(最常用)
- 开源
- 和spring是一家公司开发,spring框架支持性很好
- 支持事务,也支持持久化,分发机制,容错机制等
Kafka (性能最好)
- 基于tcp/ip,二进制流,最接近底层,性能极高
- 支持持久化,分发机制
- 但不支持事务
RocketMQ
- 阿里,滴滴联合开发的国内版MQ
- 半开源状态,可能不稳定
消息中间件的核心组成部分:
负载均衡中间件
Nginx 和 CDN是重点
缓存中间件
MemCache: 代码级别的,会占用JVM内存。小项目可以用
Redis: 分布式用
数据库中间件
MySQL虽然可以作为中间件,但是并不高可用,不能做集群,分库分表。
因此,要引入MyCat,ShardingJdbc来实现高可用