カテゴリ:Advent Calendar
この記事は楽天アドベントカレンダー13日目の記事になります。 こんにちは、こんにちは、こんにちは。 楽天のメールを送っているメールシステムエンジニアの小野です。
楽天アドベントカレンダーへの参加をお声がけ頂いたので、記事を書かせていただきます。 楽天のメールといえば大量に送信していることは皆様もご存知のことかと思います。
以上のことを実行するためには、分散処理は欠かせない技術となっています。 分散処理を支える技術といえばApache Hadoop やApache Spark などが有名です。 それ以外にも沢山の技術がありますが、この記事では最近ソースコードリーディングなどの勉強会も始まっているApache Mesos を紹介したいと思います。 Apache MesosApache Mesos は複数ホスト(物理マシン/仮想マシン)のCPU/メモリ/ディスク を抽象化して、1つのリソースプールとして管理し、空いているマシンを探して、そこにリソースを割り当ててタスクを実行させます。分散システムにおけるkernel のような役割を担っています。そのため、各ホストのリソース消費量に気を使う必要がなくなります。 Apache Mesos は基本的には、タスクを走らせるときにリソースを割り当てて、そのタスクが終わったらリソースを解放するという動きになります。 Apache Mesos には以下のような特徴があります。
また、Apache Mesos には様々なFramework が提供されています。 代表的なものとしてmarathon と chronos があります。 marathonApache Mesos のフレームワークの一つ。常時起動するようなアプリケーションを動かす場合に必要になるフレームワーク。 サービスを開始、停止、スケールさせるためのREST API を提供します。 Apache Mesos をOS のKernel とするとmarathon はinit やupstart daemon のようなものになります。 chronosApache Mesos のフレームワークの一つ。定期実行するようなアプリケーションを動かす場合に必要になるフレームワーク。 Apache Mesos をOS のKernel、 marathon をinit やupstart daemon のようなものと考えるとchronos はcron のようなものになります。 簡単なまとめ
以上、駆け足になってしまいましたがApache Mesos、 marathon、chronos の紹介になりました。 大変参考になる記事がネットにはたくさんあるので、自分で触ってみると思いの外簡単に分散処理が実行できることが確認できて楽しいと思います。 今回の記事ではApache Mesos の紹介をするだけになってしまったのですが、システムに適用できた際にはどこかの勉強会で発表などができればと思っています。 メールマーケティングプラットフォーム ではこのような分散処理に興味がある、使ったことがある仲間も募集しています。 是非、一緒に分散処理環境を楽しみましょう! 参考URL
お気に入りの記事を「いいね!」で応援しよう
Last updated
2016年12月13日 08時55分39秒
コメント(0) | コメントを書く
[Advent Calendar] カテゴリの最新記事
|
|