一.背景 1.各业务系统持续迭代过程中,JDK.SpringBoot.RocketMQ Client 等框架也进行了升级,高版本的 RocketMQ Client 发送的消息到低版本中,在控制台中午无法查看消息明细,致使业务日常排查问题等相当困难. 2.原业务端发送消息与本地事务很难做到一致性,要保障不丢失数据和数据不一致开发成本非常高,RocketMQ V4.4 版本增加了事务消息,引入事务消息后可大大降低实现这一特性的难度. 3.我们对 MQ 的依赖越来越强,MQ 的重要性和稳定性都已经可以…
目录 1.阅读源码之前的思考 2.从 Broker 启动流程看 DLedger 2.1 构建 DefaultMessageStore 2.2 增加节点状态变更事件监听器 2.3 调用 DefaultMessageStore 的 load 方法 3.DLedgerCommitLog 详解 3.1 核心类图 3.2 构造方法 3.3 load 3.4 recover 4.从消息追加看 DLedger 整合 RocketMQ 如何实现无缝兼容 5.从消息读取看 DLedger 整合 RocketMQ…
背景 我们在很早之前大约在2015年8月份左右我们开始使用Rocketmq作为公司消息中间件,那个时候RocketMQ还没有捐赠给Acaphe. RocketMQ版本还是3.2.6,中间升级了一次版本,目前版本是3.5.8. 但是随着RocketMQ版本不断更新并且功能与稳定性也不断提高,所以打算升级为4.3.X版本 上一次升级停机了10分钟不到还是很快的,这次的目标是不停机升级版本.(题外话,上次因为升级还燃起了一波“干架”) 架构深入了解 先简单附上一张RocketMQ的整体架构图,通过架构…
背景: 由于建设初期使用的vSphere vCenter for Windows版,其中安装自动化过程中会使用SQL Server Express的免费版数据库进行基础环境构建.而此时随着业务量的增加,虚拟机数的膨胀,产生的日志如果不被及时清理掉或者转移走的话,会导致该免费版数据库很快触发阈值而停止SQL Server服务(对于2005/2008版[vCenter  Server 4.1以下版本]是mdf文件不能超过4GB,对于2008 R2版[vCenter Server 5.5以上版本]的是…
今天应开发的需求,需要在Nginx增加一个模块,并不能影响现有的业务,所以就必须要平滑升级Nginx,好了,不多说了 1:查看现有的nginx编译参数 /usr/local/nginx/sbin/nginx -V 2:按照安装nginx的方法进行安装,只需要到make,千万不要make install 3: 备份旧版本的nginx可执行文件(期间nginx不会停止服务) mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old…
为什么要使用 HTTPS ? 首先来说一下 HTTP 与 HTTPS 协议的区别吧,他们的根本区别就是 HTTPS 在 HTTP 协议的基础上加入了 SSL 层,在传输层对网络连接进行加密.简单点说在 HTTP 协议下你的网站是光着身子在奔跑,但到了 HTTPS 下你穿了一件衣服,别人看不到你的肌肉了(当然,这好像不是好事,不重要),更安全了一点点,就大概这个意思. SSL 依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密.采用 HTTPS 的服务器必须从证书颁发机构 CA(Cert…
wget  http://tengine.taobao.org/download/tengine-1.5.1.tar.gz //下载Tengine1.5.1版本 tar zxvf tengine-1.5.1.tar.gz //解压到当前目录 cd tengine-1.5.1 //进入到目录 ./configure //执行安装脚本 make //编译安装 mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old //备份ngin…
                                                       源码安装nginx以及平滑升级                                                                                                                                               作者:尹正杰   版权声明:原创作品,谢绝转载!否则将追究法律责任.  …
如何实现nginx平滑重启与平滑升级? 平滑重启 kill -HUP `cat /usr/local/www/nginx/logs/nginx.pid` 平滑升级nginx: cd /yujialin wget http://nginx.org/download/nginx-1.0.6.tar.gz tar zxvf nginx-1.0.6.tar.gz cd nginx-1.0.6 /usr/local/www/nginx/sbin/nginx -V nginx: nginx version:…
一,Nginx的平滑重启如果改变了Nginx的配置文件(nginx.conf),想重启Nginx,可以发送系统信号给Nginx主进程的方式来进行.在重启之前,要确认Nginx配置文件的语法是正确的. 测试配置文件是否正确:/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf如果配置文件不正确,屏幕会提示配置文件的第几行出错:nginx:[emerg] invalid number of arguments in "a…