179. Redis 是什么?都有哪些使用场景? Redis 是一个使用 C 语言开发的高速缓存数据库。 Redis 使用场景: 记录帖子点赞数、点击数、评论数; 缓存近期热帖; 缓存文章详情信息; 记录用户会话信息。 数据缓存功能 分布式锁的功能 支持数据持久化 支持事务 支持消息队列 存储方式不 ...
分类:
编程语言 时间:
2020-03-22 23:50:35
阅读次数:
57
前言 新公司项目使用的消息队列是RabbitMQ,之前其实没有在实际项目上用过RabbitMQ,所以对它的了解都谈不上入门。趁着周末休息的时间也猛补习了一波,写了两个窗体应用,一个消息发布端和消息消费端。园子里解释RabbitMQ基础的很多了,这里就不对RabbitMQ的基础再做叙述了,来点实际工作 ...
分类:
其他好文 时间:
2020-03-22 20:01:50
阅读次数:
70
431. 什么是 Maven? Maven 使用项目对象模型(POM)的概念,可以通过一小段描述信息来管理项目的构建, 报告和文档的软件项目管理工具。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的 缺省构建规则有较高的可重用性,所以常常用两三行 Maven ...
分类:
Web程序 时间:
2020-03-22 15:55:28
阅读次数:
95
[toc] js 单线程模型 JavaScript 是单线程、非阻塞的一种语言,只有一个主线程,同时只能执行一个任务。 js 使用单线程是为了简单化 js 中的栈、堆和消息队列 栈 存放的是调用函数的记录——调用帧 堆 存放的是对象 消息队列 + 包含待处理消息的队列 + 每个消息都关联了一个回调函 ...
分类:
其他好文 时间:
2020-03-22 14:07:15
阅读次数:
86
一、MQ存储分类 文件系统:RocketMQ/Kafka/RabbitMQ 关系型数据库DB:ActiveMQ(默认采用的KahaDB做消息存储)可选用JDBC的方式来做消息持久化 分布式KV存储:ZeroMQ 对比: 存储效率, 文件系统>分布式KV存储>关系型数据库DB 易于实现和快速集成,关系 ...
分类:
其他好文 时间:
2020-03-22 13:59:27
阅读次数:
184
1.RabbitMQ简介 RabbitMQ是一个用Erlang语言实现了AMQP(Advanced Message Queuing Protocol)协议的消息队列服务。支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP ...
分类:
其他好文 时间:
2020-03-22 09:14:28
阅读次数:
108
Redis中的List数据类型可以作为一个简易的消息队列来使用,为什么说是简易的队列,因为List能实现队列基本的先进先出功能,但是比如延迟队列,消息优先级等功能并不支持,当然延迟队列也可以使用Redis的有序集合来实现,这里不过多介绍,只介绍一下php使用List实现最基本的先入先出队列功能。 前 ...
分类:
Web程序 时间:
2020-03-21 16:40:32
阅读次数:
82
1. 如果是一个业务被拆分成多个子业务部署在不同服务器上,是分布式应用;如果是同一个业务部署在多台服务器上,是集群; 2. 远程过程调用RPC:一种通过网络从远程计算机上请求服务,而不需要了解底层网络技术的协议;典型实现包括Dubbo,Thrift,CRPC等; 3. 消息队列:消息发布者只管将消息 ...
分类:
其他好文 时间:
2020-03-21 14:25:45
阅读次数:
55
业务分析 一般而言,商品秒杀大概可以拆分成以下几步: 1. 用户校验 校验是否多次抢单,保证每个商品每个用户只能秒杀一次 2. 下单 订单信息进入消息队列,等待消费 3. 减少库存 消费订单消息,减少商品库存,增加订单记录 4. 付款 十五分钟内完成支付,修改支付状态 创建表 goods_info ...
分类:
编程语言 时间:
2020-03-21 12:54:38
阅读次数:
60
一.基于erlang语言: 是一种支持高并发的语言 RabbitMQ的六种工作模式: 1.1 simple简单模式 消息产生着§将消息放入队列 消息的消费者(consumer) 监听(while) 消息队列,如果队列中有消息,就消费掉,消息被拿走后,自动从队列中删除(隐患 消息可能没有被消费者正确处 ...
分类:
其他好文 时间:
2020-03-20 17:15:51
阅读次数:
76