优化页面访问速度(三) ——服务端优化 一、概述 服务端的优化,主要可以通过消息队列、减少数据库请求(缓存)、并发处理、页面静态化等方式处理。 二、消息队列 1、解决问题 消息队列(Message Queue,MQ)有许多不同的实现方式,可以用rabbitmq、activemq、rocketmq,也 ...
分类:
其他好文 时间:
2019-10-19 20:45:28
阅读次数:
104
一、背景 MQ组件是系统架构里必不可少的一门利器,设计层面可以降低系统耦合度,高并发场景又可以起到削峰填谷的作用,从单体应用到集群部署方案,再到现在的微服务架构,MQ凭借其优秀的性能和高可靠性,得到了广泛的认可。 随着数据量增多,系统压力变大,开始出现这种现象:数据库已经更新了,但消息没发出来,或者 ...
分类:
其他好文 时间:
2019-10-19 09:53:00
阅读次数:
87
1. select rocketmq_id,broker_name,ip,count(*) as num from t_rocketmq_node group by rocketmq_id,broker_name,ip having num>1 order by rocketmq_id; 查找主从在... ...
分类:
数据库 时间:
2019-10-17 15:37:05
阅读次数:
84
消息队列概述 一次RPC变成两次 RPC 内容转储 选择合适的时机投递 队列设计重点 RPC 通信协议 存储选型 消费关系处理 实现事务 防丢/防重 批量/异步与性能 强烈推荐这篇文章,从设计的角度来思考消息队列的各种问题,阅读源码只是理解设计的最终实现,只有知道了设计的思路阅读源码才会更加容易理解 ...
分类:
其他好文 时间:
2019-10-08 14:32:22
阅读次数:
97
本文主要是讲在Centos中安装RocketMQ并做简单的示例。如果你按照本文安装100%是可以成功的,如果按照阿里官方的说明,那只能呵呵了~ 安装 官方地址为:https://rocketmq.apache.org/docs/quick start/ 本人安装如下: 配置,切换到mq的bin目录下 ...
分类:
其他好文 时间:
2019-10-07 11:06:06
阅读次数:
292
首先,下载源码,可以官网下载source包,也可以从GitHub上直接拉下来导入IDEA。如果是官网下载的source zip包,直接作为当前project的module导入,这里不赘述太多,只强调一点,那就是工程结构: RocketMQ源码为maven多模块工程,这里跟eclipse有个小小的区别 ...
分类:
其他好文 时间:
2019-10-06 18:44:51
阅读次数:
305
一、前言现在的主流消息队列基本都是kafka、RabbitMQ和RocketMQ,只有了解各自的优缺点才能在不同的场景选择合适的MQ,对比图如下:MQ对比图本篇文章主要介绍我自己在跑官方demo时遇到的一些坑(基于4.3版本),建议先看看RocketMQ的理论知识。Apache 上开源官方地址:ht... ...
分类:
其他好文 时间:
2019-10-02 00:19:24
阅读次数:
508
在sendDefaultImpl方法里面: 如果是同步的话,必须发送成功,还必须返回是ok才认为成功,否则继续重试。 如果是oneway、异步的话,直接return null出去了,那么异步如何做重试? 上面代码最核心的发送函数就是sendKernelImpl 可以看到,对于异步模式和非异步模式,s ...
分类:
其他好文 时间:
2019-10-01 22:28:39
阅读次数:
309
这里的selectOneMessageQueue的其实内部调用MQFaultStrategy内部对象的selectOneMessageQueue: 我个人看来,这个估算功能倒不是特别重要,所以mq默认是不使用这个逻辑,不过这个不妨碍我们研究下。下面是MQFaultStrategy的selectOne ...
分类:
其他好文 时间:
2019-10-01 20:15:31
阅读次数:
85
说在前面 本次开始进行rocketmq源码解析,比较喜欢rocketmq的架构设计,rocketmq内嵌了namesrv注册中心保存了元数据,进行负载均衡、容错的一些处理,4.3以上支持消息事务,有管理控制台、命令行工具,底层namesrv与broker、client与server交互netty实现 ...
分类:
其他好文 时间:
2019-10-01 13:32:33
阅读次数:
92