isseium's blog

田舎に住むWebエンジニアのブログ

「Countter」の裏側を変えてみました

イベントまであと何日なのかをつぶやくbotを作れるサービス「Countter(かうんったー)」の次期β版をリリースいたしました。といってもほんのちょっとしか変えてませんが、、、、


http://countter-beta.mizuhataya.com/




なにが変わったのか(機能編)

つぶやく時間帯を複数していすることができるようになりました。

なにが変わったのか(技術編)

PHP(ZendFramework)から ruby on rails にフルスクラッチしました。
また、DBも MySQL から NoSQLである Redis に変更しました。





個人的に、技術の演習をしたかっただけのように見えますが、実は現安定版に致命的な設計ミスをみつけてしまいまして、、、、せっかくなので改修しました。

現安定版は利用ユーザ数が増えるとつぶやかれないアカウントが発生してしまう可能性があります。
理由は単純で、一時間に一回のつぶやきバッチをなぜか、


cron --(SHELL)--> wget --(HTTP)--> batch(httpd上)

という仕組みにしていました。なんでこんな設計にしたのかさっぱりわけがわからないのですが、アカウントが多くなると batch 部分のレスポンス時間がかかってしまって、リクエストタイムアウトしてしまったりするんですねはい。応急処置はしているのでいまは大丈夫かと思いますが、根本的に改善することにしました。


というわけで、なにか要望等あればよろしくおねがいしますー