高可用对于当下的系统而言,可以说是一个硬指标,常年专注于业务开发的我们,对于高可用最直观的感觉可能就是祈祷应用不要出问题,不要报错;即便有问题,也最好不是我们的业务代码逻辑导致的,如果是服务器、DB、中间件(如注册中心、配置中心等)的异常那就抛给对应的sre,dba;然而常在河边走,哪有不湿鞋,为了保障服务的高可用,我们可以从哪些方面进行努力呢?本文将作为高可用的开篇,通过简述一些常用的系统的高可用方案,给大家介绍一下我们可以从哪些方面努力让我们的系统达到高可用,主要设计到的系统如下缓存:Redis数据库:MySql消息队列:RabbitMQ搜索:ElasticSearch1redis高可用策
引言本文会以一次完整的IBMMQ集群队列管理器、各类队列、channel、listener、TLS等的配置过程为样例,介绍企业应用如何在IBMMQ集群中进行配置使用的。注意:其中样例中的一些信息注意根据实际需求进行替换:队列管理器名称:QMGR_TESTVIP(HAfloatingipaddr):10.10.36.219VIP(HAfloatingipinterface):ens192认证用户名:testuser认证用户组:mqm创建队列管理器创建队列管理器及其数据分区(每个队列管理器数据隔离)#所有的操作需要到mqm用户下执行su-mqmexportPATH=$PATH:/opt/mqm/b
问题描述IBMMQ会对数据更改和重要事件进行日志记录。日志文件包含事务恢复所需的信息,可以归档活动日志文件(Activelogfiles),以便长期保留日志数据。IBMMQ在活动日志中记录发生的所有重要事件。该日志包含恢复所需的信息:持久消息;IBMMQ对象,例如队列;IBMMQ队列管理器;活动日志包含一组循环使用的数据集(最多310个),每一个队列管理器都有自己的恢复日志。恢复日志(Recoverylogs)包含下面三种文件:三个或者多个活动日志(activelogs)数据:S0000000.LOG-S9999999.LOG日志控制文件:amqhlctl.lfh(在log目录下)检查点文件:
一、什么是中间件?中间件是处于应用软件和系统软件之间的通用服务,是一类以自己的复杂换取企业应用简单化的可复用的基础软件,将具体业务和底层逻辑解耦的组件。中间件主要分为消息中间件、应用服务器中间件、交易中间件等等。而今天,我们主要是来一起了解一下什么是消息中间件;面向消息的系统(消息中间件)是在分布式系统中完成消息的发送和接收的基础软件。消息中间件也可以称消息队列,是指用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息队列模型,可以在分布式环境下扩展进程的通信。当前业界比较流行的开源消息中间件包括:ActiveMQ、RabbitMQ、R
创建证书通过openssl生成私钥opensslgenrsa-outserver.key1024根据私钥生成证书申请文件csropensslreq-new-keyserver.key-outserver.csr然后再找机构去签发TLS相关配置注意事项:首先,队列管理器会有一个默认的证书,如果队列未配置的话,会使用这个最上层的默认证书。#最顶层的证书查看方式#进入目标队列管理器runmqscTEST#查看队列管理器属性disqmgr#查看SSLKEY的值,即对应证书位置然后,不同的队列使用不同的证书,需要单独配置。不同的证书,指定对应的certlabel(导入证书时命名的label)。最后,配置
引言本文主要场景在于日常实际场景中,我们通常需要对IBMMQ做用户实际生产和消费等形成做验证,测试等模拟行为,对交付结果进行验收。而接下来介绍的pythonpymqi模块就可以帮我们实现这一操作。preparation注意,如果需要使用pymqi模块,并且还需要依赖MQ的SDK组件。#该包需要先官网下载然后再安装.tarxvf9.1.3.0-IBM-MQC-LinuxX64.tarsleep3s./mqlicense.sh-acceptsleep3srpm-ivhMQSeries*.rpmInstallingpymqi本指引安装的环境是以ubuntu20为基础环境;pipinstallpymq
部署下载官方包并解压安装:1、wgethttps://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/messaging/mqadv/mqadv_dev922_ubuntu_x86-64.tar.gz2、tar-zxvfmqadv_dev922_ubuntu_x86-64.tar.gz3、./mqlicense.sh4、安装所需包dpkg-iibmmq-runtime_9.2.2.0_amd64.debdpkg-iibmmq-samples_9.2.2.0_amd64.debdpkg-iibmmq-server_9.2.2.0_am
引言IBMMQ属于收费软件。和我写的其他文章一样,这里也仅仅只是分享一下自己的一些经验和积累提供大家学习使用;商业化产品用请先购买后再使用;IBMMQ集群使用3个node节点,至少保持N>2节点才能运行;锁定版本因为版本依赖关系,所以这里会固化版本至RHEL8.3之后进行安装;subscription-managerrelease--set=8.3主机名修改hostnamectlset-hostnamexxxxsystemctlstatusrsyslog#修改主机名后,需要重启rsyslog,否则日志中的主机名还未更正,也可以跟随后面初始化完成后reboot;#将集群三台机器解析放入hosts
队列管理器显示队列管理器显示指定:dspmq-m显示所有:dspmq创建队列管理器$crtmqm$crtmqm-q删除队列管理器dltmqm启动队列管理器strmqm停止队列管理器$endmqm(受控停止)$endmqm-i(立即停止)$endmqm-p(强制停止)进入mq环境运行指令runmqsc修改队列管理器权限ALTERQMGRCHLAUTH(DISABLED)关闭通道权限查看队列定义及状态disq(*)(所有队列)disqlocal()(本地队列)disqs()(主要属性)查看通道定义和状态dischl(*)dischl()dischs()查询队列管理器属性disqmgrdisqmgr
元件清单:stm32f103c8t6、mq2检测烟雾浓度(模拟量输出)、mq7检测一氧化碳浓度、mq135检测空气质量、OLED屏幕(四引脚仅支持iic协议通信)、dht11检测温湿度(数字量输出)、风扇模块、无源蜂鸣器、两引脚按键、WH-NB73-B5、ttl-usb接线图: 0:实现了dht11的温湿度以及mq2烟雾浓度的采集并通过OLED显示屏显示/*湿度整数湿度小数温度整数温度小数校验位00000000000000000000000000000000000000001看原理图确认GPIO引脚2、输出模式,输出起始信号:输出低电平18~30ms,20ms 3、IO口配置浮空输入模式,准检