首页 文章

OTP:如何监督非OTP组件?

提问于
浏览
2

我正在构建一个Erlang / OTP系统,它包含一个MochiWeb Web服务器,一些自定义Erlang / OTP应用程序和一些非本机组件,如下所示:

  • CouchDB数据库,用于存储MochiWeb Web服务器的状态和持久数据(用户,帐户等)

  • 一个传统的PostgreSQL数据库,用于存储其他一些实体(订单,账户等;客户的要求:无法迁移到CouchDB,数据应该按原样使用);

  • 一个Asterisk服务器,用于向系统用户提供电话通知 .

我想实现高水平的正常运行时间和可用性,因此我想知道监视系统的非Erlang / OTP元素的最佳方法是什么 . 基本上,我希望在需要时对系统的每个元素进行监督,监控和重新启动 . 对于Erlang / OTP应用程序很容易实现,但我不知道如何使用非Erlang组件 .


Should I wrap them as Erlang/OTP applications and include into the OTP supervision tree?

Or should I use some third-party software tools to monitor and supervise those non-Erlang/OTP components of the Erlang/OTP system?

最着名的做法是什么?

1 回答

  • 3

    答案取决于:P

    我已经看到了两种方法,但我不太确定一个方法是否优于另一个方法 . 我的直觉是选择通过erlang内的端口管理应用程序的那个 . 这样,您可以通过一种很好的集中方式来了解问题是否会突然出现,并且可以轻松解决问题 .

相关问题