InfoQ

News

Article: ErlangとYawsを使ったRESTfulサービス

作者 松本 清一 投稿日 2008年4月26日 午前6時34分

コミュニティ
SOA
トピック
Webサービス,
Webフレームワーク
タグ
Erlang,
REST

以前に有名となった「Apache vs Yawsのグラフ」(source)を見て、あなたもまたYawsを使うべきだと思ったでしょうか? 一見すると、そのグラフは、Yawsに対する信じられないくらい大きなスケーラビリティの優位性があるように見えます。Apacheが4000のパラレル接続でダウンしたのに対し、Yawsは80,000を超えるスケール能力を持っています。このグラフに対する反応は大きく二極化する傾向にあります。「これらのグラフは正確な方法で行われたものではなかった」あるいは「Apacheの設定ミスに違いない」というものと、それとは反対に「ワオ!Yawsを利用する価値がある」というものです。

Yawsの比較グラフを信じるかどうかに関係なく、Yaws(サイト・英語)は動的コンテンツを提供するための確かなWebサーバーです。Claes Wikstrom氏は、Yawsを「もう一つのWebサーバー」として、Erlang(サイト・英語)で実装しました。それは、長時間稼動、並列性、高信頼性分散システムのサポートに特化して作られたプログラミング言語です。(Erlangについてもっと勉強したければ、言語作成者であるJoe Armstrong氏によって書かれたすばらしい書籍Programming Erlangbook(source)を参照してください) Erlangのいくつかの独自機能と相まったYawsの柔軟性は、RESTful Webサービスプラットフォームとして説得力のある組み合わせとなります。もし静的なページを提供したいのであれば、代わりにlighttpd(サイト・英語)やnginx(サイト・英語)を入手してください。しかし、動的なRESTful Webサービスを書いているのであれば、Yawsは間違いなく調査する価値があります。本稿では、Webサービス開発にYawsとErlangを使用した私の経験のいくつかを説明します。

続きをご覧になりたい方は、以下URLよりアクセスしてください。
http://www.infoq.com/jp/articles/vinoski-erlang-rest

また、Erlangに関する他の記事をご覧になりたい方は、以下URLで表示される一覧からどうぞ。
http://www.infoq.com/jp/Erlang

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

ジャンル別一覧

ファイルシステムでHello World

この連載では"ファイルシステムの作り方"をご紹介します。第1回目の今回は簡単なイントロダクションと単純なHello Worldファイルシステムの作り方を説明します。次回以降で詳しい解説と本格的なファイルシステムの作り方をご紹介しようと思います。

Guice(ジュース)を早飲みしすぎていませんか?

あなたのチームが、既存アプリケーションを「シングルトンの入れ子」設計から依存性注入(DI)へ移行しようとしているなら、この論文に心引かれるでしょうが、DIへの移行は難しいことが分かっています。論文にはGoogleのJava DIコンテナ(Guice)の名を入れていますが、Javaや.NET、Python、Rubyなどにも当てはまります。

チームがキュービクルと引き換えにコミュニケーションスキルを得る手助けをせよ

アジャイルの「自己組織化チーム」のパラダイムでは、チームのメンバに新しいスキルが要求されます。この記事では、発展しつつあるチームの自己組織化を壊さずに、新たなスキルを伝えるためのいくつかの戦略を提案します。そして、新しいスキルを身につけるのに役立つ資料のありかを提示しています。

F#の土台を越えて - 非同期ワークフロー

今回の記事では、非同期ワークフローと呼ばれるワークフロー機能の面白い使用法を考察しますが、非同期ワークフローは.NETの非同期プログラミングモデルを単純化することを目的としています。

言語としてのアーキテクチャ: ストーリー

アーキテクチャは一般に、Word文書に主として見られるような極めて実体のない、ソフトウェアシステムの概念的な側面であるか、または完全に技術によって駆動されるものかのいずれかです。そのどちらも間違っています。では、どう対処すればよいでしょうか? この記事ではアイデアを説明します、そしてアプローチのキーポイントを要約します。

メタプログラミングを使ってRubyにプロパティを追加する

Werner Schuster氏が、簡単な例を示しながら、Javaのようなプロパティをメタプログラミングを使ってRubyに追加する方法を示します。

BlazeDSとAMFでWebとデスクトップのアプリケーションを構築する

現在のRIAアーキテクチャにおいて、クライアント/サーバーの通信は重要な位置を占めています。本稿では、James WardとShashank TiwariがアドビによるオープンソースのBlazeDSメッセージングサーバーの世界へ飛び込みます。

業務ソフトに手を加えずに暗号化を実現する~秘文の挑戦~

hibun

ウィルス対策ソフトや情報漏えい防止用のソフトは、いわば影の存在です。ユーザの操作性やGUIを工夫する以上に、いかに目立たない存在となるかにその技術を注ぎ込んでいます。ここでは日立ソフトが開発した「秘文」の事例を紹介します。