high-availability

MQTT Broker mosquitto

眉间皱痕 提交于 2021-02-10 18:35:09
MQTT 全称 MQ Telemetry Transport 消息队列遥测传输协议 IBM 1994开发 MQTT v3.1.1 第4版 OASIS标准 1 to 0/1/N 简介 MQTT是一个TCP服务端,称为broker。 通过这个broker服务,我们可以作为发布者,发送一条主题消息给broker,然后其他订阅者通过消息订阅机制获得broker的主题消息推送。我们也可以作为订阅者,订阅其他发布者的主题消息。 对比MQ 消息队列存储消息,直到它们被消耗 消息队列中只有一个消费者处理消息,MQTT中订阅主题的每个订阅者都会收到消息 消息队列要提前并明确创建,MQTT中可以随时实时创建 议题 自动重连 Automatic Reconnect 离线缓存 Offline Buffering 消息持久化 Message Persistence 高可用 High Availability 安全 SSL/TLS websocket支持 连接 建立 broker开启一个host的TCP 1883端口 客户端连接Broker 如果是重连,需要带上上次ClientID 如果不是重连,可以指定CleanSession是否清空之前会话 可以指定两端之间心跳维持时间 服务端根据参数,重用或开启会话Session,绑定ClientID 一个会话,可以服务多个TCP连接,取决于是否CleanSession

Redis简单使用

我与影子孤独终老i 提交于 2021-02-05 16:41:27
Redis 知识点 redis的全称为远程字典服务器 Redis中文网 中Redis的介绍: Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings) , 散列(hashes) , 列表(lists) , 集合(sets) , 有序集合(sorted sets) 与范围查询, bitmaps , hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication) , LUA脚本(Lua scripting) , LRU驱动事件(LRU eviction) , 事务(transactions) 和不同级别的 磁盘持久化(persistence) , 并通过 Redis哨兵(Sentinel) 和自动 分区(Cluster) 提供高可用性(high availability)。 1. 为什么使用Redis redis是一种内存字典,访问速度远快于访问磁盘 随着文件变大,一个data page默认4k,这意味着在没有一个类似B+树的索引时查找一个大文件中的磁盘数据需要的寻址时间变长 随着访问量增加和需要取出的数据量变大磁盘I/O变大,而磁盘带宽有限 关系型数据库必须给出schema类型(字节宽度)以利于存储

ASP.NET Core分布式缓存Redis主从Sentinel哨兵模式实战演练

浪尽此生 提交于 2021-02-02 13:22:57
一、课程介绍 Redis是被广泛使用的基础软件之一。对于工程师和,架构师,运维人员来说,了解Redis的高可用方案和背后的原理,是必备的基础知识。 “高可用性”(High Availability)通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案之一,当用Redis做Master-Slave(主从复制)的高可用方案时,假如master宕机了,它能监控多个master-slave集群,发现master宕机后能进行自动切换。Redis主从切换技术的方法是:当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式。 1.1、本次分享课程包含知识点如下: ★Redis的三种集群解决方案对比。 ★Redis哨兵模式概述。 ★如何使用Dcoker部署Redis主从切换哨兵模式(一主二从三哨兵)。 1.2、一句话总结今天我们学习达到的目标 在ASP.NET Core中如何使用分布式缓存Redis主从Sentinel哨兵模式实现故障转移。 二、Redis的三种集群解决方案对比 redis有三种集群方式:主从复制,哨兵模式和集群。 1)、Redis主从复制特点

Keycloak(Wildfly/Infinispan) in HA mode - issue in detecting other machines in the cluster

▼魔方 西西 提交于 2021-01-28 09:10:10
问题 As a result, when I put the machines under an ELB, the login doesn't work. I have tried TCP and UDP for IP casting. Tried using TCPPING instead of MPING (although not sure whether I used them correctly). Infinispan is being used for distributed caching. Here is the default configuration, followed by the changes I had made: <subsystem xmlns="urn:jboss:domain:jgroups:7.0"> <channels default="tcp"> <channel name="ee" stack="udp" cluster="ejb"/> </channels> <stacks> <stack name="udp"> <transport

