Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
1
Mesos + Marathon
Shuji	Yamada	
@uzyexeJan	22,	2016
「10分でわかる marathon-lb」
https://www.flickr.com/photos/archetypefotograf...
https://www.flickr.com/photos/xmodulo/24195478656/
What is marathon-lb?
• HAProxy ベースで Marathon 連携可能な ロードバランサーツール。
• Marat...
https://www.flickr.com/photos/wakalani/90366591/
marathon-lbの特徴的機能
3
• Stateless design: no direct dependency on any third...
https://www.flickr.com/photos/livenature/13918665173/
HAProxy Description
• version 1.7 : 開発版。
• version 1.6 : 最新安定版。state...
https://www.flickr.com/photos/kk/23390123/
Reverse Proxy vs. Load Balancer
• リバースプロキシのことをロードバランサーと呼ぶこともある。
• リバースプロキシには下記の...
https://www.flickr.com/photos/xmodulo/23925971320/
Reverse Proxy の一般的なメリット
• 柔軟性と拡張性 - バックエンドサーバの並列展開が容易
• セキュリティ - ACL設定の...
https://www.flickr.com/photos/davegray/5429335705/
Marathon とのインターフェイス間通信
7
• Polling - 一定間隔毎にポーリング
• EventBus - Publish/S...
8
design
https://www.flickr.com/photos/mcclanahoochie/5517670903/
marathon-lb のシンプルな起動方法 in docker
• Polling で Marathon Apps の情報を問い...
https://www.flickr.com/photos/mrsmagic/5870198525/
HAProxy configuration - App labels
10
• service.mesosphere.com というVHOSTと...
ここでデモ
11
https://www.flickr.com/photos/littlestuffme/10597619904/
HAProxy configuration - Overridable templates
HAPROXY_{n}_FRONTEND...
https://www.flickr.com/photos/ekilby/5614304885/
評価指標
• CPS (Connection per Seconds)
• Simple json Rest API
• SSL Support
...
https://www.flickr.com/photos/nadili/2563472441/
その他の Marathon 連携可能なロードバランサー候補
• hapoxy-consul
• Hipache
• Bamboo
• moxy
•...
https://www.flickr.com/photos/nadili/2563472441/
その他の Marathon 連携可能なロードバランサー候補
• hapoxy-consul - consul を挟む分だけ煩雑
• Hipache...
https://www.flickr.com/photos/staffanscherz/6161284551/
困ったこと
• 負荷が高まると EventBus でも SSE でもイベント通知が遅延する。
• 概ね2∼4分。ダメになると延々と通...
https://www.flickr.com/photos/playingwithpsp/2280744328/
困ったこと
• 思ったほどスケールできない・・・
• イベント通知部分の安定性が・・・
• Polling で 2000 アプリ分...
https://www.flickr.com/photos/stevehopson/403037117/
忘れてるとハマりそうなこと
• HAProxy 1.6 以前のバージョンでは、プロセスの起動時に名前解決して
取得したIPアドレスをキャッ...
https://www.flickr.com/photos/jazbeck/6213634972/
DNS Base vs. Event Base
• DNS ベースのアーキテクチャには下記のような懸念点が存在する。
• SRVクエリを使用しな...
https://www.flickr.com/photos/axelhartmann/16308797077/
よかったこと
• Docker イメージが用意されている。(mesosphere/marathon-lb)
• 中身は HAProx...
https://www.flickr.com/photos/mdpettitt/8671901426/
Any Questions?
21
Upcoming SlideShare
Loading in …5
×

10分でわかる marathon-lb

1,951 views

Published on

さくらガレージ勉強会用資料 @uzyexe

Published in: Technology
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

