並び順

ブックマーク数

期間指定

  • から
  • まで

521 - 560 件 / 4033件

新着順 人気順

redisの検索結果521 - 560 件 / 4033件

  • memcached-1.4.7-rc1でmixiの大規模障害の原因となったmemcachedの不具合が全て解消されました - blog.nomadscafe.jp

    こちらとこちらのエントリーの続き memcached 1.4.6でmixiの障害の原因となったaccept_new_connsがスレッドセーフじゃない件は修正されているはずだったのですが、検証したところ別のスレッド競合による不具合が発生し、Bugは全て解消されてはいませんでした。 この件についてmixiたんぽぽGの森本さんと調査していたところ、memcachedのcommiterにtwitter上で補足され、つたない英語で報告をあげていたら1.4.7-rc1で修正されたのでその報告。 memcached 1.4.6での不具合再現方法 まず、1.4.6で不具合を再現させる方法について。mixiのエンジニアブログと同じように、memcachedは次のオプションで起動し、 $ ./memcached -U 0 -u nobody -p 11222 -t 4 -m 16000 -C -c 1000

    • Repcached

      repcachedについて repcachedとは、memcachedにデータのレプリケーション機能を追加実装したものです。 memcachedは、以下のようなところによく使われると思います。 一時的なデータの保存場所として キャッシュを保存する場所として RDBMSのデータのキャッシュ 生成したページデータのキャッシュ いずれの場合も消えていいデータなので、万が一memcachedがダウンしても問題はないはずです。 しかし、影響が全くないわけではありません。 例えば、MySQLのデータをmemcachedでキャッシュしている場合、memcachedがダウンしている間は直接MySQLにアクセスがいくことになりDBサーバの負荷が上がります。また、memcachedを再起動してキャッシュが失われた場合は、再びキャッシュが溜まるまではDBサーバに負荷がかかることになってしまいます。 このように

      • gRPC Streaming によるスケーラブルな常時接続型 API の構築

        常時接続型 API を構築するとき、 Go + gRPC Streaming はパフォーマンスに優れる有力な選択肢となります。しかしながら常時接続ゆえ、通常通信時間が短時間で終了する Web API とは異なる注意点があります。そこで本セッションでは、gRPC Streaming の紹介にはじまり、注意点やハマりポイントをご紹介します。また、GKE 上でオートスケールするオートモーティブ移動体情報配信システムを構築した事例をご紹介します。

          gRPC Streaming によるスケーラブルな常時接続型 API の構築
        • Redisがライセンスを変更、BSDライセンスからRSAL/SSPLデュアルライセンスに | gihyo.jp

          Redisがライセンスを変更⁠⁠、BSDライセンスからRSAL/SSPLデュアルライセンスに Redisは2024年3月20日、次のバージョン(Redis v7.4)以降、これまで採用してきたBSD 3条項ライセンスから、RSALv2(Redis Source Available License)もしくはSSPLv1(Server Side Public License)のいずれかを選択するデュアルライセンスに移行することを発表した。 Redis Adopts Dual Source-Available Licensing | Redis Today, we announced that all future versions of Redis will be released with source-available licenses. Starting with the releas

            Redisがライセンスを変更、BSDライセンスからRSAL/SSPLデュアルライセンスに | gihyo.jp
          • RubyistのためのMongoDB入門

            MongoDBとは 10gen社が中心となって開発している非リレーショナルデータベース。 特徴 MongoDBは("humongous"より)は、スケーラブル、ハイパフォーマンス、オープンソース、スキーマフリー、ドキュメント指向です。C++で書かれていて、機能としては: ドキュメント指向ストレージ (the simplicity and power of JSON-like data schemas) 動的な クエリー 組み込みのオブジェクトと配列をサポートした完全な Index のサポート。 クエリー プロファイリング 速い in-place アップデート バイナリデータの効率的な保存 large objects (例:写真や動画) レプリケーション とフェイルオーバーのサポート。 クラウドレベルのスケーラビリティな 自動的なsharding 複雑な集約のための MapReduce 商用

            • 第5回 memcachedの運用と互換アプリケーション | gihyo.jp

              株式会社ミクシィの長野です。memcachedの連載も今回が最終回になります。前回までmemcachedに直接関連する話題を中心に書いてきましたが、今回はmixiでの事例や運用に関する話題、memcachedの互換アプリケーションについて紹介します。 mixiでの事例 mixiではサービスの初期の頃からmemcachedを利用していました。memcachedはサイトへのアクセスの増加が、データベースのスレーブを増やしていく方法では追いつかないほど急激にのびていく中で導入して行きました。加えてスケーラビリティを向上させていく手段として検証を行い、十分な速度と安定性があることが確認できたことも導入の理由になります。現在ではmemcachedはmixiのサービスを提供していく中で非常に重要なコンポーネントとなっています。 図1 現在のシステムコンポーネント サーバ構成と台数 mixiではデータベ

                第5回 memcachedの運用と互換アプリケーション | gihyo.jp
              • Redis Sentinel で冗長構成を組む際の注意点 : DSAS開発者の部屋

                KVS界隈ではすっかりおなじみ(?)のRedisですが、当社でも徐々にそのニーズが高まってきました。 標準機能として、レプリケーション、Pub/Sub、ソート等の便利機能が満載のRedisですが、サービスに投入する際に冗長構成をどう組むかといった点が気になっている方もいるのではないでしょうか。 まだまだ検証中ではあるのですが、Redisに実装されているRedisSentinelを用いて冗長構成を組んだ際にハマった所をご紹介したいと思います。 RedisSentinelとは Redisに標準実装されている機能の一つで、Redisのステータス監視、通知、自動フェイルオーバーが行なえます。 詳細な仕様、設定に関しては以下のドキュメントをご確認下さい。 http://redis.io/topics/sentinel RedisSentinel導入前の構成 特に何の変哲も無い構成です。 Redisサ

                  Redis Sentinel で冗長構成を組む際の注意点 : DSAS開発者の部屋
                • From Node to Deno

                  From Node to Denoby aralroca on Sunday, May 17, 2020 • 10 min read Last week I published an article about Deno, and how to create a Chat app with Deno and Preact. Since then, many doubts have arisen. Mostly of them are about how to do the same thing we did in Node, but with the new Deno ecosystem. I've tried to collect some of the most used topics in Node, and looked for their alternative with Den

                    From Node to Deno
                  • Scaling Twitter » SlideShare

                    Scaling Twitter - Slides for a talk presented at the SDForum Silicon Valley Ruby Conference 2007 on Twitter's challenges scaling Rails.Read less

                      Scaling Twitter » SlideShare
                    • Blog - Mikula Beutl - SEO Consulting

                      This guide is the safest way to do a domain switch, you get all you need to change a blocked domain. What is a user flow and a user journey? There’s a macro view of a customer experience that we can analyze and partially control.

                        Blog - Mikula Beutl - SEO Consulting
                      • memcached活用は、格納オブジェクトの”粒度”がキモ

                        最近じゃmemcachedを活用してデータベース(RDB)の負荷を下げるって話、そこらじゅうから聞こえてくるけれど、memcachedの活用は、格納オブジェクトの”粒度”(granularity)がキモだと思ってます。 memcachedは、KeyとDataをペアで格納して、Keyが与えられると、関連付けられたDataを返すだけのシンプルなシステム。PerlやPHPの連想配列と同じ。このmemcachedをRDBのキャッシュとして活用してやる場合、memcachedに格納するキャッシュデータの単位、”粒度”をどう設計するかが重要になってくる。 RDBの場合、格納されるデータはRow(レコード)単位。じゃぁキャッシュもRow単位で作ってやればいいのかといえば、それではうまくいかないケースもたくさんある。RDBでは専用の問い合わせ言語であるSQLを使って、 SELECT * FROM hoge

                          memcached活用は、格納オブジェクトの”粒度”がキモ
                        • 僕らがmemcachedのキャッシュキーにsha1やmd5のhash値を使うを避ける理由 - blog.nomadscafe.jp

                          memcachedのキャッシュキーにsha1やmd5のhash値を使うとtcpdumpや解析ツールで覗きにくくなるので、cacheには出来るだけわかりやすい名前をつけて下さい。というハナシ 下のようなコードのように sub cache { state $cache = Cache::Memcached::Fast->new({ namespace => 'db:', }); } sub key { my ($self,$key) = @_; sha1_hex($key); } sub cached_member { my ($self, $member_id) = @_; my $key = $self->key('member:'.$member_id); my $member = $self->cache->get($key); if ( !$member ) { #DBから取得 }

                          • 「Python×Django×AWS」による モバイル向けソーシャルアプリ開発の裏側

                            6月30日、株式会社gumi CTO 堀内康弘氏による技術セミナー「Python×Django×AWS で作るソーシャルアプリ ~3日に1つアプリをリリースできた理由~」が開催された。オプト主催のソーシャルアプリコンテスト タイアップセミナーの一環で、今回で2回目の開催となる。 6月30日、株式会社gumi CTO 堀内康弘氏による技術セミナー「Python×Django×AWSで作るソーシャルアプリ ~3日に1つアプリをリリースできた理由~」が開催された。オプト主催のソーシャルアプリコンテスト タイアップセミナーの一環で、今回で2回目の開催となる。 ソーシャルアプリ開発に Python×Django×AWSを選んだワケ gumiは、エンタメ情報に特化したモバイルSNS「gumi」を手がける開発会社で、日本初の携帯向けOpenSocialプラットフォーム「gumi Platform」を提供

                              「Python×Django×AWS」による モバイル向けソーシャルアプリ開発の裏側
                            • Key Value Store勉強会に行ってきました by kumofsのひと - Blog by Sadayuki Furuhashi

                              ※分散Key-Valueストア「kumofs」を公開しました! 先日開催されたKey Value Store勉強会に行ってきました。私の発表資料は↓ここからダウンロードできます。 kvs-kumofs.pdf 合わせて読むと理解が深まるかもしれない: スマートな分散で快適キャッシュライフ - mixi Engineer's Blog:Consistent Hashについて バイナリシリアライズ形式「MessagePack」:kumofsのプロトコル。高速なストリームバッファとストリームデシリアライザの実装も含まれています。 Protocol Buffersは遅い:MessagePackのベンチマークとProtocol Buffersとの比較。タイトルは釣り。 memstored:IOアーキテクチャのプロトタイピング マルチコア時代の高並列性IOアーキテクチャ Wavy memcached

                                Key Value Store勉強会に行ってきました by kumofsのひと - Blog by Sadayuki Furuhashi
                              • システムのI/Oに必要な時間の大部分はカーネルにあった | POSTD

                                Key-Valueストアからロックサーバに至る、あらゆる実行中のサイトのシステムパフォーマンスは、今なお、主に レイテンシ や スループット で測定されています。 サーバのI/Oパフォーマンスでは、これが重要となります。高性能なI/Oサブシステムなくしては、これらのメトリクスのどちらにおいても良いパフォーマンスを行うことはできません。 奇妙なことに、この10年間で一般的なハードウェアのI/Oパフォーマンスは驚くほど向上しているにも関わらず、システムのI/Oパフォーマンスはあまり大きな変化を遂げていません。そこで、私はこのような疑問を持ちました。 「一般的なスタンダードなOSでは、I/Oパフォーマンスの向上は期待できないのだろうか?」 一般的なLinuxハードウェア上のシンプルなI/O これは、Simon Peterらによって発表された 最新のOSDIレポート の裏に隠された重大な課題です。

                                  システムのI/Oに必要な時間の大部分はカーネルにあった | POSTD
                                • 手を動かして学ぶ Redis 入門

                                  会社でRedisを使っているサービスがあり、そのメンテナーになった。RedisがIn-Memory Databaseということは知っていたのだが、その他の特徴や操作方法などまったくわからないので、チュートリアルを中心に手を動かしながら学んだことをまとめていく。またNode.jsからRedisにアクセスする方法もあわせて紹介する。 Redis の特徴 Redisはメモリー上にデータを保存するKey-Value型のNoSQLデータベースのひとつ。用途はデータベースだけにとどまらず、キャッシュやメッセージブローカーとしても利用される。 In-Memory Database RedisはIn-Memory Databaseなので、On-Disk Databaseと比べ非常に高速に動作する。ちなみにIn-Memory DatabaseとOn-Disk Databaseの違いは以下のとおり。 インメモ

                                    手を動かして学ぶ Redis 入門
                                  • Harriet ー テストのときつかうにデーモンの取扱を簡単にするためのフレームワーク - tokuhirom's blog

                                    https://github.com/tokuhirom/Harriet/https://metacpan.org/module/TOKUHIROM/Harriet-0.01/lib/Harriet.pmテストのときにつかう mysqld, memcached, stf, groonga あたりのデーモンを、.t 単位で起動していては遅くてかなわない。かといって、あらかじめ起動させておくというのも。。 というわけで prove のプラグインとしてよしなにする、みたいなのをがんばってかく、というような試みがおこなわれてきたわけですが、どうもめんどくさい。 なんか適当にやったらうまくうごく、っていうかんじのカジュアルなツールがほしいな、なんておもったりするわけですよ そこで、Harriet ってのをつくってみました。 なんかこう、t/harriet/mysqld.pl っていうファイル名でこん

                                    • YAPC 2012 - 続・Mobage を支える技術

                                      Me 嶋田 裕二 (Yuji Shimada) @xaicron ソフトウェアエンジニア Me CPAN Author Me デザインセンスがとてもよい Me New! 最近ぎっくり腰になりました Works DeNA Co., Ltd. Mobage オープンプラットフォーム Mobge API Gadget Server (Proxy Server) 宣伝 宣伝 春頃に「Mobage を支える技術」という本を書きました。 ⇡これね 他にうちの部では @zigorou @nekokak の二人が書いています。 ちなみに ちなみに JPA 理事 JPA 理事 路傍の石 はい 紹介ブログの名言集 @kazeburo 35億PV/day の世界では1万回に1回しか起きない事が1秒に8回起きる。100万回に1しか起きないことが1日に3500回起きる @Yappo DeNA のノウハウが12個も馬

                                      • 勝手に図解するmemcached

                                        先日、Brian Akerとミクシィの前坂氏によるmemcachedのセミナーがあった。 実践で使用する上での話や開発最前線の話が聴けたため、セミナーは非常に盛況であった。筆者にとっても非常に勉強になる内容だった。セミナーの資料はBrian Aker氏のサイトから入手できるのでセミナーに参加出来なかったひとはこの資料を読んで自習して頂きたい。 が、いかんせん氏のスライドはパッと見ただけではなんとなく分かりづらいように俺は思う。なぜだろうか?それはきっと図がないからだ・・・と勝手に想像する。オトコたるもの、時には勝手な憶測で突き進むのもアリだ。ちなみにBrianのスライドはほとんど要点の箇条書きになっている。これでは解説がないと、特に新規にmemcachedやMySQLを学習している人たちには分かりづらいだろう。 というわけで氏に代わり、memcachedがどのように既存の仕組みを置き換える

                                          勝手に図解するmemcached
                                        • 第1回 神獄のヴァルハラゲートの裏側をCTOが語り尽くす! | gihyo.jp

                                          C#の非同期構文をフル活用し業界最速の応答速度を実現 現在、多くのソーシャルゲームがPHPやPython、Rubyといった、いわゆるLightweight Languageを使って開発されていますが、(⁠株)グラニではプログラミング言語としてC#を採用し、Windows環境で開発および運用を行っています。実は、現在提供している「神獄のヴァルハラゲート」は、2013年1月のリリース時点ではPHPを利用していました。しかし同年4月にC#への移植を開始し、3ヵ月後の7月16日にはC#への切り替えを完了させています。 このようにC#にこだわっている理由の一つがパフォーマンスです。ソーシャルゲームはユーザがアクションを起こすたびにデータが更新されるというしくみ上、どうしてもViewのキャッシュを効かせられなかったり、1万リクエスト/秒を超えるような高負荷が発生したりしますが、そうした状況においても平

                                            第1回 神獄のヴァルハラゲートの裏側をCTOが語り尽くす! | gihyo.jp
                                          • MySQL for JSON: Generated Columns and Indexing - Compose Articles

                                            Unlock innovation with highly secure, fully-managed Database-as-a-Service capabilities on IBM Cloud® IBM Cloud® Database-as-a-Service (DBaaS) services free developers and IT from complex and time-consuming tasks including deployment of infrastructure and database software, infrastructure operations, database software updates, and backup. IBM Cloud® Database SMEs deliver and maintain ready-to-use,

                                              MySQL for JSON: Generated Columns and Indexing - Compose Articles
                                            • Kyoto Tycoon: a handy cache/storage server

                                              Overview Kyoto Tycoon is a lightweight database server with auto expiration mechanism, which is useful to handle cache data and persistent data of various applications. Kyoto Tycoon is also a package of network interface to the DBM called Kyoto Cabinet. Though the DBM has high performance and high concurrency, you might bother in case that multiple processes share the same database, or remote proc

                                              • Rails 5 + ActionCableで作る!シンプルなチャットアプリ(DHH氏のデモ動画より) - Qiita

                                                【注意!】この記事はRails 5.0.0.beta1を対象にしています。最新のRails 5では仕様が変わっている可能性もあるので注意してください。 はじめに 先日、Rails 5のAction Cableを使ったシンプルなチャットアプリの作り方をDHH氏がYouTubeで公開していました。 Rails 5: Action Cable demo - YouTube 動画を見ながら僕もコードを写経してみたので、その内容をこちらで紹介してみます。 なお、ここで紹介するのはコードだけで、DHH氏の発言は完全に再現していません。 発言内容を確認したい人はオリジナルの動画をチェックしてみてください。 チャットアプリの完成形 今回は下のような非常にシンプルなチャットアプリを作成します。 ソースコード 今回作ったコードはGitHubにアップしています。 JunichiIto/campfire コードを

                                                  Rails 5 + ActionCableで作る!シンプルなチャットアプリ(DHH氏のデモ動画より) - Qiita
                                                • RailsでResque使い始めた - Masatomo Nakano Blog

                                                  これとこれの続き。この後、もう少し調査して、Resqueを実際のシステムの一部で使い始めてみたのでその感想とメモ。 前回までのあらすじ Resqueはバックグラウンドでジョブの実行をするもので、かなりの大規模サイトでかつ更新系の処理が多そうなシステムであるGithubで開発され使われている。よくある使い方としては、「Web UIを軽く見せるため、処理の依頼だけを受け付け、実際の処理はバックグラウンドで実行」「バッチ処理などで、大量のJobをQueueに突っ込んでおいて、(複数の)workerで並列で効率よく処理」などがある。 不安なところ Resqueの大きな特徴は、QueueをRDBMSではなくRedis上に作るところにある。Redisは、Memcacheのようにシンプルに使え、すべてのデータはメモリ上に展開されるのでとても速く、データはディスク上にも永続化されるので、何かあったときにも

                                                  • Cassandra、MongoDB、Redisなど主要NoSQL比較 | gihyo.jp

                                                    ハンガリーの企業でCTOを務めるKristof Kovacs氏による記事です。各主要NoSQLプロダクトについて機能比較や利用ケースなどをまとめています。この記事ではCassandraやRedisなど6つのプロダクトを挙げています(表1⁠)⁠。 CouchDBは使い勝手に優れており、双方向レプリケーションやリアルタイム更新をサポートしています。Redisは非常に高速なことが売りで、トランザクションや変更監視の機能が備わっています。Cassandraは書き込みが読み込みよりも速いことから銀行や金融などのリアルタイムなデータ解析が必要になる分野で実力を発揮し、Cassandraと同じくJavaで作られているHBaseは億単位の行と数百万のカラムというBig Dataを扱え、月に1,000億を超えるメッセージを処理するFacebookのバックエンドに採用されています。 次々にプロダクトが生まれた

                                                      Cassandra、MongoDB、Redisなど主要NoSQL比較 | gihyo.jp
                                                    • [Ruby on Rails] Sidekiq で非同期処理を実装する | DevelopersIO

                                                      Sidekiq とは Sidekiq とは Rails アプリで非同期処理を行うためのライブラリです。複数のジョブを同時に実行することができ、メモリを節約することができます。 ということで今回は Sidekiq の基本と使いかたをざっくりと学んでいきたいと思います。 Sidekiq を使ってみる インストール まず前提条件として Redis が必要なのでインストールしましょう。Redis はジョブの管理に使われています。 brew install redis インストールは Gemfile に追加して bundle install するだけです! vim Gemfile # gem 'sidekiq' を追加 bundle install Worker を実装する 非同期処理を行うクラスは Sidekiq::Worker を include してつくります。あとは perform メソッド

                                                        [Ruby on Rails] Sidekiq で非同期処理を実装する | DevelopersIO
                                                      • デブサミ2016「大規模Redisサーバ縮小化の戦い」講演メモ #devsumi - 元RX-7乗りの適当な日々

                                                        メモメモ。泥臭い話で面白かったです。 「大規模Redisサーバ縮小化の戦い」 駒井 祐人 氏 (株)アカツキ ゲームのサーバサイド機能開発、インフラの設計構築・保守運用 Redisとは インメモリDB 5種類のキーバリューのデータ型 ファイル永続化オプション システムの問題点 EC2サーバが20台に対して、AWSのElasticCache(Redis)が64台あった なぜ64台あったかというと、リリース直後にRedisの負荷問題があり、8台 => 64台になった 調査するとkeys("")を実行している箇所があった 当然お金がかかる(cache.m3.large * 64台 = 約135万円/月) 冗長化しんどいし、設定ファイルの記載も辛い ので、縮小化と冗長化の対処をしたい 現状整理 格納されているデータ フレンド情報、セール情報、ランキング情報 キーの件数 1サーバに8DB、1DBあた

                                                          デブサミ2016「大規模Redisサーバ縮小化の戦い」講演メモ #devsumi - 元RX-7乗りの適当な日々
                                                        • MySQL+Memcachedの時代は過ぎ、これからはNoSQLなのか、についての議論

                                                          グーグルでMySQLエンジニアリングチームを率いたのち、現在はFacebookに在籍しているMark Callaghan氏がブログ「High Availability MySQL」にポストしたエントリが発端になって、MySQL+Memcachedの時代は過ぎたのか? という議論が巻き起こっています。 元グーグルMySQL担当エンジニアが弱気な発言? Callaghan氏がポストしたエントリ「Plays well with others」は次のような一文で始まり、MySQLについてややシニカルに書かれているように読めます。 A few years ago MySQL+memcached and PostgreSQL+memcached were the only choices for high-scale applications. That has changed with the ar

                                                            MySQL+Memcachedの時代は過ぎ、これからはNoSQLなのか、についての議論
                                                          • VagrantとDocker: Mac OS X上でPostgres、Elasticsearch、Redisをセットアップする方法 | POSTD

                                                            VagrantとDocker: Mac OS X上でPostgres、Elasticsearch、Redisをセットアップする方法 しばらく Docker の動向をチラチラとうかがっていたのですが、Dockerがどれだけすばらしいものであるかいうことを、みんなが話しているのを耳にしました。さらに、今どきの若者たちは もうすでに これを 使っている のだということも知りました。そこで私は、試しにDockerを自分の開発環境で動かしてみることにしました。ここでは、Mac OS Xで Vagrant を使い、Dockerコンテナとして Postgres 、 Elasticsearch 、 Redis をセットアップする方法を説明します。 Dockerとは? Dockerは内部のオペレーティングシステムからアプリケーションを切り離すために、軽量のコンテナを使用します。そしてアプリケーションを使用す

                                                              VagrantとDocker: Mac OS X上でPostgres、Elasticsearch、Redisをセットアップする方法 | POSTD
                                                            • DBMによるデータベースサーバ - mixi engineer blog

                                                              DSのスターフォックスというゲームにはまりまくりのmikioです。最近社内外で「俺ストレージサーバ」を作るのが流行っているようなので私も参戦してみました。今回はDBMのネットワーク層をほぼスクラッチで作った話をします。 Tokyo Tyrant Tokyo Tyrant(以下TT)はTokyo Cabinet(以下TC)をラップしてネットワーク越しに操作できるようにするツールです。キャビネット(内閣)を傀儡にするタイラント(僭主)ということで名付けました。ダウンロードはこちら。 TCは高性能なDBMで、マルチスレッドモデルで高い並列性を実現していますが、逆にマルチプロセスモデルだとファイルロックがかかるので並列性が低くなってしまいます。つまり、書き込みモードでデータベースにアクセスしているプロセスがいると、その間は他のプロセスがデータベースに接続しようとするとブロックされることになります。

                                                                DBMによるデータベースサーバ - mixi engineer blog
                                                              • 真にスケーラブルなWebアプリケーションを作るには?という話題で盛り上がった件 - Tous Les Jours 攻防記

                                                                先週末は上京してRubyKaigiに参加してきました。 運よくLT枠をいただくことができたので、タイトルのようなテーマで(結構紆余曲折があって、当初の想定から逸れてしまった...)プレゼンさせてもらうことができました。 話の流れとしては、 「WebアプリケーションのボトルネックはRDB」 ↓ 「RDBってAmazonEC2みたいなHaaSではスケールしないよね。」 ↓ 「本当に(アプリのコードをそのままで)スケールさせようと思ったら、AmazonSimpleDBのようなクラウドDBを使うしかない」 ↓ 「SimpleDBはMySQLより一桁以上遅いから、単純にRDBをSimpleDBに置き換えると、えらいことになる」 ↓ 「SimpleDBへのアクセスを極力少なくするため、リクエストはMemcachedとかでキャッシュしまくる必要があるね」 ↓ 「このあたりを今Lang-8で実験している。

                                                                  真にスケーラブルなWebアプリケーションを作るには?という話題で盛り上がった件 - Tous Les Jours 攻防記
                                                                • microservices間でデータ変更をReactiveに伝搬させる - tehepero note(・ω<)

                                                                  2017 - 05 - 03 microservices間でデータ変更をReactiveに伝搬させる Microservices Reactive microservices構成なものを運用していると、更新頻度が少ないデータなのに別のmicroservicesに都度リクエストをするということがよくあると思う。 例えば、Userの ドメイン を扱うサービスがいた場合、他のサービスはUserのデータを取得するためにUserサービスをHTTP(S)ないし、何らかのRPC的手段によって取得することになる。以下の図をイメージしてもらえるとよい。 UserサービスがUser ドメイン を担当する層なのでこのようになる。 データの更新頻度が少ないという現実 実際に運用してみると取得対象のデータ更新頻度が少ないというケースがあるので、Userサービスへのリクエストを減らしてキャッシュを活用したくなるところ

                                                                    microservices間でデータ変更をReactiveに伝搬させる - tehepero note(・ω<)
                                                                  • RedisのSorted Setsで簡易的な遅延実行Queueを作って迅速にLINE LIVEのPC配信対応をリリースした話 - LINE ENGINEERING

                                                                    ! This post is also available in the following languages. 英語, 韓国語 みなさんこんにちは、LINE LIVE開発のYappoです。 今回は先日リリースされました一般向けのPC配信機能を実装するときに作った簡易的な遅延実行Queueについて書いていこうと思います。 関連エントリ:LIVE PRESS 公式ブログ – ゲーム実況にもぴったり!LINE LIVEでPC横型ライブ配信を試してみよう 背景 今までのLINE LIVEでの配信方法としては、アプリ上で直接配信する方法と、公式アカウント向けの専用画面(LINE OFFICIAL ACCOUNT MANAGER)とRTMPソフト(もしくは専用機材)を利用してPCからの配信する方法がありました。 この2つの方法は全く違う仕組みで実装されるように見えますが、実は基本となる設計は同じで

                                                                      RedisのSorted Setsで簡易的な遅延実行Queueを作って迅速にLINE LIVEのPC配信対応をリリースした話 - LINE ENGINEERING
                                                                    • Redisへと至る、gumiデータストアの歴史

                                                                      [CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonightAmazon Web Services Japan

                                                                        Redisへと至る、gumiデータストアの歴史
                                                                      • 3万同接で苦しんでたのに30万同接が楽勝になった話|SUGAR株式会社|note

                                                                        こんにちは!SUGAR株式会社のCTOをしている杉谷と申します。SUGARという生放送システムを作っています。 “SUGAR is 何” については社長の鎌田(UUUM社長でもある)が https://note.com/sugarcorp/n/n2f3a0fe1a107 で解説していますので、よろしければご覧ください! はじめに昔(もう13年前)にも生放送システムを作ったことがあったんですが、当時は技量と知見が足りず今みたいに便利なサービスやツールも無かったので負荷に弱く、数万人のユーザーが殺到すると落ちる、なんてことが頻繁にありました。 それから11年後、いろいろあって人生2度目の生システムであるSUGARを作ることになりました。今度こそはとガッチガチに負荷対策をしたところ某人気俳優の方の配信で三十数万人が一瞬で殺到してもなんとか死なない※システムを作ることができました。 ※正確には最初

                                                                          3万同接で苦しんでたのに30万同接が楽勝になった話|SUGAR株式会社|note
                                                                        • Goで多層キャッシュを実装するときに役立つtips - Gunosy Tech Blog

                                                                          こんにちは、メディア事業本部所属の石塚(@ij_spitz)です。こちらはGunosy Advent Calendar 2018、4日目の記事です。なお、昨日の記事は@timakinさんのGoで多層キャッシュ実装と@aibouさんのInfrastructure as Codeの心構えでした。 何を書くか全然決めてなかったのですが、昨日@timakinさんがGoでの多層キャッシュの実装ポイントについて書いていたことに加えて、僕も最近業務で多層キャッシュについて取り組んでいたので、Goで多層キャッシュを実装するときに役立つtipsについて書きたいと思います。 ちなみに僕は多層キャッシュのことを多段キャッシュと呼んでいましたが、曖昧さを解消するために本記事では多層キャッシュで統一します。 なぜ多層キャッシュを使うのか 多層キャッシュ自体については昨日のブログで既に説明されているので詳細は控えます

                                                                            Goで多層キャッシュを実装するときに役立つtips - Gunosy Tech Blog
                                                                          • fnordmetric.io

                                                                            This domain was recently registered at Namecheap.com. Please check back later! fnordmetric.io 2023 著作権. 不許複製 プライバシーポリシー

                                                                            • Redis Labs、強い一貫性を保ちつつRedisを高可用クラスタ化する「RedisRaft」発表

                                                                              インメモリキーバリューストアのRedisを開発するRedis Labsは、複数のRedisをクラスタ化することで高い可用性を実現しつつ、クラスタ内で強い一貫性の保持を実現するクラスタ化ソフトウェア「RedisRaft」を発表しました。 Introducing RedisRaft, a new strong-consistency deployment option for Redis in beyond-cache scenarios requiring a high level of reliability and consistency. #RedisRaft https://t.co/2l5dmiVFpk — Redis Labs (@RedisLabs) June 23, 2020 Redisはメモリ上でキーバリューデータを扱うインメモリデータベースで、その高速性が大きな特長です。

                                                                                Redis Labs、強い一貫性を保ちつつRedisを高可用クラスタ化する「RedisRaft」発表
                                                                              • YappoLogs: はてなのお気に入りアンテナをTwitter Clientで見れるゲートウェイ「Hatetter」作りました

                                                                                はてなのお気に入りアンテナをTwitter Clientで見れるゲートウェイ「Hatetter」作りました 注意:ブックマークだけでなく、お気に入りアンテナのフィードを使うようになりました。 はてブのお気に入りリストってRSSリーダとかで見たりするのが多いんですが、もっとTwitterのようにカジュアルにウオッチしたいと思って、お気に入りリストのRSSをTwitter API互換のFeedに変換するサーバを書きました。 Hatter - 太っ腹にソースコードも公開してるので、自宅サーバとかに置いて使うってのもできます。 たとえばid:acotieがお気に入りに入れてる人達のブックマークをTwitter風に変換したい時は http://hatetter.blogdb.jp/acotie/statuses/friends_timeline.json もしくは http://hatetter.b

                                                                                • Moving computation to the data (1)

                                                                                  Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.kiki utagawa

                                                                                    Moving computation to the data (1)