Erlang,在 Erlang 中连接互联网上的节点

发布于 2025-01-07 03:23:22 字数 298 浏览 1 评论 0原文

我开始玩一点 erlang,发现它最有趣。

我的问题是这样的,我想设置一个服务器来运行网络服务。该服务应该用erlang编写,并且应该很容易改变,也就是说我希望能够进行大量的热代码交换,代码是在另一台机器上编写和测试的,有一种方法可以从一个erlang noce轻松部署代码到另一个,而不必将其包装在文件中并传输文件?

我想我记得听说过一些关于能够在 erlang VM 内部传递闭包的事情,这可行吗?或者甚至可以使用开发计算机上编译的代码更新服务器计算机上的线程?

我知道这听起来像是一种冒险的做事方式,确实如此,但这就是我的想法。

I've started playing alittle with erlang, and find it most interesting.

My problem is this, I would like to set up a server to run a webservice. The service should be writen in erlang, and should be easily mutated, that Is I would like to be able to do hot codeswap alot, the code is writen and tested on another machine, it there a way to deploy code easily from one erlang noce to another, without having to wrap it up in files and transfer the files?

I think I remmember hearing something about being able to pass closures around inside the erlang VM, is this doable? or perhaps even updating threads on the server machine with the compiled code on the development machine?

I know this sounds like a risky way of doing things, and it is, but its what my mind has settled on.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

空气里的味道 2025-01-14 03:23:22

如果我理解正确的话,您想将模块从一个节点加载到另一个节点。在这种情况下,您可以使用 bif nl(Module) 在所有节点上加载模块“Module”。或者您可以使用 nc(Module)< /code> 当然,节点必须共享相同的 cookie 并且必须连接(参见 net_adm:ping(节点))

if I understand correctly, you want to load a module from one node to another. In this case you can use the bif nl(Module) which loads the module "Module" on all nodes. Or you can either use nc(Module) Of course the nodes must share the same cookie and must be connected (see net_adm:ping(Node))

水溶 2025-01-14 03:23:22

您无法真正摆脱将文件传输到目标部署计算机的情况。至少您需要发送模块的新版本。

更新模块后,您可以选择更新飞行代码,只需重新加载模块即可(例如 代码:load_file/1)。全面的 OTP 升级 (rebar 可能会有所帮助)或介于两者之间的东西(例如 或 mochiweb reloader 模块)。这实际上取决于您想要做什么、更改的模块之间的依赖关系等。

You can't really get away from transferring files to your target deployment machine. At the very least your going to need to send down the new versions of the modules.

Once you have updated the modules your options for updating code of the fly range from simply reloading a module (something like code:load_file/1). A full blown OTP upgrade (rebar may help here) or something in-between (like updo or the mochiweb reloader module). It really depends on what you are trying to do, the dependencies between the changed modules, etc.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文