【问题标题】:GraphQL and dataLoader on separate applications/serversGraphQL 和 dataLoader 在不同的应用程序/服务器上
【发布时间】:2016-06-19 23:29:01
【问题描述】:

我计划在 IIS 上的 .NET 中实现 GraphQL API,并将 dataLoader API 实现为 Node.js 应用服务器。 GraphQL 将连接到 SQL Server 的 dataLoader。
目前所有应用程序都将位于单个物理服务器上,但如果可扩展性需要,将来可能会分开。

我这样做的原因:

  • 现有代码依赖于 IIS/COM/DCOM/ActiveX/.NET/ASP/ASPX
  • 实施和推理更简单
  • 访问控制(web服务器不需要看dataLoader代码,ACL可以在dataLoader中实现)
  • 如果我有机会与不同的数据库(redis、mongodb 等)交互,会更容易
  • 我可以逐步对部分代码进行切片和移植,以便更轻松地共享代码(使用单独的 Linux 服务器)
  • (我喜欢)Node.js 开放探索,但还不能选择加入

首先,这有意义还是我在自找麻烦?

在 GraphQL 和 dataLoader 之间使用二进制序列化格式是否有意义?或者也许只是一个简单的 Web 服务会更简单?
我是否会因更多的往返行程而冒着性能问题的风险? (问题太开放了?直觉上看起来这最终会更好地扩展)
GraphQL 和 dataLoader 之间是否需要显式身份验证?或者我可以按原样发送会话数据(使用用户名),让 dataLoader 信任作为上下文给出的用户名吗?也许传递一个令牌? JWT 令牌在这里有用吗?

【问题讨论】:

  • here。也许它可以帮助你。
  • @Oleg 谢谢,我实际上已经计划使用它(这是一个决定性因素)。它看起来稳定且经过深思熟虑。你碰巧有使用它的经验吗?
  • 抱歉,到目前为止,我还没有使用 GraphQL for .NET 的实践经验。我只是计划将 ReactJS 解决方案集成到现有的 .NET 基础设施中。似乎一个人没有那么多的可能性。我发现了 .NET 的 GraphQL,这似乎很有趣,而且它还活着(有待进一步开发)。我想把链接发给你,因为到现在你还没有收到任何答复。

标签: javascript c# asp.net node.js graphql


【解决方案1】:

GraphQL-dotnet 从那时起已经成熟了一些,看起来还不错。
从那以后,我研究了 AWS 的 API Gateway GraphQL 支持等解决方案,以及一些支持 GraphQL 的 Azure Functions 解决方案。

这些东西中涉及的一些技术和设计选择在这里和那里都有帮助。但由于实际原因,这从未真正实现,而且这些担忧中的大多数从未变得相关。

【讨论】:

    猜你喜欢
    • 2020-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-07
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    • 1970-01-01
    相关资源
    最近更新 更多