aws集群重启

当您必须在AWS上运行可扩展应用程序时,您的数据库也必须是可扩展的。 扩展无状态应用程序层更容易,在无状态应用程序层中,每个节点几乎都是一次性的-即使3节点集群中的一个节点发生故障,您也可以启动另一个节点,而不会注意到。

数据库层是有状态的,因此存在丢失数据的风险。 仅拥有一个节点不是一个选择,因为一个节点总是会宕机,这意味着停机。 因此,您需要一个集群中的多个节点,以确保您的应用程序具有高可用性和容错能力(我不会在术语上有所差异)。

我在说什么数据库? 没关系 它可以是SQL或NoSQL数据库–每个数据库都有某种形式的集群。 无论是主动-主动还是主动-被动。

现在,特别是对于AWS,您可以选择RDS(或其他托管选项),它将为您处理。 但是,如果没有托管选项(例如Cassandra),或者您觉得托管选项没有给您足够的控制权,或者价格更高,或者您所需的版本不可用,则您必须自己管理数据库层。 我不会详细介绍如何配置特定于数据库的群集-您应该查看特定数据库的文档。 我将尝试提供一些技巧,以提示如何安全地运行支持数据库集群的基础架构。

这里是自动缩放组。 它们允许您有一组相同的节点(基于启动配置),并且ASG通过在现有节点发生故障时启动新节点来确保您始终拥有至少X个健康节点(它们可以自动杀死不健康的节点(即,节点)无法响应自动运行状况检查))。

这对于应用程序节点来说真是太棒了,但是对于数据库节点可能是个问题。 如果数据库节点一段时间没有响应,则不一定要杀死它。 这就是为什么我在下面汇总了一些避免陷阱的提示的原因。 不幸的是,其中许多服务无法通过CloudFormation使用,因此您必须手动进行操作。 并对其进行记录,以防万一您需要重新创建堆栈时不会忘记:

  • 将最小节点数设置为1。它可以防止在尝试其他不相关的ASG时意外地将“所需”计数设置为0。
  • 确保已为每个实例启用终止保护,并且已根据ASG启用了扩展终止保护。
  • 在ASG设置中,有“悬浮过程”。 确保暂停“终止”和“替换不健康”。
  • 确保在启动配置中,不会终止EBS卷。 考虑到您已禁用所有终止选项,为什么需要它? 好吧,由于底层主机的问题,终止有时可能会发生,或者可能安排将节点停用
  • 如果需要从EBS卷还原,请执行以下操作:1.让ASG产生一个新节点2.将“启动”暂时添加到已暂停的操作中3.分离节点的根卷4.将旧的EBS卷附加到/ dev / xvda 5.启动节点。
  • 设置生命周期策略(通过CloudFormation或手动)以对数据库EBS卷进行备份。 确保为卷设置了正确的标签(并且只能手动完成)
  • 确保ASG可以在多个可用区域中生成实例(以防实例掉线)

如果您遵循此步骤,则您的自动伸缩组将不会完全像自动伸缩组那样运行。 在负载增加的情况下,您仍然可以配置自动增加节点数,但是对于数据库层来说,其余功能很少是一个好主意–您宁愿解决现有计算机上的数据库问题,即使暂时停止也是如此。不只是产生新的。

但是你应该拥抱失败。 即使具有所有终止保护,您也必须假设一切都可能失败并消亡,并且应该有一条清晰的路径来还原节点。

翻译自: https://www.javacodegeeks.com/2020/02/running-a-safe-database-cluster-in-aws-with-auto-scaling-groups.html

aws集群重启

