繁体   English   中英

分布式SOA结构与设计

[英]Distributed SOA structuring & designing

因此,基本上我目前正在计划重新推出已经建立的产品。 该产品目前仅基于一大块,我想将其分为单个服务,可以单独扩展。 我已经研究了一段时间了,但是我找不到关于如何正确地构建/设计SOA应用程序的任何好方法。

以登录为例,以下设置是处理登录的正确/可接受的方法吗?

  • Web服务,基本上处理所有传入流量
  • 帐户服务,处理用户身份验证

用户登录服务示例

现在的流程如下:

  1. 用户访问Web服务,该服务提供登录UI
  2. 用户输入电子邮件和密码,单击“登录”
  3. 该Web服务将POST请求发送到帐户服务,该请求发布在account.example.org/api/
  4. 帐户服务验证凭据并将结果返回到Web服务

这是在SOA中处理/构建服务的一种可接受的方式(真的很简单)。 如果是,我如何与其他服务(不会对网络公开/访问)进行服务身份验证(如帐户服务)? 基本身份验证? 还是通过身份验证服务器?

我应该将所有内容都放在api.example.org之类的东西上,而不是将每个服务都放在具有相应/api/终结点的不同子域(例如account.example.org/api/ )上吗? 如果是,我该如何处理繁重的工作,或者如何扩展部分服务而不是整个API?

还有什么重要的要注意的?

当然,对于阅读有关分布式SOA API设计的任何建议,我也将不胜感激。

乍一看,该工作流程草案似乎还可以,但是该主题涉及面很广,在一个简单的帖子中也不是一件容易的事。

  • 是的,一旦注册成功,Basic Auth当然可以成为一种方法。
  • 我认为目前不需要子域,而是需要单个api端点,例如: api.example.org/accountapi.example.org/order
  • 除了将api部署到多台计算机(可扩展整个api的网络场)之外,您还可以依靠缓存来查询大数据; 显然,帐户方案不是一个很好的例子,但是如果您在此处有很多请求,它们很可能会扩展到api的其他部分; 一个例外是试图强行登录用户的安全攻击,在这种情况下,您可以在Web服务上设置某种验证码机制,并为您的api提供某种保护(拒绝来自同一ip的连接超过某个阈值,对于例)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM