lobi

Lobiで画像のWebp変換による通信量削減と調査のためにAWS Athenaを利用した話

Lobiチームの吉村(moulin)です。 今回は、Lobiのチャットの投稿画像やユーザアイコンなどの画像ファイルをwebp形式で配信して通信量を削減した話について紹介します。 TL;DR 画像配信について 画像変換サーバのwebp変換対応 AWS Athenaを使ったCloudFrontの…

Lobiスピンオフ!トーナメント開催サービスをDocker+CircleCIで開発したはなし

はじめまして(?)。taiyohと申します。 幾つか事業部を渡り歩いた後、現在はLobiにて新規機能の開発などを行っております。 皆様は3/3発売のNintendo Switchの予約はお済みでしょうか。僕は早速1/21の午前中に近所の電器店に駆け込んで予約をしました。ゼ…

一粒で三度おいしいコードレビューのすゝめ

Lobiチームの長田です。 今回はLobiチームのサーバーサイドエンジニア間で採用されているレビューのルールについて紹介します。 なお、ここで言う「レビュー」とは一般的には「コードレビュー」と言われているものです。 Lobiチーム内では「レビュー」のひと…

RedashとRundeckで安全・安心なサービス運用

Lobiチームの長田です。 今回はLobiチームで使用しているRedashとRundeckというツールについて紹介します。

チャットメッセージの即時反映を支える技術

Lobiチームの長田です。 今回はLobiの根幹であるチャットサービスの、Streaming APIについて紹介します。 多くのチャットサービスがそうであるように、 Lobiでも新しいチャットメッセージが画面リロードの必要なく表示されるようになっています。 チャットメ…

LobiにおけるConsul活用事例

Lobiチームの長田です。 今回はConsulのLobiにおける活用事例を紹介します。 Consulとは https://www.consul.io/ HashiCorp社が公開している、複数ホストを管理するために必要な機能が盛り込まれたツールです。 公式サイトには以下のように書かれています(意…

AngularJSを使ったWebサイトでSEOするためにLobiがやっていること

スマートフォンのネイティブアプリをメインにサービス展開しているLobiですが、 Webブラウザからも利用することができます。 https://web.lobi.co Webブラウザからでもチャットの投稿・閲覧が行えます。 このサイトは AngularJS を用いて実装されています。 …

Lobiのログ集約・解析のはなし

Lobiチームの長田です。 あらゆるWebサービスがそうであるように、Lobiでも日々大量のログが出力されています。 今回はこのログをどのように集約・解析しているかを紹介します。 TL;DR アクセスログ・アプリログなど、毎秒10000行以上のログが生成されている…

Push通知のためのProvider Server「Gunfish」

Lobiチームの吉村です。 今回はチャットサービスの品質を高める上で重要になってくる「Push通知」について、Lobiのアプローチのひとつである「Gunfish」を紹介します。 Push通知はユーザが「自分に返信が来た」「運営からお知らせが来た」などの情報をリアル…

Perlだけじゃない!Lobiのサーバーサイドで活躍しているGo製プロダクト7+1個

Lobiはメインの言語としてPerlを採用しています。 サーバーサイドで使用するコードは、Webアプリケーションから手動実行用のスクリプトまで、 ほとんどがPerlで書かれています。 (なぜかPerl6のコードがあることになっていますが、さすがにまだ使ってません)…

LobiのDB masterがダウンすると何が起こるのか

Lobiチームの長田です。 今回はLobiで使用しているデータベースの構成・運用について紹介します。 TL;DR メインのデータベースとしてMySQLを使用 一般的なmaster-slave構成 HAProxyとMHAでDBのfailoverを自動化 HAProxyでslaveへの接続を分散・死活監視 MHA…

ファイル更新もchef実行もstretcherで!Lobiをデプロイするときにやっていること

Lobiチームの長田です。 今回は現在運用中のLobiというサービスのデプロイについて紹介します。 Lobi Chat & Game Community Lobiについての紹介は以前のエントリを参照ください。 サーバーサイドエンジニア視点でLobiというサービスを紹介します | tech.kay…

サーバーサイドエンジニア視点でLobiというサービスを紹介します

Lobiチームインフラ担当の長田です。 今年は弊社で運用しているLobiというサービスについて、 サーバーサイドエンジニアの視点から、月いちくらいのペースで紹介していきます。 今回は「Lobiとはなんぞや?」というところを書こうと思います。 サービスの概…

#20 Amazon CloudSearchで検索サジェスト機能を作った話

tech.kayac.com Advent Calendar 2014 20日目を担当する@ken39argです。 近況報告 お久しぶりです。 前回ブログを書いたのが、2012年のアドベントカレンダーでしたので、2年ぶりということになります。 前回のブログの出だしが、 「最近子供が産まれた」 で…

JavaScriptによるcross domain & streamingなAPIアクセスの方法色々 - Nakamap APIの場合 -

こんにちは。すぎゃーん(@sugyan)です。 先日、Nakamap APIを公開しましたが、今回はそれをJavaScriptから使うためのライブラリを用意してみましたので紹介させていただきます。 使い方 <script type="text/javascript"http://developer.nakamap.com/js/nakamap.js"></script> とscriptを読み込むことで使用できます。 access_tokenが既に取得でき…

Nakamap APIを公開しました!

ももいろクローバーZに夢中な、すぎゃーん(@sugyan)です。こんにちは。 みなさん、ナカマップ 使っていただいていますでしょうか? ナカマップは昨年冬にスマートフォン向けアプリとして公開され多くの方々に利用していただいておりますが、今回このナカマ…