我计划在IIS上的.NET中实现GraphQL API,并将dataLoader API作为Node.js应用服务器。 GraphQL将接口到dataLoader到SQL Server。目前所有的应用程序将在一个单一的物理服务器上,但如果可扩展性需要,将来可能会被分开。
我这样做的原因。
首先,这是合理的还是我在自找麻烦?
在GraphQL和dataLoader之间使用二进制序列化格式是否合理? 或者也许只是一个简单的web服务会更简单?我是否会因为更多的往返而面临性能问题的风险?直观上看来,这最终会有更好的扩展)GraphQL和dataLoader之间是否需要显式认证? 或者我可以只发送会话数据(包括用户名),让dataLoader信任作为上下文给出的用户名? 也许传递一个令牌? JWT令牌在这里有用吗?
GraphQL-dotnet从那时起就已经成熟了一些,而且看起来很不错。我后来研究了一些解决方案,比如AWS的API网关GraphQL支持,还有一些Azure Functions的解决方案支持GraphQL。
这些东西涉及到的一些技术和设计选择,对这里和那里都有帮助。 但由于实际的原因,这从来没有真正实现过,这些关注的大部分问题也从来没有变得相关。