使用自动缩放将节点添加到现有 aerospike 集群

2024-01-07

我可以在 aws autoscale 下添加 aerospike 集群吗?喜欢 。我的初始自动缩放组大小将为 3,如果有更多流量进入并且 CPU 利用率大于 80%,那么它将向集群中添加另一个实例。你认为这可能吗?它有什么缺点或者会在集群中产生任何问题吗?


有一个 Amazon CloudFormation 脚本aerospike/aws-cloudformation https://github.com/aerospike/aws-cloudformation这给出了如何启动这样一个集群的示例。

然而,自动缩放的目的是增长无共享工作节点,例如 Web 应用程序。这些节点通常没有任何共享数据,您只需启动一个新节点即可开始工作。

向 Aerospike 这样的分布式数据库添加节点的目的是拥有更多的数据容量,并在更多节点之间均匀分布数据,从而增强处理操作(读取、写入等)的能力。自动缩放 Aerospike 可能不会按您的预期工作。这是因为当一个节点添加到集群时,一个新的(更大的)cluster http://www.aerospike.com/docs/architecture/clustering.html形成,数据为自动平衡。平衡的一部分是迁移分区 http://www.aerospike.com/docs/architecture/data-distribution.html节点之间的数据,当每个节点上的分区数量再次偶数时结束(因此数据均匀地分布在集群的所有节点上)。迁移很繁重,占用网络带宽。

This would如果您可以在流量高峰之前安排迁移,那么迁移就可以提前完成,并且您的集群将为下一个高峰做好准备。你不会想这样做as交通高峰正在发生,因为这只会让事情变得更糟。您还需要确保当集群收缩时,有足够的空间用于存储数据,有足够的 DRAM 用于主索引,因为两者的每个节点使用量都会增长。

Aerospike 拥有额外容量的另一点是允许滚动升级 http://www.aerospike.com/docs/operations/upgrade/aerospike/,一次一个节点进行升级,而不需要关闭整个集群。 Aerospike 通常用于实时应用程序 http://www.aerospike.com/use-cases/无需停机。至少您的集群需要能够处理节点故障并有足够的资源capacity http://www.aerospike.com/docs/deploy_guides/aws/plan/弥补不足。

