论坛首页 综合技术版

Erlang和Python如何交互?

浏览 1053 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2007-09-20 关键字: erlang python 集成 分布
我有几台机器上,都是用Python作的应用,现在需要一个网络分布的层把他们结合起来。打算尝试下Erlang,用erlang来处理网络分布的部分。由一台机器的python调用当前机器的erlang节点,然后到另一台机器上由erlang调用Python取得结果返回。
Python和Erlang之间用什么通讯比较合适?
   
最后更新时间:2007-09-20
你可以使用 erlang 的 port 机制。port 机制即利用 os 的 pipe 来与外界程序进行通讯,也就是 stdin/stdout 作为通讯的数据流。启动 port 程序,发送命令,等待反馈。在 port 的外层,可以包裹 erlang 的程序接口,或者放到 otp gen-server 中。

这里有一个 erlang - python 利用 port 进行通讯的例子,很简单,但足以作为参考。
   
0 请登录后投票
最后更新时间:2007-09-20
具体到你的应用场景,可以在每一个机器上构建 erlang 环境,分别通过 port 与本机的 python 程序通讯。然后这一组机器形成一个 erlang 的服务群。

彼此之间通过 erlang 的通讯机制来互相通讯实现分布逻辑。

如果你的 client 是 python 的,那么最外层可以再用一个 port ,可以通过它来提供 python 的 api 。

即, 最终可以形成这样的结构:python <- port -> erlang --(分布层)lan-- (*)erlang <- port -> python

不过,如果这么做架构的话,因为 erlang 主要的业务其实还是 io ,erlang 只是充当传输层的作用,并没有充分发挥出它的优势。意义不会很不明显。这种场景,还不如用 lvs 之类的集群方案来得简单高效。

关键还看你的应用。莫为了技术而技术才好。
   
0 请登录后投票
最后更新时间:2007-09-27
http://www.ketralnis.com/roller/dking/entry/20070903
写的相当清楚

专注 高性能 容错 分布服务器的实现(erlang)
http://mryufeng.javaeye.com
   
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
JavaEye推荐