我希望逐步将遗留 API 应用程序移植到 Phoenix。理想情况下,我会将应用程序的子域划分为单独的 Phoenix 应用程序,并将它们托管在不同的服务器节点上。
我希望使用凤凰频道来促进应用程序之间的通信。如何将一个 Phoenix 应用连接到另一个的频道和主题?例如,我想使用 WebSocket 设置一个“jobs.foo.com”子域,例如:
socket "/ws", Jobs do
channel "jobs:work_orders", WorkOrdersChannel
end
从另一个 Phoenix 应用程序(例如:报告)我想发布/订阅到该工作频道主题。是否建议Phoenix.Endpoint
在 Reports 中创建一个 Jobs 库并Jobs.Endpoint
在 config.exs 中配置该 url?然后我可以使用Phoenix.PubSub.subscribe/4
与那个命名的 pubsub 端点类似的东西吗?
我不确定我的想法是否有意义。如果有更可取的方法,我愿意接受建议。
- 编辑 -
只是为了澄清我要完成的工作......我想让一个 Phoenix 应用程序通过 WebSocket 客户端连接到另一个应用程序。这将允许我拥有具有不同领域逻辑的应用程序,通过事件通过渠道和共同感兴趣的主题进行通信。