2011-11-19 5 views
18

私たちは、オープンソースの分散アプリケーションを順番に開発する観点から、Erlang/OTPとRiak(Core、KV、Pipeなど)に精通しています。私たちのプロジェクトには、erlang_js、protobuffsなどのツールだけでなく、Riak KVのように実行する必要のあるサービスもたくさんあります。Erlang(およびRiak)でアプリケーションを開発するときの良いプラクティスは?

Python/Ruby/Node.jsでは、モジュールがプロジェクトの相対的な標準サブディレクトリに配置されている場合、それらを参照して後でリリースでパッケージ化することができます。プロジェクトのディレクトリにあるシェルを起動したり、モジュールを使って遊んだり、テストなどをすることができます。

Erlang/OTPの開発環境を整理し、すべての依存関係を到達可能(最新のバージョンに簡単に更新可能)、実行中のノードへのシェルアクセス、テスト、リリースの作成などのベストプラクティスは何ですか?

答えて

25

Erlang/OTPアプリケーションのパッケージ、テンプレート、および管理リリースに使用される鉄筋:https://github.com/basho/rebarを参照してください。あなたはそれを使用する方法に関するチュートリアル全体を見つけるでしょう。

は、this tutorial on OTPが最初のチェックアウトの前にすることができますあなたのリリースを示し、それらがErlangでどのように扱われるかswitch to this one。このentire book as referenceをプロジェクトの開発に使用してください。また、作成者がまだ高度なものを追加しているためです。

はまた、以下のこれらのクイックリンクをチェックアウトするん次いで、約Erlang Applicationsを読み続けたいとことがあります。



Erlang Packaging, Process One
OTP Packaging Video by Chicago Boss Guys
Erlang Dependency Management
Richard Jones Advice and examples on Packaging Erlang Projects with Dependencies
Maven Tool and how it is used in packaging Erlang Projects

最も重要なのは、非常に真剣に rebarを取ります!依存関係のあるErlangアプリケーションの管理は非常に重要です。進捗状況に応じて、ここにあなたの質問を投稿することができます。私は忘れる前に

、どのように Reltoolを使用することも creating target systemsと上のシステムのドキュメントをチェックアウトするために、その重要な、

また Riak Community

EDITからのものの多くをチェックアウトしませんリリースを処理します。 erlangの良い点は、そのような方法でアプリケーションを簡単に維持できる限り、何かをする方法がいくつかあるということです。ターゲットシステムでは、Erlang VMを組み込む方法、SolarisVxWorksにErlangアプリケーションを実行する方法、erlsrvを使用してWindows NT上のサービスとしてErlangアプリケーションを作成する方法を学びます。

通常は、オペレーティングシステムがサーバーを起動しているときに、アプリケーションが起動していることを確認します。 SolarisはErlang/OTP VMの組み込みに関して他のどのOSよりもカスタマイズされています。Escriptを使用して、いつでも組み込みErlang VMと通信できます。エスケープによって、組み込みVMに接続できる(同じCookieを共有する必要がある)erlangノードが作成され、組み込みVMは、

net_kernel:allow(List_of_nodes)
を実行して一時的に作成されたノードを接続できるようにしている場合は、このメソッドを呼び出して、既知の厳密に指定された数のノードからの接続のみを組み込みVMに許可します。

+1

ありがとうございました!それはかなり完全な写真です!私はこれをすべて読んで、必要に応じてさらに質問を投稿します。 – matehat

関連する問題