ニコニコ動画/ニコニコ生放送を支えるシステム Dwango Media Cluster (DMC)。 DMC とその周辺システムは主に Erlang/Elixir で開発されています。 今回はその設計・開発・運用や Erlang/Elixir の強みと、一方で実際に大規模運用する中で遭遇した想定外のヒヤリハットをお話します。。
ニコニコ動画/ニコニコ生放送を支えるシステム Dwango Media Cluster (DMC)。 DMC とその周辺システムは主に Erlang/Elixir で開発されています。 今回はその設計・開発・運用や Erlang/Elixir の強みと、一方で実際に大規模運用する中で遭遇した想定外のヒヤリハットをお話します。。
[erlang-questions] The future of Erlang and BEAM を翻訳。元の投稿 (StackOverflow に投稿された質問 を erlang-questions の識者に尋ねてみたもの) への Joe Armstrong からの返信。 これで Erlang に興味を持った人は「 Erlang に興味を持った人へ (id:Voluntas:20110319) 」をどうぞ。 元の投稿 エリクソン、Facebook、ゴールドマンサックスなどの会社が Erlang を業務に取り入れているのを見てきて、 Erlang に強く興味を持っていました (C++/PHP/Java の世界から来ました) 。低レイテンシで、他の言語 (私にとっては Java とか) よりもずっとすっきりして (訳注:言語仕様?) よく出来ている Erlang なら、過酷な負荷に耐えるアプ
This is a loose transcript (or long paraphrasing?) of a presentation given at ConnectDev'16, a conference organized by Genetec in which I was invited to speak. I assume most people here have never used Erlang, have possibly heard of it, maybe just the name. As such, this presentation will only cover the high level concepts of Erlang, in such a way that it may be useful to you in your work or side
Erlang Advent Calendar 2014の22日目です。よろしくお願いいたします。 最近すごいErlangゆかいに学ぼう!を読んだので、Akkaとの違いをまとめてみることにしました。 AkkaもErlangもアマチュアなので正しくない部分があるかもしれません。その場合はご指摘ください。 Erlangは特に素人で、AkkaのactorとErlangのプロセス間でメッセージパッシングしてみたの記事で初めて「-compile(export_all)」でないプログラムを書いたレベルです。 Akkaとは AkkaはErlangにインスパイヤされて制作されたオープンソースのライブラリです。 アクターモデルで並行処理を記述し、スーパーバイザーツリーにより高度な耐障害性を実現し、また分散システムを実装してくれるのを助けてくれる、そのようなフレームワークとなっています。 Java用のAPIとS
ここ2年程のelixir人気に伴い, BEAM (つまりerlangとelixir) を使う人が増えました. しかし, let it crashという思想は誤解を残したまま世に広まったように感じています. 郷に入っては郷に従え. let it crashの思想をしっかり理解して実装していきたいものです. 前置き 大層なことを書きましたが, あくまでも個人的な見解であり, ポエムです. Erlang/OTPチームの見解とは異なる可能性がある点に気をつけてください. また, ご意見があればコメント欄に頂ければ幸いです. なお, Elixirのタグも付けていますが, 記事中のコードは全てErlangです. Elixirを書いている人にも知って欲しい, 「届けこの想い!」ということでタグは付けています. これらの点をご承知起きの上で読んで頂ければ幸いです.m(_ _)m let it crashの
[翻訳] Elixirのプロセスアーキテクチャ または私は如何にして心配するのを止めてクラッシュを愛するようになったか にもあるように Elixir においては例外処理は、それを頑張ってなんとかしようとするのではなく、軽量プロセスのコンテキストでむしろすすんでクラッシュさせてしまえ、というのが良い作法である。 クイズ番組で ○ か × か答えを選んで壁に突っ込んだ先に、正解ならクッションが、不正解なら泥水があるという企画があるが、それに喩えるなら 泥水だろうが何だろうが躊躇せずダイブしろ! というのが Elixir 流 (俺調べ) である。 もとい、クラッシュさせてどうするのかというと Supevisor を使って、別プロセスから該当プロセスを監視しておいて、クラッシュしてもアプリケーション全体としては間違いなく動いている状態を保証するのが正しい。 カッとなってちょっとそのための例を書いて
あの Dave Thomas が書いた『Programming Elixir』を買ったのでぼちぼち読んでいる。 Chapter 1. に Elixir の特徴を巧みに表現した文章があってカッとなったので、引用しておきたい。 Object orientation is not the only way to design code Functional Programming need not be complex or mathematical. The foundations of programming are not assignments, if statements, and loops. Concurrency does not need locks,semaphores, monitors, and the like. Processes are not necessaril
Erlang Factory London 2011 http://www.demonware.net/ Erlang and First-Person Shooters 10s of millions of Call of Duty Black Ops fans loadtest Erlang Malcolm Dowse Demonware, Dublin Erlang Factory London 2011 http://www.demonware.net/ Overview • History of Demonware – Who are we and what we do? – Why we switched to Erlang 4-5 years ago • Our server-side architecture – How we use Erlang now • What w
Elixir/Erlang concurrency model is based on the actor pattern which runs on top of BEAM(Erlang Virtual Machine) instead of running directly on Operating System. The actor pattern’s actor is an “Elixir Process” in Elixir programming language. Anatomy of an actor (Elixir/Erlang Process)An Elixir/Erlang Processruns on top of BEAM (Erlang Virtual Machine)has an address (pid)is a completely isolated pr
Welcome, adventurer!¶ This is the collection of easy to read (ELI5) articles as well as in-depth knowledge such as VM internals, memory layout, opcodes etc. The project is work in progress, so come back soon! Github repository for pages https://github.com/kvakvs/beam-wisdoms Latest¶ 2019-03-03 Binary match opcodes added to the instruction list 2018-12-30 Try/catch opcodes added to the instruction
Using with Elixir Specify your Mix dependencies as two-item tuples like {:plug, "~> 1.1.0"} in your dependency list, Elixir will ask if you want to install Hex if you haven't already. Using with Erlang Download rebar3, put it in your PATH and give it executable permissions. Now you can specify Hex dependencies in your rebar.config like {deps, [hackney]}. Getting started Fetch dependencies from Hex
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ここ最近、 [翻訳] Elixir - 次に来る大物Web言語 - Qiita とか 超高速なJSON APIをElixirフレームワークのPhoenixでビルドしてテストしよう | POSTD を読んで気になっていたので、勉強していた。 前提: 自分はシングルページアプリケーションに特化したフロントエンドエンジニアであり、サーバサイドのプロダクション運用にはそこまで強くない。あとこれはここ2日の勉強した日記でもあり誤解や勘違いも多々あると思う。 リアルタイムウェブアプリケーションのためのサーバー Railsの次の時代、リアルタイムウェ
Free Ebook This book intends to be a little guide about how to be the Erlang medic in a time of war. It is first and foremost a collection of tips and tricks to help understand where failures come from, and a dictionary of different code snippets and practices that helped developers debug production systems that were built in Erlang. Download PDF About the Author Fred Hebert is the author of Learn
日本語でHiPEについて触れている文書が少ない気がしたので、自分が知っている範囲の情報を取り留めもなく書いてみた。 ※ 経験ベースで書いているため情報の網羅性や信頼性にはあまり期待しないでください HiPEって何? 「High Performance Erlang」の略。 HiPEコンパイラはOTPが提供する標準アプリケーションの中に含まれている(OTP17.3現在)。 HiPEコンパイラを使うと、ErlangのソースコードをVM(beam)のバイトコードとしてではなく、ネイティブコードとしてコンパイルしてくれる。 (JavaのJITコンパイラのように、実行時にネイティブコードへの変換を行なうわけではない) そのため、速度を重視したい(けどCで書く程ではない)モジュールを実装する場合に、HiPEが手軽な高速化の手段として重宝することがある。 HiPEを有効にするには ソースコードから自前で
The document discusses the past, present, and future of HiPE (High Performance Erlang), a just-in-time native code compiler for Erlang. It provides details on recent versions of HiPE that are fully integrated with Erlang/OTP and allow compilation to SPARC and x86 backends. It also outlines current work on optimizations, formalizing Core Erlang, and exploring alternative memory architectures and la
ErLLVM is a project aiming at providing multiple backends for the HiPE compiler with the use of the LLVM Compiler Infastructure. At the moment, ErLLVM supports only AMD64; x86 support is currently unstable due to architectural changes. Hopefully, this will be fixed soon. There is also some ongoing work for ARM. ErLLVM will be soon available experimentally as part of version 17.0 of Erlang/OTP (mer
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く