Keepalived+Nginx实现负载均衡高可用

烂漫一生 提交于 2021-01-13 07:29:32
一、负载均衡高可用 Nginx作为负载均衡器,所有请求都到了Nginx,可见Nginx处于非常重点的位置,如果Nginx服务器宕机后端web服务将无法提供服务,影响严重。 为了避免负载均衡服务器的宕机故障,需要建立一个备份机。主备机上都运行高可用(High Availability)监控程序,通过传送心跳信息来监控对方的运行状况。当备份机不能在一定的时间内收到对方的正常心跳时,它就接管主服务器的服务IP并继续提供负载均衡服务;当备份管理器又从主管理器收到“I am alive”这样的信息时,它就释放服务IP地址,这样的主服务器就开始再次提供负载均衡服务。 二、使用keepalived+Nginx实现负载均衡高可用 1、提供两个Nginx负载服务器 这里方便演示,分别在本机上添加2个虚拟服务器,分别安装Nginx 2、分别在两台服务器上安装keepalived Keepalived的安装方式不外乎检查配置、编译、安装那几个命令,这里就不再赘述,为方便管理,将相关配置文件进行移动,重启keepalived服务 3、配置keepalived 安装好keepalived后 ,进入/usr/local/keepalived/etc/keepalived,修改keepalived.conf文件 1)主机 2)备机 通过对两台服务器的keepalive进行配置,区分出主机和备机服务器,state

flink入门实战总结

时间秒杀一切 提交于 2020-12-24 23:49:06
  随着大数据技术在各行各业的广泛应用,要求能对海量数据进行实时处理的需求越来越多,同时数据处理的业务逻辑也越来越复杂,传统的批处理方式和早期的流式处理框架也越来越难以在延迟性、吞吐量、容错能力以及使用便捷性等方面满足业务日益苛刻的要求。 在这种形势下,新型流式处理框架Flink通过创造性地把现代大规模并行处理技术应用到流式处理中来,极大地改善了以前的流式处理框架所存在的问题。 一句话:flink是etl的工具。 flink的层次结构: 其中, windows下flink示例程序的执行 简单介绍了一下flink在windows下如何通过flink-webui运行已经打包完成的示例程序(jar) 从flink-example分析flink组件(1)WordCount batch实战及源码分析 讲到DataSet的转换 从flink-example分析flink组件(2)WordCount batch实战及源码分析----flink如何在本地执行的? flink batch批处理如何在本地执行的 从flink-example分析flink组件(3)WordCount 流式实战及源码分析 flink stream流式处理如何在本地执行的? 使用flink Table &Sql api来构建批量和流式应用(1)Table的基本概念 介绍了Table的基本概念及使用方法 使用flink

MSHA x Chaos 容灾高可用实践

我是研究僧i 提交于 2020-12-23 18:36:53
前言 由于外部环境的复杂以及硬件的不可靠,互联网服务的高可用面临着巨大的挑战,由于断网、断电等事故导致的各大互联网公司服务不可用的案例也不在少数。业务不可用,小到带来经济损失影响企业口碑,大到微信、支付宝这些国民级应用,影响国计民生。面对难以避免的天灾人祸,容灾架构的建设就成为了数字化企业的迫切诉求。 2020 年 12 月份,阿里云应用高可用产品 AHAS(Application High Availability Service)发布了新的功能模块 AHAS-MSHA,它是在阿⾥巴巴电商业务环境演进出来的多活容灾架构解决⽅案。本篇文章我们首先介绍容灾领域的几个重要概念,然后将结合一个的电商微服务案例,分享一下如何基于 AHAS 的异地多活能力(AHAS-MSHA)和混沌工程能力(AHAS-Chaos)帮助业务实现容灾架构的高可用实践。 容灾与评价指标 1. 什么是容灾? 容灾(Disaster Tolerance)是指在相隔较远的异地,建立两套或多套功能相同的系统,系统之间可以相互进行健康状态监视和功能切换,当一处系统因意外(如火灾、洪水、地震、人为蓄意破坏等)停止工作时,整个应用系统可以切换到另一处,使得该系统功能可以继续正常工作。 2. 容灾能力如何评估? 容灾系统主要为了在灾难发生时业务不发生中断,那么容灾能力如何评估和量化呢

