Most of oursystems are big “Future transformers”
- Marius Eriksen
3.
predictable performance isdifficult to achieve. In a predictable system,
worst-case performance is crucial; average performance not so much.
... predictable performance is difficult to achieve.
In a predictable system, worst-case performance
is crucial; average performance not so much.
- Peter Schuller
4.
predictable performance isdifficult to achieve. In a predictable system,
worst-case performance is crucial; average performance not so much.
It’s with the intent of modeling a world where the
Twitters, Googles, and Facebooks are no longer
superpowers… just power
- Aurora
Futuresの値の取得 get
Futureは、ある種のコンテナーである。 traitFuture[A]
それは、empty, full, failedの三つの状態を取る。我々
は、それを待つことができる。その値は getで取得できる。
val f: Future[A]
val result = f()
f.get() match {
case Return(res) => ...
case Throw(exc) => ...
}
ただ、いつ get するのか? せっかく非同期にしたのに、
get の利用は、あまり意味がない
Filterは、積み重ねられる。
val timeout: Filter[…]
valauth: Filter[…]
val service: Service[…]
timeout andThen auth andThen service
def andThen[A](g: (R) ⇒ A): (T1) ⇒ A
Composes two instances of Function1 in a new
Function1, with this function applied first.
def compose[A](g: (A) ⇒ T1): (A) ⇒ R
Composes two instances of Function1 in a new
Function1, with this function applied last.
Manhattan, our real-time,
multi-tenantdistributed
database for Twitter scale
April 2, 2014 By Peter Schuller,
Core Storage Team
https://blog.twitter.com/2014/manhattan-
our-real-time-multi-tenant-distributed-
database-for-twitter-scale
抄訳
import sys
import time
defmain(argv):
SLEEP_DELAY = 10
# Python ninjas - ignore this blatant bug.
for i in xrange(100):
print("Hello world! The time is now: %s. Sleeping for %d secs" % (
time.asctime(), SLEEP_DELAY))
sys.stdout.flush()
time.sleep(SLEEP_DELAY)
if __name__ == "__main__":
main(sys.argv)
hello_world.py
The Mesosphere Datacenter
OperatingSystem
「自分のデータセンターやクラウドを、Mesosphere
データセンター・オペレーティング・システムで、自動
運転させる。時間とお金を節約して、ソフトウェアはよ
り早く配布する。」
https://mesosphere.com/
179.
A New Kindof Operating
System
Mesosphere データセンター・オペレーティング・システ
ム (DCOS)は、新しい種類のオペレーティング・システム
である。それは、物理サーバー、クラウド・ベースのデータ
センターのサーバーをまたいで、その上で、あらゆるバー
ジョンのLinuxが走る。
Killer Apps User Interface Programmable
Datacenter
PaaS and
Long RunningBig data processing Batch scheduling Data storage
“Framework on Mesos” https://goo.gl/1oDvTc
187.
Mesos利用の拡大
-- Mesosphere Blogタイトルから --
The Mesosphere Datacenter Operating System
is now generally available
Get Mesos-DNS up and running in under 5
minutes using Docker
Building real-time data flows with Kafka on
Mesos
Cassandra on Mesos: Performance +
Reliability
Deploying Kubernetes on Mesos
It’s easier than ever to scale like Google
without being Google
https://mesosphere.com/blog/
188.
Mesos利用の拡大
-- Mesoshere Blogタイトルから --
Launching thousands of Docker containers
with DCOS on Azure
Join the DCOS public beta on Microsoft Azure
and AWS
Apple details how it rebuilt Siri on Mesos
Making Kubernetes a first-class citizen on the
DCOS
MySQL on Mesos: today’s database meets
tomorrow’s datacenter
https://mesosphere.com/blog/
189.
“Mesosphereは、Googleスケールの計算能力を万
人にもたらす。”
Abdur Chowdhury, FormerChief Scientist, Twitter
“Mesosphereは、クラウド・コンピューティングの避
けられない運命だ。”
Brad Silverberg, Fuel Capital
“Mesosphereは、開発者にとってのブレークスルー
だ。数千のDropletでさえ、一つのコンピュータのよう
に管理するその能力は、とてもエキサイティングなも
のだ。”
Ben Uretsky, CEO and Co-founder of DigitalOcean
Google, Borgの情報公開
今年の4月、Googleは、Borgの情報を初めて公開した。
“Large-scalecluster management at Google
with Borg” https://goo.gl/aN03bI
この発表に対して、Auroraのアーキテクトのコメントを含
む記事が、出ている。“Google Lifts the Veil on
Borg, Revealing Apache Aurora’s
Heritage”http://goo.gl/Nv8ZIQ
僕には謎だったBorgの名前の由来だが、それは、Star Trekに
登場する「宇宙種族のひとつ。蜂や蟻をモチーフにした社会的集
合意識を持っているとされ、中央制御装置としてのQueenがいる
」とのこと。Facebookで友人から教えてもらった。納得。
193.
Google Borg
Google’s Borgsystem
is a cluster manager
that runs hundreds of
thousands of jobs,
from many thousands
of different applications,
across a number of
clusters each with up
to tens of thousands of
machines
数十万のジョブ
数千のアプリケーション
数万のマシン
Scheduler
offerRescinded
/**
* オファーが、もはや有効でない場合に呼び出される。
* (例えば、スレーブが失われたり、他のフレームワークがリソースを
*オファーにつかった場合とか) どんな理由であれ、オファーが撤回され
* ないならl(メッセージが落ちる、あるいは、フレームワークが失敗する等で)
* フレームワークはost or another framework used resources in the offer). If for
* 妥当ではないオファーを使ってタスクを起動しようとしたフレームワークは、
* このタスクについて、TASK_LOSTステータス更新を受け取る。
*/
def offerRescinded(
driver: SchedulerDriver,
offerId: OfferID): Unit = {
log.info("Scheduler.offerRescinded [%s]" format offerId.getValue)
}