什么是中间件?
各应用交互使用的插件。
为什么使用中间件?
方便应用间的交互。
可靠性稳定性扩展性
消息中间件 (协议有OpenWire,AMQP,MQTT,kafka,OpenMessage)
ActiveMQ,RabbitMQ、kafka,rocketMQ
数据库中间件
MyCat,Redis
中间件集群:
1.共享
2.同步
3.元数据共享
RabbitMQ:
(非持久化)持久化存盘会存盘但断电消失。
(持久化)持久化存盘会存盘断电不消失。
为什么采用AMQP协议而不是http?
应为http报文过于复杂,携带加密,状态码等不符合消息队列需求,快,简单,稳定。
为什么基于channel 而不是基于连接?
因为基于连接创建销毁开销大,每次都会经过3握手4挥手浪费性能,采用类似nio复用机制能更好的利用资源。