- 博客(8)
- 收藏
- 关注

原创 消息队列如何保证数据不丢失
一、生产者此时已经可以保证消费者出现宕机,可以保证消息不丢失.Q: 当订单服务发送一条消息到rabbitMQ, rabbitMQ成功接收到了消息并保存在内存中, 但是在仓储服务没有拿走此消息之前, rabbitMQ宕机了. 怎么办?A:此问题需要考虑消息持久化(durable机制), 通过设置队列的durable参数为true, 则当rabbitMQ重启之后, 会恢复之前的队列....
2019-04-01 17:17:26
12706
1
原创 RabbitMQ如何保证高可用
rabbitMQ对于高可用是基于主从的方式进行实现. 其有三种工作模式: 单机模式、普通集群模式、镜像集群模式单机模式:生产模式不可能使用.普通集群模式:即在多个服务器上部署多个MQ实例, 每台机器一个实例. 创建的每一个queue,只会存在一个MQ实例上. 但是每一个实例都会同步queue的元数据(即queue的标识信息). 当在进行消费的时候, 就算 连接到了其他的MQ实例上,...
2019-04-07 19:13:14
10838
2
原创 如何保证生产环境下,消息队列全链路数据不丢失
当使用消息队列的时候,投递消息到消息队列,然后从MQ消费消息的这个过程,如何保证数据不丢失. ***这个一个非常重要的生成环境下问题***Q: 在你的项目中,对于消息队列的使用过程中, 很有可能因为一些异常的情况导致消息丢失, 那么对于消息,你是采用什么方式保证数据100%不会丢失的?前面已经说到了. 对于生产者, 可以通过设置队列的持久化与消息的持久化将信息保存到磁盘,当MQ服务重启之后...
2019-04-07 19:08:01
799
原创 RabbitMQ心得
(1)应用场景MQ全称为Message Queue,即消息队列, RabbitMQ是由erlang语言开发,基于AMQP(Advanced Message Queue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛。RabbitMQ官方地址:http://www.rabbitmq.com/开发中消息队列通常有如下应用场景:1...
2019-03-31 20:33:53
262
原创 GridFS心得
GridFS是MongoDB提供的用于持久化存储文件的模块,CMS使用MongoDB存储数据,使用GridFS可以快速集成开发。 它的工作原理是: 在GridFS存储文件是将文件分块存储,文件会按照256KB的大小分割成多个块进行存储,GridFS使用两个集合(collection)存储文件,一个集合是chunks, 用于存储文件的二进制数据;一个集合是files,用于存储文件的元数据...
2019-03-31 19:53:21
1216
原创 页面静态化流程
本文首先采用CMS管理页面。首先我们知道模板+数据模型=输出,页面静态化需要准备数据模型和模板,先知道数据模型的结构才可以编写模板,因为在模板中要引用数据模型中的数据,那么下面我来系统讲解CMS页面数据模型获取、模板管理及静态化的过程。CMS管理了各种页面,CMS对页面进行静态化时需要数据模型,但是CMS并不知道每个页面的数据模型的具体内容,它只管执行静态化程序便可对页面进行静态化,所以C...
2019-03-31 16:22:55
857
原创 SpringMVC异常处理
系统对异常的处理使用统一的异常处理流程:1、自定义异常类型。2、自定义错误代码及错误信息。3、对于可预知的异常由程序员在代码中主动抛出,由SpringMVC统一捕获。 可预知异常是程序员在代码中手动抛出本系统定义的特定异常类型,由于是程序员抛出的异常,通常异常信息比较齐全,程序员在抛出时会指定错误代码及错误信息,获取异常信息也比较方便。4、对于不可预知的异常(运行时异常)由S...
2019-03-31 15:43:25
138
原创 跨域问题解决
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:11000' is therefore not allowed access.原因:浏览器的同源策略不允许跨域访问,所谓同源策略是指协议、域名、端口相同。解决:采用proxyTable解...
2019-03-31 15:11:55
248
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人