Ingress: Ofer(ofer2)さんの技術視点での発言集

NianticのSenior Software EngineerだったOferさんがつい最近行われた組織変更の一環でレイオフされたそうです。(2023年7月22日ころ、IUENGの情報)

Oferさんは技術視点でところどころで貴重な情報を発信していました。

2022年11月
上記はOferさんがEDLAに参加した時についての記事です。

記事にせずにTwitterに抄訳していたものをまとめておきたいと思います。ポイントをまとめたものになっているので興味を持たれた方は原文を是非お読みください。

2022年10月
ラグについてのコメント

ラグがあり腹立たしいとは自分も思っている。スタッフ全員でやれば修正できるならそうしている。スキャナ、サーバ合わせて少なくとも3つ問題がある。対応は続けているが複数の問題があるため解決にどれだけ近づいているかわからない

2022年10月
ラグ解析説明と一部修正デプロイについて。

(いろいろな方法を取っているが)ランダムにサンプルしたリクエストから処理に時間がかかる"top 10 sources of latency."を調べている。

そうしているうちに負荷によってサーバの処理能力を動的に増やす仕組みで能力を増やすのが遅れる(リクエストが増えてしまってからスケールアップするのでリクエストが溜まってしまう)ことに気づきGoogleと話してワークアラウンドすることにした。今日明日には実施する。

2021年7月
ポータル履歴開発秘話

競争、探検、交流はIngressの三大要素だ。競争としてバトルビーコンを作ったが、この状況ではうまく使えない。そこで探検の方に目を向けた。探検にもゴールがいる。どこに行ったかキャプチャしたかの履歴を見たい。

この履歴機能の試作をする機会がハッカソンという形で訪れた。過去分は無理だったが新しくキャプチャされたポータルを記録し表示する。問題は地図上の情報はAGに依らず同じ。AGごとに今いる地域の履歴を、全てのデータを見ることなく、すぐに得られなければならない。

そのためにAGのIDと地域(S2セル)IDをキーとしてデータを管理することにした。サーバチームのAndrewに入ってもらい、試作を完成させた(引用元のスクショ参照)。見た目はイマイチだが、すごい機能が作れたと思った。

…その後、ハッカソンは終わり通常業務に戻った。

…ところが、この機能を提供することになった。Brianは全ての履歴を表示し、さらにIntel Mapで表示することを求めた。
AG固有の情報はあまり変化しないから毎回送る必要がない。通常のデータと分離し、スキャナ側でくっつける。Intelはそうはいかず両方送った。

全履歴をすぐ取り出せる形にしておく必要もある。AGの行動の対象ポータルは間接的にハッシュされて記録されていた。全ポータルについてのハッシュを調べAG側の記録のハッシュと比較することで、AGが訪れたポータルを特定した。この情報を取り出しやすい形で保存した。

が、間違っていた。元からあった記録方法を誤解していた。作り直し。一人分ならできなくはなかったが、全員分はやれそうになかった。頭をしぼり、どうにかできる程度まで改善した。さらにA3以上に限ることでコストを抑えた。結果、有料にすることなく提供できた。

次は表示。選択的に表示するレイヤを採用。アートチームがデザインし、チームとVanguardのフィードバックで見やすくした。
いろいろ実装したかったが、まず核となる部分を公開した。フィードバックを得て改善していく手法は何から手をつけるかの方向づけに役立った。

2020年10月
ノヴァでサーバがダウンした時の発言

サーバのスケールアップダウンは手動(当時)。FSの時などに上げている。今後は

  1. 毎週末上げる

  2. 経路最適化

  3. 自動スケール

  4. 計算量の多い部分を分離
    を検討。
    (投稿者は手動変更担当者でアラート設定ミスで対応が遅れたことを謝罪している



この記事が気に入ったらサポートをしてみませんか?