aws集群重启_使用自动伸缩组在AWS中运行安全数据库集群相关推荐

  1. 使用自动伸缩组在AWS中运行安全数据库集群

    当您必须在AWS上运行可伸缩应用程序时,您的数据库也必须可伸缩. 扩展无状态应用程序层更容易,在无状态应用程序层中,每个节点大部分都是可使用的-即使3节点集群中的一个节点发生故障,您也可以启动另一个节 ...

  2. aws集群重启_在AWS中设置Cassandra集群

    aws集群重启 Apache Cassandra是一个NoSQL数据库,它使用一致的哈希机制可以轻松进行水平扩展. 七年前,我尝试了它,并决定不将其用于我的附带项目,因为它太新了. 现在情况有所不同, ...

  3. 导致集群重启_解析 Elasticsearch 棘手问题,集群的 RED 与 YELLOW

    01 前言 大家先看两个故障,带着问题去思考: [故障诊断 - 案例 A]首先大致看一下分片未分配原因: 结果显示分片大都是因为 node_left 导致未分配,然后通过 explain API 查看 ...

  4. K8s(八)资源需求、资源限制及使用node-exporter、prometheus、grafana对集群进行监控\pod自动伸缩hpz

    容器的资源需求.资源限制 requeste:需求,最低保障: limits:资源限制,硬限额: CPU: 对应1颗逻辑CPU,1颗=1000millicores,500m=0.5CPU memory: ...

  5. aws iam 架构图_使用IAM保护您的AWS基础架构

    aws iam 架构图 在开发新产品并发现合适的产品市场时,每个团队都需要快速行动. 尤其是初创公司,因为公司的整个未来都取决于快速找到为您的产品付款的人. 对于初创企业和其他团队来说, Amazon ...

  6. Docker中搭建redis分片集群,搭建redis哨兵结构,实现springboot中对redis分片集群、哨兵结构的访问,Redis缓存雪崩、缓存击穿处理(非关系型数据库技术课程 第十二周)

    文章目录 一.要求: 二.知识总结 缓存雪崩 解决方案 docker中redis分片集群搭建 配置好配置文件 redis-6380.conf redis-6381.conf redis-6382.co ...

  7. python 频繁项集_用FP-Growth算法找出销售数据中的频繁项集

    运行环境 python3.7.PyCharm 2018.2.4 (Community Edition) 数据来源 思路 从所给数据及其说明文档可以看出此数据集是从购物数据中收集而来的,每行数据都是一条 ...

  8. 导致集群重启_干货丨如何水平扩展和垂直扩展DolphinDB集群?

    随着业务的扩展,数据量不断积累,数据库系统的数据容量和计算能力会逐渐不堪重负,因此优秀的数据库系统必须具备良好的扩展性.DolphinDB集群中的数据节点是集计算和存储于一体的,所以要提高计算能力和数 ...

  9. 导致集群重启_园区网核心交换机S7706异常重启导致无线网络故障

    问题现象 园区网核心交换机S7706设备异常重启,重启完成后其中一个无线信号故障,其它无线信号正常. 问题分析 1.问题现象分析 检查交换机上的重启时间点记录如下: 从该记录来看,重启原因是由于交换机 ...

最新文章

  1. 【 C 】动态内存分配实用案例(一)之读取、排序和打印一列整形值
  2. 8g ubuntu 树莓派4b_树莓派4B(4G版本)安装Ubuntu 19.10
  3. 数据结构与算法系列 目录
  4. 显卡安装一直循环在登录界面——解决之-T450安装显卡驱动和cuda7.5发现的一些问题...
  5. C++11新特性之右值引用
  6. 数据挖掘 -- 分类的模型评估度量
  7. c# richtextbox转html,C# RichTextBox 输入内容转自定义样式图像
  8. 语言的学习 —— 西班牙语(español)
  9. IDEA: 遇到问题Error during artifact deployment. See server log for details解决方法
  10. ( 4 )MySQL中的数据类型(字符串类型)
  11. 【渝粤教育】国家开放大学2018年春季 3717-21T天然气管道长输技术 参考试题
  12. python 视频培训
  13. 【C++要笑着学】缺省参数 | 全缺省与半缺省 | 函数重载
  14. 7z001怎么解压在安卓手机上面_手机怎么解压zip文件 安卓手机zip文件怎么打开?...
  15. 2021-11-16 QCustomPlot之柱状图
  16. 3d游戏设计读书笔记六
  17. 概率论:魏布斯分布Weibull cumulative distribution function
  18. leetcode 547. 朋友圈 C语言
  19. :before和::before是什么区别
  20. 趣丸集团招股书“失效”,旗下TT语音已下架,如何实现稳定增长?

热门文章

  1. spoj Favorite Dice(概率dp+期望)
  2. CF1242C-Sum Balance【状压dp】
  3. P5494-[模板]线段树分裂
  4. P4492-[HAOI2018]苹果树【dp】
  5. P3157-[CQOI2011]动态逆序对【CDQ分治,树状数组】
  6. P4318,bzoj2440-完全平方数【二分答案,莫比乌斯函数,容斥】
  7. 行列式、LGV、矩阵树学习笔记
  8. 第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(昆明) Cities(区间dp)
  9. 【前缀和】【DP】登机(jzoj 5535)
  10. Spring @Autowired 注释