https://connpass-tokyo.s3.amazonaws.com/thumbs/a3/ff/a3ffaf960f0890866014ac6c3e9e48af.png
イベント概要
本イベントはGoに関する知識を共有することを目的としたものです。
DeNA で Go を活用しているエンジニアたちがそれぞれの業務で得た学びを共有します。
会場説明
次世代タクシー配車サービス「MOV」における RailsからGo移行対応、ポーリングWebAPIのgRPC対応
https://speakerd.s3.amazonaws.com/presentations/9ef78353a1fa45328bfe9e2b644df22e/slide_0.jpg
ゲームからキャリア開始
Python4y Ruby2y C# Erlang Go 1y
MOV 2018/05〜
Go良いとこ
エラー処理、例外ハンドリングではないとこ
サーバー書き易そう
MOV
最初Ruby→Go
Rubyの頃は仕様が不明になったり、いろいろ問題
今はGoでマイクロサービス
Why Go
サーバーのスピンアップ速度
オートスケールの速度が速い
メモリ効率いい
マルチCPU使い切る性能
How
テックブログ参照
Cons
RSpecが使えない
APIの開発速度がやや遅い
OneShotBatchを何で書くのかが決まらない
社内向け管理
Vue.js+Epress→GoServer
Test
UnitTestとhandlerのシナリオテストを書く方式に収束
testerator for fast gae
API Document
swaggo/swag
Chat OPS
BotもGo
負荷 障害のために
exponential backoff
DB接続失敗時にリトライ間隔を長くしていく
AppSrvスケール時にDB障害を低減
負荷検証の敷居を低く
AWS EC2 + Locustで構築。1営業日あれば負荷検証できるように
fallback実装
サービスを落とさず機能を制限
高負荷時に表示する台数を減らす
将来
100倍速を目指す
1AppSrvでさばけるユーザー数を100倍に
要求ベース→常駐型
BAYSTARS におけるGoを用いたシステムリプレイス事例の紹介
https://speakerd.s3.amazonaws.com/presentations/dd3cb77cb3394252ac1f4a708788fd02/slide_0.jpg
ゲームからキャリア
FFRK
MOP
BAYSTARS
サービス
ファンクラブサイト
チケットサイト
WebShop
チケットアプリ
MY BAYSTARS
リプレース
ファンクラブ マイページ
AWS EC2 / PHP + PostgreSQL
課題
アカウント体系が複雑
セキュリティ基準を満たさない
拡張性
方針
ドメイン分割・債務明確化
構成図
スライド参照
システム間連携
OAuth / 簡易な通信仕様 / OpenAPI3
Why Go
すでに実績があったから
Goを使いこなせる組織作りの取り組み
https://speakerd.s3.amazonaws.com/presentations/9ee3757dc5e14f80ba019af53ff93486/slide_0.jpg
AndAPP
PCゲームをスマホで遊べるPF
Goを使いこなせる
Goの良いところを引き出して生産性を最大化する
適材適所
サーバ・CLIなど
HOW
ガイドライン
スタートラインを揃える
初期のつまづきをなくす
環境構築
古い資料を見てしまう
学習コンテンツの紹介
やってほしい、知ってほしいことを揃えておく
スライド参照
ツールシステム
社内利用のあるライブラリ見える化
これ良さそう
コミュニティ
Go Friday
Go委員会