Skip to content
戻る

月額500円でiPhone無料ランキング2位に耐える電子書籍サービス構築

こんにちは!久しぶりに電子書籍投稿サービス、こみおん!の関連記事です。 でも今回は技術よりな内容です。

といっても、対して技術寄りでもないんですけどね。 こみおん! がどうやって動いてるかを徹底解説!

まずサーバーのスペック SaaSesの月額500円ぐらいのVPSサーバーです。こんな感じ CPU: 2.66GHz メモリ: 512MB HDD: 50GB

つぎに、サーバーソフトウェア関連 OS: CentOS release 5.6 (Final) DB: MySQL WEB: Apache APP: RoR 2.x系 + Apache

つぎに、クライアント側ソフトウェア関連 iOS向けネイティブアプリで動いてます。 サーバとのデータのやり取りには基本的にはJSONを使用 書籍ビューワは独自実装、ほかはライブラリ使用しまくり(Twitter+OAuthとか)

おまけにおまけに、CDN 無料のCDNサービス、CloudFlare使ってます。だいたい6割ぐらいのアクセスをCloudFlareがさばいてくれてるっぽい。 4.2 GB bandwidth saved by CloudFlare7.5 GB total bandwidth って書いてあった。 https://www.cloudflare.com/

いたってシンプルですね! DBはたしかMySQLオンリーなんですよ。memcachedだって使ってないんですよ。 それでもiPhone無料ランキング2位でも止まらず動くんだからすごいでしょ。えへへ。 まぁ、昔作ってから放置してるだけなんだけど。

 

で、なぜ500円のサーバーでちゃーらへっちゃらーで動いているかというと、 CloudFlareのおかげもあるとは思うけど、 主にはサーバのアプリケーションの設計が秀逸だからだと思うのです。 秀逸っていうか、手抜きなんですけど。

たしかアプリのアルゴリズムが booksテーブルの中のrankpointカラムをDESCして、その一覧100個のJSONを返す ↓iphone UITableViewで表示、書籍が選択されたら書籍ビューワを起動 ->書籍ビューワは渡されたJSONの中の値にしたがって書籍の内容を取得開始 ->同時に、書籍を読んだという旨をサーバに通知 ↓サーバ サーバ側でrankpointを修正、もしこの部分でエラーになっても、書籍の閲覧には問題はない

って感じです。書籍の閲覧にはトランザクションが不要であることや、 書籍の内容がJPEGである(アプリケーションサーバ不要)であることなど、 実装が手抜きであること に起因して軽いんだと思います。

 

ひとりで電子書籍投稿サービスが作れる・維持できるっていうんだから、 世の中のIT技術力は進化したものです。

今後はNoSQLデータベースとか使ったりして、 より低コストな運用とか出来たりして、ますます便利になっていくことでしょうよ。 サーバもどんどんクラウドになっていくし。

それらを使えるように常に知識は持っておかないとね! MongDB?なにそれ?おいしいの?え、TTってなに?って現状な俺はまだまだ無知識です。がんばろー。

 

以上、雑談記事でした。 要約すると、「本当に必要な情報以外は保存しないようにしたら案外軽いよ、アプリケーション」って感じかと思います。



前の記事
sumyappはiPhoneアプリをアドで収益化してます[各アドの特徴レポート]
次の記事
CentOS 5.6 上で PHP のバージョンを上げる