Open Telecom Platform / Open Telecommunication Platform(OTP / OTP)の概要

背景



多くの人がErlangを「Erlang / OTP」と呼んでいます。 OTPはOpen Telecommunication Platformを意味し、Erlangに付属するライブラリセットではありません。 これらは、サーバー、ステートマシン、イベントマネージャー(またはディスパッチャー)を記述するときに必要なErlangインターフェイス(または動作、動作英語)で構成されています。 しかし、それだけではありません。OTPには、プログラマがコードを1つの「アプリケーション」にまとめることができるアプリケーションインターフェイスも含まれています。 また、スーパーバイザーインターフェイスを使用すると、プログラマはプロセスの階層ツリーを作成できます。プロセスが停止すると、プロセスが再起動されます。



OTPは複雑すぎるため、1つの記事で説明することはできません。そのため、数週間以内に一連の記事を執筆します。



Erlang / OTPについて学ぶ必要があるのはなぜですか?





Erlangに付属するプラットフォームは、コードをホットスワップする機能を備えた高負荷で耐障害性のあるシステムを簡単に作成できる、豊富で非常に一般化されたライブラリとインターフェイスのセットを提供します。 以下は、「理由もなく」得られるもののリストです。



これらの「無料」機能に加えて、OTPはErlangでアプリケーションを構築するための標準化されたアプローチを提供します。 ejabberdCouchDBMochiWebなど、よく知られているすべてのオープンソースアプリケーションはOTPを使用します。



したがって、OTPを勉強することで、強力なErlangシステムを作成する知識と能力を得るだけでなく、オープンソースプロジェクトにすぐに参加して、同じ一般的な構造に従うため、そこで知識と経験を得ることができます。



一般的なErlang構文を知っていれば、Erlang / OTPの学習を開始する準備ができています。



インターフェイスgen_ *:





スーパーバイザインターフェイス



プロセスは、管理する子プロセスを記述するスーパーバイザーインターフェイスを実装します。 多くのスーパーバイザー(制御プロセス)は、スーパーバイザーの階層ツリーに結合されます。 子プロセスが停止した場合、スーパーバイザーはそれをどうするか、いつどのように再起動するかなどを知っています。 したがって、プロセスは常に浮いています。



スーパーバイザインターフェイスの理解を深めるには、Erlangのドキュメントのこのページをお読みください



アプリケーションインターフェース



アプリケーションインターフェイスは、多くのスーパーバイザと他のプロセスを1つのユニットとして起動および停止するために必要です。 たとえば、SOCKS5サーバーを作成した後、これをすべてApplicationにパックしました。これはapplication:start(socks5_server)



で開始しました。



アプリケーションインターフェースの詳細については、Erlangのドキュメントの概要をご覧ください



今後何を期待しますか?



この投稿は、OTPの簡単な紹介を目的としています。 また、「なぜこれを勉強する必要があるのか​​?」などの質問に答えるため。 そして最後に、どこからどのように始めることができるかを知っています。 近日中に、OTPアプリケーションを徐々に作成する一連の記事を公開します。



明日お見せする次の記事には、gen_serverの紹介が含まれています。gen_serverでは、理論上の銀行口座マネージャーを作成します。 2週間の終わりには、独自のErlang / OTPアプリケーションをゼロから作成する方法がわかります。



続き: gen_serverの概要:Erlybank



All Articles