就像注释一样,你有细粒度配置 http://www.aerospike.com/docs/reference/configuration/#migrate-threads控制迁移发生的速率,但如果您降低过程的激进性,迁移的运行时间会更长。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用自动缩放将节点添加到现有 aerospike 集群 的相关文章

  • 如何运行指定 node.js 版本 8 的 eb init?

    I run eb init并部署 我得到了node js版本6 如何在执行时指定我想要node js版本8eb init命令 这是一个有趣的问题 我很想知道是否有更简单的方法 但我是这样实现的 确定最新的SolutionStack名称如所列
  • Beanstalk 部署忽略 .ebextensions 中的 nginx 配置文件

    我在单实例 Elastic Beanstalk 环境中托管 Java Web 应用程序 并添加了几个 ebextension 文件 这些文件在每次部署时成功为我创建配置文件 然而 我无法找到一种方法让 Beanstalk 在 etc ngi
  • 如何在我的 AWS EC2 实例上安装特定字体?

    我有一个在 AWS EC2 Amazon Linux Elastic Beanstalk 实例上运行的 Python 应用程序 该实例需要某些特定字体才能生成输出 并且想知道如何在部署或实例启动过程中安装它们 我的代码在本地计算机 OS X
  • 在 RedShift 中声明变量

    SQL Server能够声明一个变量 然后在查询中调用该变量 如下所示 DECLARE StartDate date SET StartDate 2015 01 01 SELECT FROM Orders WHERE OrderDate g
  • AWS SQS Batch SendMessageBatchRequest 非常慢

    我的应用程序使用 SendMessageBatchRequest 将每个请求发布 10 条消息到 AWS SQS 每条消息的大小小于250字节 该应用程序预计每天发布约一百万条记录 但要实现这一目标 消息发布的速度非常慢 AmazonSQS
  • 将 Django 部署到 AWS;傻瓜静态文件

    我对这个项目的最后一步完全迷失了 到目前为止 我已经能够开发一个 Django 应用程序 它可以在本地主机上按照我想要的方式工作 我已经能够将网站部署到 AWS EC2 但我一定错过了有关提供静态文件的一些基本知识 我什至还没有尝试过媒体文
  • 将密钥对添加到现有 EC2 实例

    我被给予AWS控制台访问正在运行 2 个实例的帐户 但我无法关闭 在生产中 但是 我想获得对这些实例的 SSH 访问权限 是否可以创建一个新的密钥对并将其应用到实例 以便我可以通过 SSH 访问 获取现有的pem当前无法选择创建实例所用的密
  • AWS CodePipeline 构建缺少 Git 历史记录

    Context 我设置了一个 CodePipeline 它使用 CodeCommit 和 CodeBuild 作为其源和构建阶段 我的构建包括一个插件 com zoltu git versioning 使用 Git 提交历史记录来动态创建构
  • 如何将域添加到 aws 上的现有 SSL 证书

    我有一个与 Amazon Web Services 上的负载均衡器关联的 SSL 证书 我想在该证书上有一个额外的域 我的问题是 是否可以向 aws 上现有的 ssl 证书添加额外的域 我发现您可以在创建证书时添加其他名称 但我不知道如何使
  • AWS Lambda 提前结束(没有任何显式返回或回调)

    我在放入 AWS Lambda 中的一些 Node js 代码时遇到了一些问题 我需要进行几个异步调用 虽然第一个调用的行为符合我的预期 但 lambda 函数在第二个调用完成之前终止 返回值为 null 这让我认为 lambda 正在执行
  • AWS Elastic Beanstalk 一次也不会部署我的 Rails 应用程序

    我目前正在使用 Ruby 2 6 running on 64bit Amazon Linux 2 3 0 2 图像 并通过查看EC2实例内部的 var logs eb engine log eb logs 命令不会 t 告诉我这个 反复出现
  • AWS Amazon - 登录循环卡住

    我已经使用 AWS 亚马逊几年了 但是 突然当我登录时 我进入了此验证部分 他们将验证码发送到我的电子邮件 我收到了该代码 因此 我输入收到的代码 最终返回登录页面 所以我登录后 同样的事情一遍又一遍地发生 我无法进入我的仪表板 它只是不断
  • AWS S3 上传的图像已损坏

    我正在 AWS ec2 ubuntu 机器上工作 我的代码在 cakephp 中 当我尝试将任何图像上传到 AWS S3 时 它都会损坏 虽然它在核心 php 代码中运行良好 这是我的控制器代码 if this gt User gt sav
  • 如何自动启动我的 ec2 实例、运行命令然后将其关闭?

    我想每周对 redshift postgres 数据库中的数据运行一次机器学习模型 我使用以下命令将 R 脚本设置为休息 apiplumbr然后我将其设置为一项任务来管理pm2 我有它 所以任务会在ec2实例启动然后继续运行 要让 R 脚本
  • AWS Cloudfront 作为具有自定义域的 Heroku 站点的 CDN

    最近 我从 AWS Route 53 brianpatrickhummel com 购买了一个域来托管个人投资组合 该投资组合网站已启动并正在运行 使用 S3 存储桶和 Cloudfront 作为 CDN 在作品集网站上 访问者可以预览我构
  • Terraform - 可选的 SSM 参数查找

    我正在查找 SSM 参数 该参数可能存在也可能不存在 具体取决于传入的变量 data aws ssm parameter server tags name var env number server tags 然后我在本地文件中像下面一样使
  • 使用 AWS Java SDK 为现有 S3 对象设置 Expires 标头

    我正在更新 Amazon S3 存储桶中的现有对象以设置一些元数据 我想设置 HTTPExpires每个对象的标头以更好地处理 HTTP 1 0 客户端 我们正在使用AWS Java SDK http aws amazon com sdkf
  • 如何测试 jest Node JS 中 AWS 内置方法中使用的 .promise() 方法

    我想对其进行完整的单元测试 下面给出了我的函数的代码 function js async function sesSendEmail message var ses new aws SES apiVersion 2020 12 01 var
  • Elastic Beanstalk 中的 enum34 问题

    我正在尝试在 Elastic Beanstalk 中设置 django 环境 当我尝试通过requirements txt 文件安装时 我遇到了python3 6 问题 File opt python run venv bin pip li
  • 无法对 Elastic Beanstalk AWS 上运行 ASP.NET 的网站强制使用 HTTPS(使用经典负载均衡器)

    这样我终于能够成功创建一个https网站了 它只是运行模板 ASP NET Web 项目 我有一个证书 并且该证书已添加到 AWS 中的 ELB 弹性负载均衡器 经典 中 我的环境可以浏览到https www mvc cloudy skie

随机推荐