ElastiCache Serverlessには隠れた機能がある: Memcachedレプリケーション

ElastiCache ユーザーがアベイラビリティゾーン間で自動レプリケーションを行う唯一の方法は、もはや Redis だけではありません。

ElastiCache Serverlessのローンチは、多くの注目を浴びています(そしてそれがどの程度サーバーレスであるかについての議論もあります)!第一に、S3 One Zone Expressは特定のシナリオではElastiCache Serverlessよりも優れたサーバレスキャッシュかもしれなません。第二に、ElastiCache Serverlessのローンチとともに、AmazonはMemcachedのレプリケーションをサイレントリリースしました!これは見た目よりも大きな問題です。

Memcachedとは?

Memcachedは、超最適化されたキー・バリュー・ストアです。マルチスレッドで、信じられないほどよくスケールします。Redisの知名度と比較すると、Memcachedは過小評価されがちだが、パフォーマンス、テール・レイテンシ、スケールにおいて勝るものはありません。世界の大企業の中には、Facebook、Twitter、Netflix、Pinterestを含むがこれらに限定されず、Memcachedまたはその亜種でキャッシュ・フリート全体を動かしているところもあります。

Memcachedとは何か、そしてなぜ世界はRedisを必要とするのか?

RedisはMemcachedよりもはるかに豊富なプリミティブと関数を提供すします。Redisにはデータ構造、Luaスクリプト(これは使わないことを強くお勧めします)、レプリケーションがあります!私たちはしばしば、Redisのキーバリュー機能のみを使用している高度なキャッシング・ユーザに遭遇しますが、Redisを選ぶ理由は、単にRedisには優れたマルチAZレプリケーション機能があるからです。

ElastiCache Serverlessの登場: RedisとMemcachedの間でレプリケーションの競争条件を平準化する

ElastiCache Memcachedはレプリケーションを提供しないため、ノード障害によるデータ損失のリスクを軽減するかどうかは完全にアプリケーション次第です。ElastiCache Serverless for Memcachedは、自動的に複数のAZにデータをレプリケートします。同じサイズのmemcachedインスタンスからより多くのスループットを引き出すことができるため、Redisのシンプルなキー・バリューのユースケースにとってMemcachedがより魅力的になります。これで、可用性、スループット、パフォーマンスのどちらかを選ぶ必要はなくなりました。

MomentoはMemcachedを使っていますか?どのようにレプリケーションをサポートしていますか?

私たちのMemcachedのサポートは、TwitterのMemcachedの再実装であるPelikanから得ています。Pelikanは、Rustで完全に書かれており、テールレイテンシ用に最適化されています。私たちのプロキシレイヤーは、このエンジンのレプリケーションを実行し、ノードの障害やデプロイ、スケーリングイベントの後に新しいノードをデータでウォームアップする方法としても機能します。

Momentoを使えば、スケーリングの遅延や、顧客と会話するための別のプロキシレイヤーの構築、使用しているエンジンのバージョンやタイプについて心配する必要はありません。Momentoはあなたの代わりにこれらすべてを最適化し、あなたは可能な限りゼロに近い設定を残すことができます(それでもキャッシュに名前を付ける必要はあります😜)。