1

我有这样的分布式设置(WSO2 APIM 191):

  • 2台服务器与集群中的商店和发布者一起工作;(服务器 A 和 B);
  • 2台服务器与集群中的网关工作人员和密钥管理器一起工作;(服务器 C 和 D);
  • 1台服务器作为网关管理器;(服务器 E);
  • 1 台使用 BAM 的服务器;(服务器 F);
  • 集群中的 2 个 postgres;

一切都已配置并且运行良好。但是当我在“A”注册一个 API 时,服务器“C”或“D”没有显示这个 API。

当我通过“curl”调用这个 API 时,这是错误的:

<am:fault xmlns:am="http://wso2.org/apimanager">
  <am:code>404</am:code>
  <am:type>Status report</am:type>
  <am:message>Not Found</am:message>
  <am:description>
       The requested resource (/test/1/ping) is not available. 
  </am:description>

当我在“C”或“D”(Main > Metadata > List > APIs)看到碳时,API 就在那里。我不知道为什么会出现这个错误。

4

1 回答 1

2

您是否设置了部署同步器?请参阅Carbon 4.2.0-Based Products 的基于 SVN 的部署同步器

当您从发布者发布 api 时,它会创建相关的突触配置来处理管理器节点中与此 api 相关的请求(请参阅管理器节点中的 AM_HOME/repository/deployment/server/synapse-configs/default/api ,您会发现带有 api 名称的 xml。)。由于网关工作节点处理请求,因此这些文件应该在工作节点中。部署同步器用于自动将此配置移动到工作节点。如果您不想要 svn 基本同步器,您可以通过将管理器节点的 synapse-configs 文件夹中的内容复制到所有工作节点来手动执行此操作

于 2016-05-22T14:11:36.097 回答