RabbitMQ消息确认机制
[#](#一-概述) (一)概述 {#一-概述} ------------------------ rabbitmq在使用过程中会遇到一个问题:生产者将消息发送出去后,消息有没有达到rabbitmq,默认是不知道的。 有两种解决方式:1.AMQP实现事务机制;2.Confirm模式 [#](#二-事务机制) (二)事务机制 {#二-事务机制} --------------...
[#](#一-概述) (一)概述 {#一-概述} ------------------------ rabbitmq在使用过程中会遇到一个问题:生产者将消息发送出去后,消息有没有达到rabbitmq,默认是不知道的。 有两种解决方式:1.AMQP实现事务机制;2.Confirm模式 [#](#二-事务机制) (二)事务机制 {#二-事务机制} --------------...
[#](#一-routing路由模式) (一)routing路由模式 {#一-routing路由模式} --------------------------------------------------- 在前面一篇博客中讲到了exchange的类型,其中direct类型的exchange就是用于routing路由模式。direct类型的交换机是指:交换机和队列绑定时会设置...
[#](#一-什么是粘包、半包) (一)什么是粘包、半包 {#一-什么是粘包、半包} ------------------------------------------ 在实际的网络开发中或者在面试中,最开始使用TCP协议时经常会碰上粘包和半包的情况,因此我们有必要了解一下什么是粘包,什么是半包,以及如何去解决。 **粘包**:故名思意就是客户端和服务端之间发送的数据包粘...
[#](#一-什么是netty) (一)什么是netty {#一-什么是netty} ------------------------------------------ Netty是一个**异步的,基于事件驱动的网络应用框架** ,用于快速开发可维护、高性能的**网络服务器和客户端** 。Netty的应用十分广泛,可以说主流的框架中,如果有网络方面的需求,一般用的都是net...
[#](#一-引言) (一)引言 {#一-引言} ------------------------ 在单体环境中,遇到临界资源的时候我们会使用Synchronized或者RetreenLock在调用临界资源前上锁。但是在分布式的环境下,锁住单体资源就不起作用了,这个时候就需要用到分布式锁。分布式锁的原理就是借用外部的一个系统来充当锁的作用,比如Mysql、Redis、Zook...
[#](#一-什么是微服务) (一)什么是微服务? {#一-什么是微服务} ------------------------------------- 在了解什么是SpringCloud之前,我们有必要去了解一下什么是微服务。在传统的项目中,我们都是把所有的代码都放在一个单体应用中,这种方式配置方便,可以很好的运行部署,但是随着项目越来越大,这个单体应用就会越来越臃肿,再加上...
[#](#一-什么是服务注册中心) (一)什么是服务注册中心 {#一-什么是服务注册中心} --------------------------------------------- 服务注册中心是微服务架构中非常重要的一个组件,在微服务架构中起到了协调者的作用,一般包含下面几个功能: 服务发现:保存服务提供者和服务调用者的信息;服务调用者订阅服务提供者的信息 服务配置:服...
[#](#一-ribbon概述) (一)ribbon概述 {#一-ribbon概述} ------------------------------------------ Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求...
[#](#一-feign概述) (一)Feign概述 {#一-feign概述} --------------------------------------- Feign是Netflix开发的声明式,模板化的Http客户端,Feign可以帮助我们更加便捷的调用HTTP API。SpringCLoud对Feign进行了增强,使得Feign支持SpringMVC注解,并整合Rib...
[#](#一-hystrix的介绍) (一)Hystrix的介绍 {#一-hystrix的介绍} ------------------------------------------------ 微服务的调用有时候会存在连环调用,即微服务A调用微服务B,微服务B调用微服务C。此时当微服务C不可用的时候,所有的请求都会阻塞到微服务B,可能会导致微服务B的资源耗尽,进而使得微服务...