Last active
December 24, 2015 03:39
-
-
Save hassaku/6739181 to your computer and use it in GitHub Desktop.
興味のあるRubyConf2013プログラムのアブスト
http://rubyconf.org/program
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
■ Promiscuous: A robust service-oriented architecture framework | |
Nicolas Viennot & Kareem Kouddous | |
小さなチームで、比較的巨大なアプリを数ヶ月で作成したことのある人達にとって、 | |
乱雑なコードや遅いテスト、新規開発者の習得時間の長さなどのせいで、 | |
RailsやSinatraを使ったときの幸福感といったものは、すぐに失われてしまうものだ。 | |
サービスオブジェクトを抽出したり、MVCをMOVEなどにしたところで、コードが複雑になり、 | |
シンプルにし損ねるだけだし、Javascript MVCは、多くのviewロジックを抽出するのに役立つものの、 | |
巨大なバックエンドサーバはそのまま残ってしまうだろう。 | |
そこで我々は、巨大なアプリを、メンテがしやすい、多くの小さなアプリに分割する方法を提案する。 | |
様々な理由により、アプリケーションの分割は難しい。最も難しい課題は、 | |
全てのアプリケーションのデータを同期しておくことである。 | |
我々が提案するオープンソースライブラリのPromiscuousは、アプリケーション間のデータ複製を、 | |
安全に、一貫性をもって実現するフレームワークである。 | |
MoSQL(MongoDBからPostgresへのストリーミング)やDatabus(LinkedINで使われているデータ更新通知) | |
といった従来のデータベースレベルで動作するものと違って、Promiscuousは、RedisやRabbitMQを使い、 | |
ARレベルで透過的にモデル操作を複製する。これにより、関心事の分離や、不均一なデータベースの複製、 | |
データセンターでの非同期なトリガ(事象)をも処理することができる。 | |
Promiscuousの仕組みと、ある実際の巨大なアプリから小さな8つのアプリへと、 | |
どのように分割したかをお話し、また、スケーラビリティや開発環境、migration、 | |
各種テストや実際に即したアーキテクチャーのベストプラクティスについても紹介する予定である。 | |
■ A Lightweight SOA Framework using Ruby, Apache Thrift and AMQP | |
Stephen Henrie | |
Service-oriented architecture (SOA)は、RPCに基づく分散コンピューティングの進化系である。 | |
その中で、独立したシステム要素は、それぞれのサービスをうけもつビジネスロジックを包括し、 | |
機能的にモジュラー化されている。 | |
これら各Serviceで重要なのは、ゆるいカップリングの性質である。それはつまり、 | |
インターフェースはその実装とは独立であり、また、開発者は複数のSeviceを組み合わせる際、 | |
その実装について理解する必要はない。分散したServiceコンポーネント間にメッセージを採用することは、 | |
一貫性のあるコミュニケーションプラットフォームとしての、スケーラビリティや独立性、信頼性に寄与し、 | |
既存システムへの影響を最小限にもする。 | |
本セッションでは、Apache ThriftとAMQPをベースにした軽量RPC、Rubyで実装したSOAについて、アプローチを紹介する。 | |
これにより、複雑で、高度に分散したSOAを、いかにして簡単に構築できるか示す。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment