Skip to content

DeNA.go #3

   

https://dena.connpass.com/event/150676/

19:25 - 19:30 会場説明 @imoty

  • DeNA TechCon 2020やります

19:30 - 19:50 20分枠 @suhirotaka / [Go活用事例]安全運転支援サービスを支える運用サイト / オートモーティブ事業本部スマートドライビング部システム開発グループ

  • https://speakerdeck.com/suhirotaka/gohuo-yong-shi-li-an-quan-yun-zhuan-zhi-yuan-sabisuwozhi-eru-yun-yong-guan-li-sisutemu
  • goで何を作っているか
    • DRIVE CHART
    • AIはPython
    • Railsも使っている
    • 運用管理のWEBシステム
    • 管理画面をGoで作った理由
      • 2年間の実証実験
      • 実証実験時は、スピード重視でRails
      • 本サービスは、パフォーマンス重視でGo
        • サーバーが減らせるコストメリット
      • 順次goにリプレイス中
  • ライブラリ
    • フレームワーク
      • フルスタック・MVC
        • Beego を採用
        • Revel 開発停滞気味
        • Iris 運営に問題ありそう
      • Beego
        • 中国で人気がある
        • フルスタック
        • bee というCLIツールがある(Railsっぽい)
        • 若干使い勝手に気持ち悪いところがある
    • Railsとの共存
      • DB周りの定義の共通化
      • 暗号化周りの共通化
        • 鍵の管理が面倒
          • 更新タイミングを合わせるとか
      • ユーティリティ機能の共通化
        • メール送信・通知システムなどどちら側に実装するか
        • 寄せるとサービス感の通信が発生する
        • 両方に実装するとそれはそれで問題がある

19:50 - 20:30 40分枠 @karupanerura / WebシステムのパフォーマンスとGo/ ゲーム・エンターテインメント事業本部ゲーム事業部Publish統括部共通基盤部アライアンスシステムグループ

  • https://speakerdeck.com/karupanerura/websisutemufalsehahuomansutogo
  • Wabシステムにおける本当のGoの強み
  • 問題としっかり向き合う
  • Webシステムにおけるパフォーマンスを定義する
    • 単位時間あたりの処理するリクエスト
    • リクエスト単位で消費するリソース
    • パフォーマンス低下要因を排除すれば、向上できる
  • 具体例で考える
    • サマーインターンシップでのお題
      • チャットアプリをいい感じにする
    • c4.large 10台まで使用可
    • 発言が多くなるとどうなるか
      • DBのINSERTが詰まる(ロック競合)
        • 複数発言を1回でinsertできるようにする
        • バッファリングするワーカースレッド(ゴルーチン)を作って一定件数or一致機関でフラッシュする
      • 同時接続数が多くなると取得が多くなる
        • 差分だけ取得したい
          • Server Sent Events
            • WebSocketより扱いが簡単
            • サーバーとクライアントでコネクションを貼り続ける
            • サーバーからクライアントにデータをpushできる(一方通行)
  • まとめ
    • Goにしただけでは速くならない。リソースを効率よく使う
    • 便利なパッケージを活用する

20:30 - 21:30 懇親会

21:30 - 完全撤収