タグ

networkに関するdorokeiのブックマーク (11)

  • 同時接続数30万超のチャットサービスのメッセージ配信基盤をRedis Pub/SubからRedis Streamsにした話

    LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog Overview 30万を超える同時接続数を持つチャットサービスにおいて、リアルタイムでメッセージの受信などのイベントを配信するメッセージブローカーとして、私たちはRedis ClusterのPub/Subを使用していました。 私たちのサービスでは、ユーザー数の増加に伴い、Redis Clusterのシャード数を増やすことでクラスターの性能を向上させてきました。しかし、Redis ClusterのPub/Subでは、シャード数の増加に伴ってネットワーク帯域が圧迫される問題が生じ、これ以上シャードを追加することができない状況になりました。 この課題を解決するために、メッセージブローカーをRedis Pub/SubからRedis

    同時接続数30万超のチャットサービスのメッセージ配信基盤をRedis Pub/SubからRedis Streamsにした話
  • ゲームでよくある「NATタイプ」はどう判定しているの?

    はじめに 家庭用ゲーム機などのネットワーク設定で「NATタイプ」というのを見たことがある人は多いと思います。 これはオンラインマルチプレイなど通信を行うゲームをする際、ゲーム機器同士で通信可能かどうかを見極める目安として使われます。 記事では、このNATタイプをどのように判定するのか、 RFC 5780 ベースで簡単に説明します。 この記事はDeNA Advent Calendar 2021の8日目の記事です。 なぜNATタイプの判定を行うのか 一般的なクライアント/サーバモデルの通信であれば、そもそもNATタイプが何であるか気にすることはないと思います。 では、家庭用ゲーム機などがなぜNATタイプを判定するのかというと、「P2Pが成立するかどうか」を見極めるためです。 P2Pで通信を行う際は、NAT(NAPT)が存在する場合、いわゆる「NAT越え」が必要になります。 NATがあると、イ

    ゲームでよくある「NATタイプ」はどう判定しているの?
  • けしからんファイアウォールに負荷掛けたら警察から手紙きた 登大遊氏が光ファイバーの先に興味をもった理由

    情報科学若手の会とは、情報科学に携わる学生、若手研究者、エンジニアのディスカッションと交流の会です。NTT東日特殊局員の登氏が政府に配布停止要請されたVPNソフトの話など、シン・テレワークシステムの開発のもととなった数々の経験を開発秘話として講演しました。今回は登氏がNTT東日に呼ばれるまでの経緯について。前回の記事はこちら。 村井研を真似た部屋を大学内に作る 登大遊氏(以下、登):しばらくして、どうも他にすごい大学があるという噂が回ってきました。「SFCの村井先生の研究室はすごいらしい」と。みんな知らなかったんのですが、ちょっと筑波大の学生が夜中に見学しに行ったら、あそこはすごいと。「村井研はすごい」と。 こういうものを作りたくて、我々も真似しようとヤフーオークションや大学廃棄で大量機材を持ってきました。あとは、先ほどの国のお話とかでの収益と、SoftEtherも売れていたので収益が

    けしからんファイアウォールに負荷掛けたら警察から手紙きた 登大遊氏が光ファイバーの先に興味をもった理由
  • パケットキャプチャツールをつくる - Qiita

    はじめに ネットワークと C 言語の勉強を兼ねて、簡易的なパケットキャプチャツールをつくってみました。参考にしたのは「ルーター自作でわかるパケットの流れ」という書籍です。 表紙に書かれている「ネットワークはどのようにつながるのかパケットの気持ちになって考えてみたことはありますか?」というコメントにが若干引いておりましたが、こういったディープな内容のは中々ないので有り難かったです。なお、このはタイトルのとおりルータを自作することがゴールになっていて、パケットキャプチャツールの作成はそのための練習という位置付けです。 また、特別講座 ネットワークプログラミング ( FWをつくろう )というサイトも非常に参考になりました。図入りで説明されていてとても分かりやすかったです。 ちなみに、C 言語は大学の時に少しかじったものの、ほぼ初心者に近い状態だったので Udemy の「イメージでわかる!基

    パケットキャプチャツールをつくる - Qiita
  • 特別講座 ネットワークプログラミング ( FWをつくろう )

    特別講座 ネットワークプログラミング ( FWをつくろう ) ファイアウォール(FW)とは,「ある特定のコンピュータネットワークとその外部との通信を制御し、内部のコンピュータネットワークの安全を維持することを目的としたソフトウェア」である. つまり,特定のパケットを破棄(または通過)させる制御を行うソフトウェアである. 特定のパケットとは, 特定ポートにアクセスするパケット 特定のIPアドレスからのパケット 特定の内容(パターン)をもつパケット などがある. 今回は,以下の図のような構成のネットワークにFWを設置する環境を想定する. 今回のFWはルータの機能はなく,あくまでPCとルータ間のパケットを監視し,不要なデータを遮断する機能を持つ. FWソフトウェアを作成するには, パケットの中身を見る パケットの転送の可否を行う 2つのプログラミングが必要になる. ここでは,上記の2つのプログラ

    特別講座 ネットワークプログラミング ( FWをつくろう )
  • Netlifyが日本からだと遅い - id:anatooのブログ

    仕事Netlify にデプロイしたSPAの読み込みが遅いので原因を調査してほしい、という依頼を受けてウェブパフォーマンス調査を行った。顧客から許可をもらって、この記事ではNetlifyに対してどういう調査をしたのかを書く。 結論だけをまず書くと、NetlifyのCDNのファイル配信パフォーマンスは日国内からだと非常に悪い。パフォーマンスを改善させるためには、Netlifyに直接アクセスさせるのではなく、前段に他のCDNやキャッシュサーバを挟んだりするほうがいいだろう。 調査の前提 日国内からのみの調査 サイトには静的なファイルをデプロイしているのみ 該当するNetlifyにデプロイしたSPAをブラウザで試しに開いてみると、確かに初回の読み込みのパフォーマンスがめちゃくちゃ悪い。 Chrome Devtoolsを開いてネットワークタブでどういうふうにリソースの読み込みを行っているのか

    Netlifyが日本からだと遅い - id:anatooのブログ
  • Webブラウザ上で純粋なHTTPだけで単方向リアルタイム通信を可能にするHTTPのストリーミングアップロードが遂にやってくる - nwtgck / Ryo Ota

    Web標準のHTTPクライアントfetch()でストリーミングしながらアップロードできるようになる。

    Webブラウザ上で純粋なHTTPだけで単方向リアルタイム通信を可能にするHTTPのストリーミングアップロードが遂にやってくる - nwtgck / Ryo Ota
  • 歴史とともに紐解く、AbemaTVのアーキテクチャの変遷 開発開始〜現在までの軌跡

    2018年10月13日、株式会社AbemaTVが主催するイベント「AbemaTV Developer Conference 2018」が開催されました。3度目の開催となる今回のテーマは「PAST→FUTURE」。開局から2年半の実績を元に、快適な視聴体験を届けるための取り組みや、大規模な同時接続に対するシステム開発・運用に寄って得られた技術的知見を共有します。プレゼンテーション「AbemaTVのアーキテクチャの変遷 」に登壇したのは、株式会社AbemaTVの山中勇成氏。日初のインターネットテレビ局、AbemaTVの開局から今日までのアーキテクチャーの変遷について、サービスの歴史とともに振り返ります。講演資料はこちら AbemaTVのアーキテクチャの変遷 山中勇成氏(以下、山中):こんにちは。このセッションでは「AbemaTVのアーキテクチャの変遷」というタイトルで、AbemaTVが開局前

    歴史とともに紐解く、AbemaTVのアーキテクチャの変遷 開発開始〜現在までの軌跡
    dorokei
    dorokei 2018/11/17
    途中まで読んだ面白げ
  • 群衆の英知もしくは狂気

    アイザック・ニュートン卿は、自分が賢い 人間だと信じていた。微分積分学や重力理論 を発明(inventing)したのだから、金融投資(investing) ができるくらい賢いはずだよね?まぁとにかく、短く まとめると、1720年 に起こった南海泡沫事件という全世界 的な投機ブームで、彼は(現在の価値で)$4,600,000を失ったんだ。 後にニュートンはこう言った。 “私は天体の動きを計算することはできるが、 人々の狂気については計算できない” 彼のために勉強しよう これまで市場、制度、民主制全体は 何度もおかしくなってきた。— 群衆の狂気だ でも君が人間に失望していたときですら、 ハリケーンが起きれば、みんなで協力してきたし、 コミュニティは問題を解決してきた。人々はよりよい 世界のために戦ってきた。— 群衆の英知だ! しかしなぜ 群衆は狂気に向かったり 賢くなったり するのだろうか。

    群衆の英知もしくは狂気
  • ioドメイン障害を理解するため、DNSの仕組みについて勉強した - $shibayu36->blog;

    先日、ioドメインの障害があったのだけど、自分がDNSの仕組みをよく分かっていないせいで、いまいちどういうことが起こっていたのか把握できなかった。そこで、DNSの仕組みについて軽く勉強したので、そのメモを残しておく。内容は間違っているかもしれないので、その場合は指摘してください。 DNSについて学んだこと Software Design 2015/4のDNSの教科書が非常に勉強になった。また、 インターネット10分講座:DNSキャッシュ - JPNICも参考になる。 権威サーバとフルリゾルバ まず、DNSサーバには権威サーバとフルリゾルバの二つの種類が存在する。 権威サーバ ドメインの情報を管理し、自分の管理しているゾーンの情報を提供するだけのサーバ 問い合わせたドメインが自分のゾーンの管理下ではない場合、別の権威サーバへ委任するという情報を返す コンテンツサーバとも言われる? 例) co

    ioドメイン障害を理解するため、DNSの仕組みについて勉強した - $shibayu36->blog;
  • Python: ソケットプログラミングのアーキテクチャパターン - CUBE SUGAR CONTAINER

    今回はソケットプログラミングについて。 ソケットというのは Unix 系のシステムでネットワークを扱うとしたら、ほぼ必ずといっていいほど使われているもの。 ホスト間の通信やホスト内での IPC など、ネットワークを抽象化したインターフェースになっている。 そんな幅広く使われているソケットだけど、取り扱うときには色々なアーキテクチャパターンが考えられる。 また、比較的低レイヤーな部分なので、効率的に扱うためにはシステムコールなどの、割りと OS レベルに近い知識も必要になってくる。 ここらへんの話は、体系的に語られているドキュメントが少ないし、あっても鈍器のようなだったりする。 そこで、今回はそれらについてざっくりと見ていくことにした。 尚、今回はプログラミング言語として Python を使うけど、何もこれは特定の言語に限った話ではない。 どんな言語を使うにしても、あるいは表面上は抽象化さ

    Python: ソケットプログラミングのアーキテクチャパターン - CUBE SUGAR CONTAINER
  • 1