我很喜欢实现我自己的单入口点“网关”,它可以做两件事。
首先,它记录 SOA 服务器处理了多少请求,并将下一个请求循环到最可用的服务器。完全控制负载平衡逻辑很有吸引力。
其次,这个“网关”将是我所有服务的唯一联络人,包括安全性。如果客户端发送了一个用户名-密码组合,它会将它们传递给安全服务,该服务会在成功验证时授予令牌。如果客户端发送了一个令牌,网关会通过安全服务运行这个令牌,如果它是 kosher,则将请求传递给业务服务之一。隐藏或封装网关以外的所有服务似乎是可取的。
我的问题是:有什么理由说这不是“做事的正确方式”?当已经有一个框架可以完成我上面描述的工作时,我是否在重新发明轮子?我的堆栈是 .NET 和 WCF。