発明のための再発明

Webプログラマーが、プログラムの内部動作を通してプログラムを作る時の参考になるような情報を書くブログ(サーバーサイドやDevOpsメイン)

2019-01-01から1年間の記事一覧

非同期で大量データをさばく

はじめに 最近、マイクロサービスの拡大と共にキューやストリームを使用した非同期処理が増えたと思います。 この記事では、Netflix・Pinterest・Airbnbが公開した、各社の非同期処理の具体例を紹介します。 (各事例は簡単な概要の紹介しか書かないので、よ…

動的にLBの重み付けを変化する - Taiji by Facebook

はじめに AWSのALBでも重み付けルーティングが採用されたように、LBでは重み付けの機能がよくありますが、Facebookでは時間やイベントなどによるトラフィック変化に対応するため、エッジサーバー上のLBの重み付けを動的に変化するようにしています。 この、…

Dgraphによる高速並行キャッシュ - Ristretto

はじめに RistrettoはグラフデータベースのDgraph内のキャッシュが遅いという問題から生まれたキャッシュライブラリです。 GolangWeekly(@golangweekly)で紹介されていたのを見つけて気になったので、動きを追ってみました。 Ristrettoは、以下の特徴を持っ…

秒間100万リクエストをさばく - Googleの共通認可基盤 Zanzibar

はじめに Googleの提供するサービス郡が共通して利用している認可システムにはZanzibarという名前がついています。ZanzibarはGoogleDrive・Google Map・Youtubeなどの巨大なサービスにも使用されています。 そのため、利用量も凄まじく 数10億のユーザー 数…

Aurora - クラウド時代のDBアーキテクチャ

はじめに Amazon Auroraは、AWSを触る人ならほとんどの人が利用を検討したことがあるでしょう。 Amazon社内ではOracleを止めたというtweetもありました SHUTDOWN ABORT the last Oracle database running Amazon Fulfillment! pic.twitter.com/DorqTua2Lt— J…

Uber製Docker registy「Kraken」とTorrent

Krakenとは Uberから、Krakenという拡張性と可用性に焦点を当てたP2P型のDocker registryが公開されました。 3Gのdocker imageを2,600ホストから同時にダウンロードしても、半数以上のホストが10秒で完了し、99%のホストで18秒以内にダウンロードを完了する…

CoreDNSにおけるプラグインチェーンの実装

はじめに CoreDNSはサービスディスカバリ機能を持ったDNSです。 CNCFでGraduatedになっているプロジェクトで、KubernetesのデフォルトDNSにもなっています。 公式: https://coredns.io/ GitHub: https://github.com/coredns/coredns この記事では、CoreDNSは…

稼働システムのマイグレーションの痛みを和らげる技法

サービスを長く継続すると避けられないのが「マイグレーション」です。 しかし、マイグレーションには多くの手間がかかる上に致命的なバグも出やすく、難しい作業です。 そんなマイグレーションを実践し、詳細を公開している企業があります。 それを参考にど…