我对这件事很难过。我们希望将我们的遗留应用程序转移到Microservice应用程序(Spring,Java 8)。
作为架构师,我们不需要服务Disvovery和API网关就可以完成服务发现和路由。
注意,目前部署在前提服务器上,我们将有固定数量的节点,F5/负载均衡器将能够将请求路由到API网关,然后再路由到微服务。
我们能在Spring网关而没有服务发现的情况下生存下来吗?
发布于 2019-12-30 15:59:54
简单地回答是的,您可以使用Spring网关而不使用服务发现。
但是它实际上取决于应用程序的大小和它将要处理的流量数量。
您可以开始迁移到微服务,而无需服务发现。对于内部服务到服务的通信,只要使用真正硬编码的IP地址、和端口。
关于API网关做服务发现。我可能错了,但是您将无法通过Api进行通信,因为它也不知道目标的位置(服务位置也必须进行硬编码)。
一旦您开始感觉到需要扩展,您将不可避免地使用服务注册工具。如果您开始考虑使用哪一个,我可以建议您使用HashiCorp领事。
无论如何,您最终很可能必须将服务发现机制注入您的基础结构。您可以从一开始就这样做,或者稍后处理它,如果新的体系结构对您有好处,并且将有一个进一步扩展它的计划。
如果您有向云迁移的计划,那么您可以提前为您的基础设施考虑Kubernetes。它为您提供了即时服务发现机制。
发布于 2019-12-30 16:06:47
Kubernetes是一个很好的平台,如果你可以选择的话。
它可以处理从服务发现到部署的各个部分。
您只需制作一个云准备好的对接者映像(最好)并将其部署到kubernetes,Kubernetes将根据您的配置将内部端点映射到这个位置,并且您的服务将在其中注册(如果我使用spring-cloud和eureka服务器的话)。
发布于 2021-06-30 06:39:36
如果没有服务注册支持的DiscoveryClient,则可以配置spring.cloud.discovery.client.simple.instances.userservice[0].uri=http://s11:8080
您可以在kubernetes集群.For上承载这个用户服务,更详细的信息请转到这个docs https://cloud.spring.io/spring-cloud-commons/2.2.x/reference/html/。
就像在服务之间进行通信一样,假设用户服务想要与密码服务通过丝带轻松地进行通信。
passwordservice.ribbon.listOfServers:${PASSWORDSERIVCE}:http://localhost:8081我看不出这种结构有什么问题。
https://stackoverflow.com/questions/59516801
复制相似问题