我有一个App Engine应用程序,它有多个独立的模块。
deployed时,这些模块在http://<module>.<app_id>.appspot.com
可用,当使用dev_appserver.py mod1.yaml mod2.yaml --port-9000
进行本地测试时,mod1
会在http://localhost:9000
和{{1}中运行在mod2
中运行。所有模块都在同一个项目上运行。到目前为止一切都很好。
我们假设http://localhost:9001
需要与mod1
对话。有没有办法动态地在mod2
内获取mod2
的网址?
mod1
答案 0 :(得分:1)
可以使用modules.get_hostname()
API构建跨GAE和开发服务器上运行的跨模块URL。您可以在此答案中找到一个示例:https://stackoverflow.com/a/31145647/4495081
答案 1 :(得分:0)
只要我知道这是不可能的。由于您有2项服务,未来可能会有更多服务,因此您似乎使用的是分布式微服务架构,因此您需要为其注册服务以了解其他服务的位置。为此,我建议etcd它非常容易使用。 一个好人也为它写了python-client!