こんにちは! CDO(開発担当役員)の小笠原(@yamitzky)です。
Python のイメージが強い(?)JX 通信社ですが、実は Go に関してもかなり積極的に利用しています。Go のコミュニティ発展を目的として、Go Conference 2021 Autumn にブロンズプランでの協賛を行っています。
Go Conference 2021 Autumn は、今週土曜日 2021/11/13(土) 10:00 〜 20:00 で開催 されますので、ぜひ奮ってご参加ください(参加費無料)。
JX 通信社と Go
AI リスク情報SaaS「FASTALERT」や、ニュース速報アプリ「NewsDigest」のバックエンドは Python や Go で開発されています。
機能開発だけでなく、Vault や Terraform など、Go で開発された OSS も活用しています。
また、僕自身も、今年の ISUCON は同僚と Go で参戦し、本選に進むことができました 💪
NewsDigest での使い方
NewsDigest の API は gqlgen という Go 製の GraphQL ライブラリを使って開発されています。
NewsDigest は速報の強いニュースアプリです。地震速報などの災害や、重大なニュース速報などは事前に予測することができないため、予期できないトラフィックのバーストを捌く必要があります。gqlgen は他言語を含めた GraphQL ライブラリの中でも高速なので、ベンチマーク検証の上、技術選定しました。
参考) Go の GraphQL API のパフォーマンス改善のために分散トレーシングを導入した話 - JX通信社エンジニアブログ
FASTALERT での使い方
FASTALERT のバックエンドでは、API に限らず、バッチ処理、イベント駆動型の処理など、幅広い箇所で Go が活用されています。
JX 通信社では、機能開発を行う際、マイクロサービス的にシステム分割をしながら開発しています。元々は Python によるシステム(マイクロサービス)が多かったのですが、新規システムの開発時に積極的に Go を選定したり、既存システムの置き換えなども行っています。
参考) Goの並行処理について - JX通信社エンジニアブログ
採用情報
JX 通信社では、FASTALERT や NewsDigest を進化させていくバックエンドエンジニアを募集しています! Python が書けない方でも大丈夫です。
もし少しでも「話を聞いてみたい」という方がいたら、小笠原まで Twitter で DM いただくか、Wantedly、コーポレートサイトなどでお声がけください。
それでは、明日は Go Conference 2021 Autumn を楽しみましょうー!