可以在Internet上访问微服务端点

时间:2018-10-22 13:09:48

标签: rest spring-boot architecture microservices

我们有一个基于MicroService的体系结构,其中每个服务都有一个REST端点。这些服务通过REST相互通信。

但是,我注意到许多开发人员已经开始直接在Web应用程序的Javascript代码中调用这些服务。我想知道是否建议通过Internet访问这些微服务,或者它们应该隐藏在Facade层后面。当然,所有端点都是经过身份验证的,但是所有Web应用程序用户在执行F12后都可以找到这些端点。

谢谢

阿比

1 个答案:

答案 0 :(得分:0)

出于以下原因,我不会这样做

  1. 安全性。您将按原样公开端点,它使其他人对端点有了很多了解,然后您希望他们知道什么。可以进行身份​​验证,但仍可以对DDOS进行单独服务,非常规调用,意外负载等。
  2. 服务发现。通过允许直接访问端点,您基本上是在迫使开发人员将自己与给定的URL绑定。这可能有效,但是由于它限制了您将来对URL等进行更改,因此最好不要进行更改。通过在两者之间插入一层,您将需要更改一个网址
  3. 代码复制在涉及URL处理(例如请求日志记录,https剥离,身份验证,DDOS防止,请求限制等)的URL处理时,存在很多交叉问题。服务,您可以在一个地方管理所有这些服务,而不必为每个服务都做这些服务

如果您认为其中任何一个或可能是主要问题,则应在两者之间添加一个附加层,并通过它路由面向Internet的api。