spring云网关和eureka服务发现有什么区别?

What are the differences between spring cloud gateway and eureka service discovery?

我是 spring 云的新手,想知道 spring 云网关和 euroke 做同样的事情吗? 我阅读了文档,但没有得到关于差异的明确信息。

能请教一下吗?

这基本上是两个完全不同的东西:

来自 spring 云网关的文档:

Spring Cloud Gateway features:

Built on Spring Framework 5, Project Reactor and Spring Boot 2.0

Able to match routes on any request attribute.

Predicates and filters are specific to routes.

Hystrix Circuit Breaker integration.

Spring Cloud DiscoveryClient integration

Easy to write Predicates and Filters

Request Rate Limiting

Path Rewriting

因此,请将其视为您的应用程序的单个 "entry point",它可以在后端包含数十个甚至数百个不同的微服务。

但是你不希望最终用户知道这些微服务的所有地址,所以你把网关放在它们前面。用户只知道一个服务,而你在网关中将请求路由到对应的微服务。

现在关于尤里卡。它是您拥有的所有微服务的注册表。当微服务启动时,它可以说:"hey eureka, I'm microservice of type ABC and I'm ready to serve the requests on host/port XYZ"

现在,当另一个微服务想要与微服务 ABC 对话时,它可以(隐式地)转到 eureka 并获取最新的实际 hosts/ports 列表,其中 ABC 类型的微服务实例可用。所有这一切都不知道 ABC 的实际主机端口,而只知道逻辑名称 "ABC".

注意,网关在将请求重定向到微服务时也可以联系 eureka 来解决实际问题 host/ports。

所以 Eureka 是一个服务注册中心,是您拥有的所有服务的清单。