Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up
キーバリューストアのRedisの最新版「Redis 3.0」安定版が正式にリリースされました。1月にリリース候補第2版が出ておりその時点で次回が安定版と予告されていたため、予告通りのリリースとなりました。 Redisはメモリ上でデータを扱うインメモリデータベースで、その高速性が大きな特長です。Redis 3.0ではこの高速性を生かしつつクラスタ構成を備えたことで、より大規模に展開できるようになりました。 Redis Clusterのドキュメントによると、1000ノードまではリニアに性能がスケールするとのことで、単体サーバでRedisを運用するのに比較して大規模なデータを扱えるようになります。またクラスタ内の一部のノードが落ちても全体としては動作しつづける仕組みのため、データベースの可用性も高めることができるようになりました。 データはRedisクラスタのノードに対して自動的にシャーディング
2. システム概要 homingは、アメーバピグ関連サービスのいずれかにログインしているユーザに対して、各サービスの通知情報を横断的にプッシュ通知します。 システムの構成は以下の通りです。 図2-1. システム概要 2-1. APIサーバ ユーザへの通知要求を受け付けるREST fullなAPIを備えたWebサーバです。 Node.jsのClusterによる、master/worker構成で稼働します。 通知要求はワーカプロセスで処理します。 図2-2. APIサーバ 2-2. Redisサーバ(データストア用) 一時的なデータをストアするためのRedisサーバです。 sentinelプロセスによる、master/slave構成で稼働します。 ストアされたデータはメモリ上のみで管理し、ディスクへの書き込みは行いません。 以下の情報を管理します。 ユーザのオンライン情報 ユーザIDの索
■ [ruby][redis] hiredis の簡易ベンチを取った idobata.io の Gemfile を眺めていて、「あーそういえば hiredis なんてのもあったなあ」と思い出したので、実際にどれくらい早くなるのかベンチ取ってみた。hiredis は law-level な API を使ってるから早い、ということらしいよ。 require 'benchmark' require 'redis' n = 100_000 Benchmark.bm do |x| x.report { redis = Redis.new n.times { redis.set("mykey", "hello world") redis.get("mykey") } } x.report { require 'hiredis' require 'redis/connection/hiredis' re
Horizontal scaling with Redis Cluster Redis scales horizontally with a deployment topology called Redis Cluster. This topic will teach you how to set up, test, and operate Redis Cluster in production. You will learn about the availability and consistency characteristics of Redis Cluster from the end user's point of view. If you plan to run a production Redis Cluster deployment or want to understan
CTOの椎名アマドです。 今回は、Pairyのチャットデータを全てRedisからAmazon DynamoDBに移行した話をしたいと思います。 我々が 2012年6月に カップル専用アプリ Pairy をリリースした時には、 データベースは MySQL と Redis の両方を利用するところで始めました。 Redis の役割は: 1. MySQLレスポンスのキャッシュ 2. プッシュ通知等のキュー 3. チャットのデータを全保管 サービスローンチ直後はまだ Appサーバー(EC2)1台と、MySQL & Redisを両方走らせてる DBサーバー(EC2)1台で十分だという判断で、しばらくはそんな構成でやってました。(S3などは省略) しかし、いざサービスが成長してくるともちろん MySQL & Redis を1台でまかなうのはキツくなり、MySQL と Redis を別々のEC2インスタン
ゴクロの大平です。ごくろうさまです。 Redisは高速で、かつデータの永続化や、複数のデータ型によるストア(list,set,sorted set等)も対応しており、機能的が豊富ということから愛用者の多いKVS実装の一つだと思います。 特に私のようなアプリケーションエンジニアの人間にとってはデータ型のバリエーションの豊富さが便利さを感じる部分で、たとえばlistを用いてタイムライン的な情報や履歴情報の管理、sorted setを用いてランキング情報の管理、などのようにアプリケーションの需要の多くにRedisが対応することができます。 これらの情報を登録する際のフローとしては自作のアプリケーションから直接、というケースが多いと思いますが、せっかくFluentdのような便利なlog collector実装があるので、FluentdとRedisを組み合わせる事でカジュアルに情報の蓄積を行いたい
こんにちは、宇津井です。 弊社ではゲソてんというゲームプラットフォームを運営しております。ゲソてんではサービスリリース当初から主にキャッシュ的な役割でRedisを導入していました。つい先日の事ですが訳あってRedis 2.6からサポートされたRedis Sentinelを採用しました。今回は、採用に至った経緯をご紹介します。 簡単なシステム構成 パフォーマンスは良いし、Memcachedには無い便利な機能を提供するRedisですが約一年間運用していくつかの問題が出てきました。 Redisサーバーが突然高負荷に陥るするとWebサーバーも高負荷に陥るRedisのReplicationは張ってるけどアプリケーション側でRedis Slaveへフェイルオーバーしない(MySQLを直接参照する)Redis落ちると恐らくMySQLサーバーが耐えられない(落ちた事無いけど)という事で対策を行ってきました
最近 SPDY と WebSocket がアツいですね。 再来週の SPDY & WS 勉強会 も、定員100名に対して 参加者が 247 名とかなりアツいことになっています。 その予習というわけでもないですが、最近 WebSocket を実サービスへの 導入方法を考えながら遊んでいたので、 WebSocket の負荷分散方法について 考えていることを書いておこうと思います。 ステートフルな WebSocket アプリケーション HTTP サービスは基本的にステートレスな実装になっており、リクエストが来るたびに DBサーバーや memcached などのバックエンドから情報を取得して返していました。 この構成では Web アプリ自体は完全にステートレス化することができているので、 負荷分散機はラウンドロビン等のアプリケーションを無視した負荷分散をすることができました。 しかし、 WebSo
WEB+DBのRedis特集をひろせまさあきさんと共同で執筆しました。 WEB+DB PRESS Vol.73posted with amazlet at 13.03.05設樂 洋爾 白土 慧 奥野 幹也 佐藤 鉄平 後藤 秀宣 mala 中島 聡 堤 智代 森田 創 A-Listers はまちや2 大和田 純 松田 明 後藤 大輔 ひろせ まさあき 小林 篤 近藤 宇智朗 まかまか般若波羅蜜 Mr. O 技術評論社 売り上げランキング: 335 Amazon.co.jpで詳細を見る 買ってください。 このRedis特集の第五章では、Redisを使ったリアルタイムランキングについて取り上げたのですが、 記事中にある同点問題について、執筆時から状況が変わりましたのでupdateします。 記事中では、RedisのSortedSetsはスキップリストというアルゴリズムを使っている特性上、 同じス
January 24, 2013 以前、Redis Sentinelを試すというエントリーを書きましたが もう少し入り込んで検証してみた。 殴り書きの域を出ていないので適時アップデートしていきたい。 検証環境 DATE: 2013/01/25 CentOS 6.3 Redis 2.6.9(remi) ドキュメント http://redis.io/topics/sentinel こちらを参考に行います。 Sentinelの設定、および起動方法 $ /usr/local/bin/redis-server /etc/sentinel.conf --sentinel [28498] 25 Jan 01:28:24.447 * Max number of open files set to 10032 _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 2.6.9
「RedisかわいいよRedis」(by typester)……というほど自分は Redis 期でもないのですが、最近 Redis を使ったサービスの面倒を見ていて時々レスポンスが悪化する現象に出会ったので調べました。 前提 使用しているのは Redis 2.4.16 です。 redis.conf に "save [t] [n]" を定義すると、最後に save をしてから [t]秒間に [n]個以上の key が更新された場合に background で save (=bgsave) が実行されます。 save 60 10000これだと、60秒間に 10,000 keys です。 bgsave では redisは自分自身のプロセスを fork() し、子プロセス側は自分のメモリに乗っている内容をファイルにすべて書き出します。 この仕組みによって、1プロセス 1スレッドで動作している re
(English version is written after Japanese version) Resque には失敗したジョブを Redis に貯めておいてエラー内容を確認したりジョブをリトライさせられる機能がある。これは Failure Backend というメカニズムで成り立っている。ジョブが失敗したらメールで通知するシンプルな Failure Backend を作りながら、このメカニズムへの理解を深めてみよう。 独自の Failure Backend を利用する手順はこうだ。 Resuqe::Failure::Base を継承したクラスを作る save メソッドを定義してその中で何か面白いことをする (メールを送るとか) Resque がその Failure Backend を利用するように設定する 例としてジョブの失敗内容をメールする Failure Backend はこ
redis | とある IRC チャンネルにて「ダンプしてからクラッシュするまでの更新消えるのはどうすんの?消えちゃマズいデータには使えないの?」(参考) という話があったので, automatic failover *1できるといいじゃなイカという話をした. 実はかなり昔に書かれて公開されたことがあるのだけれど, そのスクリプトはロード時間が長い場合などで正常に動作しないことを確認しているので, redis スキーなユーザー様との議論のネタ用にちゃんと動いてそうな設定を晒しておく. vrrp_script chk_redis { script "/usr/bin/redis_check" interval 2 } vrrp_instance r0 { state MASTER priority 150 nopreempt virtual_ipaddress { **.**.**.**/*
Redis 2.6 was expected to go live in the first weeks of 2012, but today is 24th of February and there are still no 2.6-rc1 tags around, what happened to it you may ask!? Well, for one time, a delay is not a signal that something is wrong. What happened is simply that we put a lot more than expected inside this release, so without further delays here is a list of new features: Server side Lua scrip
フルスッタクエンジニア @164c http://t.co/6ec5D7UT これ以外はこないだVer.upしたくらいで放置です。。トラブルもなく1年以上経ちました @hirose31 @zigorou つ @164c RT @zigorou: 緩募 Redis を運用してるインフラエンジニアとお話したいなり! 山口 徹 | タイミー執行役員CPO @zigorou @164c どもども、耐障害性を担保するための冗長構成と障害時のオペレーション辺りのノウハウを特に知りたいんですよね…。もし参考になるページ等ありましたら教えて頂けると助かります。 フルスッタクエンジニア @164c @zigorou ページはないですね。。ちなみに故障時等のある程度のダウンタイムは許容する想定の構成なので自動フェイルオーバーとかないです。だから、もしそういうレベルが必要ならうちの事例は参考にならないと思います
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く