大輔(444)9292件のシェア(ちょっぴり話題の記事)この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。はじめに先日9月15日、Facebookが開発した「mcrouter」がバージョン1.0として公開されました。mcrouterはmemcachedプロトコルをルーティングするソフトウェアで、クライアントとmemcachedサーバの間に立ってクエリをルーティングする仕組みになっています。このmcrouterを使うことで分散キャッシュシステムが構築出来ることになります。Facebookでは実際にインフラで導入しているそうです。Discoveryを使ってノードをクラスタリングすることは出来ますが、キャッシュデータのレプリケーションは出来ません。poolsを使うことで、ノード間でキャッシュデータを同期させることが出来ます。構成ElastiCacheの構築memcachedエンジンで、2つのノードを構築しました。変わった設定はしていません。mcrouterサーバの構築mcrouterのインストールは以下のものが必要になります。1.51+RagelfollyFBThriftこれらをそれぞれパッケージとしてインストールするのはかなり大変です。Linuxで試してみたのですが、不足パッケージが多過ぎて断念しました。Ubuntu用には自動インストールスクリプトが用意されていますので簡単に構築することが出来ます。このため今回はUbuntuを使いました。EC2をUbuntuでLaunchします。AMIはubuntu-trusty-14.04-amd64-server-20140607.1を使いました。Launch後、ubuntuユーザでログインし、とりあえずパッケージを最新にしておきます。upgrademcrouterはgitで配布されていますので、gitをインストールします。cloneコマンドで、mcrouterのリポジトリを取得します。https://github.com/facebook/mcrouter.git自動インストールスクリプトを使ってmcrouterをbuildします。memoryが出てコンパイルが進まなくなりました。t2.smallだと大丈夫でした。-j4これでmcrouterのインストールは完了です。次にmcrouter用の設定ファイルを作成します。"elasticache"というプールを作り、そこにElastiCacheの2つのノードを登録しています。routeの設定でelasticacheプールを使い、setとdeleteはプール内の全ノードに対して行い、getのみ特定のノードから行うように設定しています。}}さてmcrouterを起動...の前に、/var/spool/mcrouterというフォルダを作ります。手作業で作らないとプロセス起動時にエラーが発生しました。/var/spool/mcrouterでは、以下のコマンドにてmcrouterを起動します。AsyncMcServerはい、起動しました!試してみるset/getでは実際に試してみましょう。mcrouterに接続し、1stというkeyをsetしてみます。81st_setSTOREDそのままgetすると、ちゃんと値が取得できます。81st_setEND1台目のElastiCacheノードに接続しgetしてみると、ちゃんと値が取得できます。81st_setEND次に2台目のElastiCacheノードに接続しgetしてみると、そちらでもちゃんと値が取得できます。81st_setEND以上から、複数ノードに同期してsetが行われていることが分かります。deletemcrouterに接続し、先ほどsetした1stというkeyをdeleteしてみます。1stDELETEDそのままgetしても、deleteされているので取得出来ません。1stEND1台目のElastiCacheノードに接続しgetしてみると、ちゃんと値がdeleteされていて取得出来ません。1stEND次に2台目のElastiCacheノードに接続しgetしてみると、そちらでも値がdeleteされていて取得出来ません。1stEND以上から、deleteもちゃんと複数ノードで同期して行われていることが分かります。ELBでバランシングすると、更に可用性が高まるかと思います。既存のmemcachedに影響を与えることなく導入が可能なので、今後需要が高まって行くのでは無いでしょうか。smokeymonkey。札幌オフィス勤務のAWSエンジニア兼宴会部長。好きなものは妻と長女と長男と次男と三男(犬)とビールとカレーと愛妻弁当。嫌いなものは甘酒とミルク無しでシュガー入りのコーヒー。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。濱田孝治421re:Invnetの動画検索でもめちゃくちゃ便利ですが、その他ブログやホワイトペーパーやGitHubも横断検索できるので、是非一度使ってみてください。CAFEの他、NTTデータとセブンイレブンの取り組みや、サインポスト、Zippinなどの各社と流通・小売業との連携を業界マップに作成してみました。泰雨122皆さん、こんにちは。コンサル部のテウです。2020年もあっという間に2ヶ月が経ちました。今年こそ機械学習に入門しようぜ!!って決心された方もいらっしゃると思います。入門できる方法をご紹介させて頂きたいと思います。本記事の手順通り、ランチタイム等の時間を活かして、手軽に入門してみてください。濱田孝治421re:Invnetの動画検索でもめちゃくちゃ便利ですが、その他ブログやホワイトペーパーやGitHubも横断検索できるので、是非一度使ってみてください。夏目祐樹414こんにちは、CX事業本部の夏目です。MacのタッチバーのタッチIDが非常に便利なのですが、Terminalでsudoを叩かないと行けないときに使えたらなぁと思ったので、情報を共有します。臼田佳祐296ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。Fargateの勉強をしています。使ってみたい方は参考にしてください。洋介257SnowflakeがAWSの東京リージョン上で稼働するようになりました。データを日本に置けます。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。