10分でわかる marathon-lb

  1. 1. 1 Mesos + Marathon Shuji Yamada @uzyexeJan 22, 2016 「10分でわかる marathon-lb」 https://www.flickr.com/photos/archetypefotografie/3629857292/
  2. 2. https://www.flickr.com/photos/xmodulo/24195478656/ What is marathon-lb? • HAProxy ベースで Marathon 連携可能な ロードバランサーツール。 • Marathon apps の定義を元に、HAProxy 設定を動的に変更管理する。 • HAProxy は、SSL サポート、HTTP 圧縮、ヘルスチェック、プロキシ など豊富な機能を備えているTCP or HTTPベースのロードバランサー。 2
  3. 3. https://www.flickr.com/photos/wakalani/90366591/ marathon-lbの特徴的機能 3 • Stateless design: no direct dependency on any third-party state store • Real-time LB updates, via Marathon's Event Bus • Support for Marathon's Health Checks • Multi-cert SSL Support • Per-service HAProxy Templates • Automated Docker Image Builds (mesosphere/marathon-lb) • Global HAProxy Templates which can be supplied at launch
  4. 4. https://www.flickr.com/photos/livenature/13918665173/ HAProxy Description • version 1.7 : 開発版。 • version 1.6 : 最新安定版。state keeping, Dynamic name resolution, Lua • version 1.5 : SSL, IPv6, keep-alive, DDoS protection, etc... • version 1.4 : SSLを利用しない人向け。 • version 1.3 : 諸事情によりアップデートできない人向け。 4
  5. 5. https://www.flickr.com/photos/kk/23390123/ Reverse Proxy vs. Load Balancer • リバースプロキシのことをロードバランサーと呼ぶこともある。 • リバースプロキシには下記のような機能が備わっている。 • Web アクセラレーション • SSL termination • セキュリティ 5
  6. 6. https://www.flickr.com/photos/xmodulo/23925971320/ Reverse Proxy の一般的なメリット • 柔軟性と拡張性 - バックエンドサーバの並列展開が容易 • セキュリティ - ACL設定の集中管理が容易 • compression - 圧縮による応答高速化 • SSL termination - SSL暗号化/復号化の終端(バックエンドの負荷軽減) • Caching - キャッシュによる応答高速化 6
  7. 7. https://www.flickr.com/photos/davegray/5429335705/ Marathon とのインターフェイス間通信 7 • Polling - 一定間隔毎にポーリング • EventBus - Publish/Subscribe によるリアルタイムイベント購読 • Server Sent Events (SSE) : EventStream によるリアルタイムイベント通知
  8. 8. 8 design
  9. 9. https://www.flickr.com/photos/mcclanahoochie/5517670903/ marathon-lb のシンプルな起動方法 in docker • Polling で Marathon Apps の情報を問い合わせる marathon-lb コンテナ docker run --name="marathon-lb" --net="host" mesosphere/marathon-lb:${MARATHON_LB_VERSION} poll --marathon http://${MARATHON_HOST}:${MARATHON_PORT} --haproxy-config ${HAPROXY_CONFIG} --group ${LB_GROUP_NAME} 9
  10. 10. https://www.flickr.com/photos/mrsmagic/5870198525/ HAProxy configuration - App labels 10 • service.mesosphere.com というVHOSTと収容GROUPを指定する場合 { "id": "http-service", "labels": { "HAPROXY_GROUP": "external", "HAPROXY_0_VHOST": "service.mesosphere.com" } }
  11. 11. ここでデモ 11
  12. 12. https://www.flickr.com/photos/littlestuffme/10597619904/ HAProxy configuration - Overridable templates HAPROXY_{n}_FRONTEND_HEAD HAPROXY_{n}_BACKEND_REDIRECT_HTTP_TO_HTTPS HAPROXY_{n}_BACKEND_HEAD HAPROXY_{n}_HTTP_FRONTEND_ACL HAPROXY_{n}_HTTPS_FRONTEND_ACL HAPROXY_{n}_HTTP_FRONTEND_APPID_ACL 12 HAPROXY_{n}_BACKEND_HTTP_OPTIONS HAPROXY_{n}_BACKEND_TCP_HEALTHCHECK_OPTIONS HAPROXY_{n}_BACKEND_HTTP_HEALTHCHECK_OPTIONS HAPROXY_{n}_BACKEND_STICKY_OPTIONS HAPROXY_{n}_FRONTEND_BACKEND_GLUE HAPROXY_{n}_BACKEND_SERVER_TCP_HEALTHCHECK_OPTIONS HAPROXY_{n}_BACKEND_SERVER_HTTP_HEALTHCHECK_OPTIONS HAPROXY_{n}_BACKEND_SERVER_OPTIONS
  13. 13. https://www.flickr.com/photos/ekilby/5614304885/ 評価指標 • CPS (Connection per Seconds) • Simple json Rest API • SSL Support • WebSocket Support • Zero-DownTime (Hot-reload) • Event Driven 13 • Helth Check • Docker image • Least connections load balancing • Custom Configuration • Dynamic name resolution
  14. 14. https://www.flickr.com/photos/nadili/2563472441/ その他の Marathon 連携可能なロードバランサー候補 • hapoxy-consul • Hipache • Bamboo • moxy • Træf k • Vamp Router • Vulcand 14
  15. 15. https://www.flickr.com/photos/nadili/2563472441/ その他の Marathon 連携可能なロードバランサー候補 • hapoxy-consul - consul を挟む分だけ煩雑 • Hipache - 2015/02 で開発停止? • Bamboo - marathon-lb より優れているポイントがない • moxy - 枯れてないので除外 • Træf k - 枯れてないので除外 • Vamp Router - marathon-lb より優れているポイントがない • Vulcand - etcd 向け 15
  16. 16. https://www.flickr.com/photos/staffanscherz/6161284551/ 困ったこと • 負荷が高まると EventBus でも SSE でもイベント通知が遅延する。 • 概ね2∼4分。ダメになると延々と通知が来ない・・・ • Polling が一番安定的・・・ 16
  17. 17. https://www.flickr.com/photos/playingwithpsp/2280744328/ 困ったこと • 思ったほどスケールできない・・・ • イベント通知部分の安定性が・・・ • Polling で 2000 アプリ分くらいまでしか収容できない。 17
  18. 18. https://www.flickr.com/photos/stevehopson/403037117/ 忘れてるとハマりそうなこと • HAProxy 1.6 以前のバージョンでは、プロセスの起動時に名前解決して 取得したIPアドレスをキャッシュし続ける仕様だった。 • バックエンドサーバをドメイン名で書いた場合でも、ドメイン名の Aレ コードの内容が変更されても HAProxy は追跡しない仕様だった。 • HAProxy 1.6 では、resolvers を設定ファイル内で指定している場合、 HAProxyを再起動することなくリアルタイムで動的に名前解決が可能。 18
  19. 19. https://www.flickr.com/photos/jazbeck/6213634972/ DNS Base vs. Event Base • DNS ベースのアーキテクチャには下記のような懸念点が存在する。 • SRVクエリを使用しない限り、DNS は サービスポートを識別できない。 • ほとんどのアプリケーションは SRV レコードに対応していない。 • DNS レコードはTTLを持っているとキャッシュされる。 • DNS レコードはエンドポイントに対するステータスを持ちません。 • 一部のアプリケーションやライブラリは複数のAレコードを正しく処理しない。 19
  20. 20. https://www.flickr.com/photos/axelhartmann/16308797077/ よかったこと • Docker イメージが用意されている。(mesosphere/marathon-lb) • 中身は HAProxy なので枯れている。軽快で機能も豊富。 • app label での定義はわかりやすくて導入が簡単。 • consul や zookeeper を叩くAPIを書かなくてもいい。 • DCOSでも採用されいて Marathon 標準的な扱いなので心配が少ない。 20
  21. 21. https://www.flickr.com/photos/mdpettitt/8671901426/ Any Questions? 21

×