NetApp 500 Connection Refused

我与影子孤独终老i 提交于 2020-12-21 13:39:13
NetApp OnCommand System Manager 500 Connection Refused 我最近在命令系统管理器上升级了 NetApp,在尝试登录时出现了错误:“500 连接被拒绝”。 如果在 DataONTAP 没有启用 TLS,就会出现这种情况。在这种特殊情况下,唯一可用的 SSL 协议是 SSL v3,大多数浏览器现在默认禁用该协议,或者文件服务器上的 SSL 证书已过期。 要在 DataONTAP 中启用 TLS,请通过 SSH 登录到文件服务器,并发出以下命令: options tls.enable on 如果您有一个具有多个控制器的高可用性设置,请确保在两个节点上都发出命令。 I recently upgraded my NetApp OnCommand System Manager and upon trying to login I was presented with the error: “500 Connection Refused”. This can occur if TLS is not enabled in DataONTAP. In this particular scenario, the only SSL protocol available was SSLv3, which most browsers now have

高可用,容灾,RTO,RPO等解释

做~自己de王妃 提交于 2020-12-18 10:33:01
基本概念 可用性(availability) 是系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。 可靠性(reliability) 是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。 高可用性(High Availability) 是指提供在本地系统单个组件故障情况下,能继续访问应用的能力,无论这个故障是业务流程、物理设施、IT软/硬件的故障。 MTBF(Mean Time Between Failure),系统平均正常运行时间 MTTR(Mean Time to Repair),系统平均恢复时间 可用性的计算公式: AVAILABILITY = MTBF / ( MTBF + MTTR ) × 100% 例如常提到的“5个9的可用性”即可用性(每年)99.999000%,故障时间(每年) 5.256分钟 DR(Disaster Recovery) 是指异地(同城或者异地)的高可用系统,表示在灾害发生时,数据、应用以及业务的恢复能力。 故障切换(failover),切换有两个维度的成本:RTO (Recovery Time Objective)和 RPO(Recovery Point Objective)。 RTO 是服务恢复的时间,最佳的情况是 0,这意味着服务立即恢复

SQL Server 2016 Failover Cluster + ALwaysOn

时光毁灭记忆、已成空白 提交于 2020-12-06 06:09:01
SQL Server 2016 Failover Cluster + ALwaysOn 环境的搭建 近期公司为了提高服务的可用性,就想到了部署AlwaysOn,之前的环境只是部署了SQL Server Failover Cluster,所以决定将云端放一台SQL Server来配置ALwaysOn,具体思路就是在本地的SQL Server Failover Cluster中再增加一个节点,然后将新家的节点放到Azure云端,然后在这两个实例之间配置AlwaysOn,部署后,有个问题就是集群之间无法自动故障转移,需要手动干预才可以具体后期我们再做详细介绍,废话就不多说了,开始实践配置; 环境介绍: Hostname:DC1 Role:DC IP:192.168.5.20 Domain:ixmsoft.com Hostname:ISCSI IP:192.168.5.38 Role:Storage Hostname:S1 Role:SQL Server 2016 IP:192.168.5.41 Hostname:S2 Role:SQL Server 2016 IP:192.168.5.42 Hostname:AO1 Role:SQL Server 2016 IP:192.168.5.43 SQL-CLUSTER 192.168.5.46 SQLCLUSTER 192.168.5.47