【问题标题】:How to expose service layer with public and internal endpoints in Azure如何在 Azure 中使用公共和内部终结点公开服务层
【发布时间】:2015-06-09 19:35:43
【问题描述】:

我有一个通过 WCF 与服务层对话的 Web 应用程序。这些需要是内部端点并且应该是 .net TCP 绑定。但是,我在服务层中也有一些不需要在内部使用但需要暴露给外部世界的服务,即 http/https 输入端点。在 Azure 中实现此功能的最佳方式是什么?

我希望有人可以就以下几点提供澄清/建议:

  • 如果我使用内部端点,这些负载是否平衡?网络上似乎有很多相互矛盾的信息。我读过你需要实现自己的算法,但我也读过微软现在已经实现了,它是自动的。
  • 服务层应该是 Web 角色还是工作者角色?似乎有一些解决方法可以让内部 TCP 绑定与 Web 角色一起工作?
  • 是否有一套具体的指导方针来说明使用哪一个?即网络角色或工作者角色。
  • 我假设无论我使用 Web 角色还是辅助角色,我都需要两个实例?但这不取决于第一点吗?即,如果没有负载均衡器,那么拥有 2 个工作角色实例是否有任何意义?
  • 将我的服务层分成两层会更好吗?一个公开内部端点,另一个公开公共端点?

提前致谢。

【问题讨论】:

    标签: wcf azure architecture azure-web-roles azure-worker-roles


    【解决方案1】:

    我之前的回答被截断了。看看 Azure 服务总线,你可以在那里创建中继来公开你的内部 WCF 服务

    【讨论】:

    • 考虑编辑您现有的答案,而不是制作新答案。
    • 这里是帮助开发者还是抱怨给定帮助的地方?
    • @Peter 这个地方是用来创建大型问答集的;随意散布半完整的帖子对任何人都没有帮助。删除您的第一个答案将比以这种方式回复花费的时间更少,并且可以防止您无缘无故地被否决,因为您的建议很好,如果有点简洁(OP 想要 TCP 绑定,而不是 SB 中继,尽管中继可用于同步两个实例)。
    【解决方案2】:

    你可以为此使用服务中继,看看@Azure

    【讨论】:

    • 这并不能解决问题,但可能有助于解决问题。最好在原始问题上将此类内容作为 cmets 发布。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-29
    • 1970-01-01
    • 1970-01-01
    • 2019-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多