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っぽい)
- 若干使い勝手に気持ち悪いところがある
- フルスタック・MVC
- 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できる(一方通行)
- Server Sent Events
- 差分だけ取得したい
- DBのINSERTが詰まる(ロック競合)
- サマーインターンシップでのお題
- まとめ
- Goにしただけでは速くならない。リソースを効率よく使う
- 便利なパッケージを活用する