本地测试时微服务如何路由

Posted

技术标签:

【中文标题】本地测试时微服务如何路由【英文标题】:How are microservices routed when tested locally 【发布时间】:2021-03-13 13:01:28 【问题描述】:

当我们谈论基于微服务的系统时,路由是一个重要方面,因为请求将被引导到正确的服务。在生产环境中部署服务时,会使用负载均衡器、API 网关等组件。

但是当我在本地开发和测试微服务时,比如使用 Spring boot,我不使用任何此类组件,例如负载均衡器、API 网关等。那么路由需要注意什么?

【问题讨论】:

【参考方案1】:

这个概念对于本地或远程保持不变。在任何一种环境中,您都必须告诉服务 a 与服务 b 进行通信。该操作是通过服务发现建立的。您成为客户端并像其他应用程序服务一样将自己注册到服务发现,并通过 Feign 或 Ribbon 调用任何您选择的调用。 在本地,您还可以通过 Feign 为想要通信的服务硬编码主机和端口,但这不是服务通信的理想方式。

对于本地你也可以使用ResponseEntity在服务之间进行通信例如:-

ResponseEntity<ServiceA> responseEntity = new RestTemplate().getForEntity
        ("http://localhost:8000/ServiceB/from/from/to/to",ServiceB.class, parametervalues);

【讨论】:

以上是关于本地测试时微服务如何路由的主要内容,如果未能解决你的问题,请参考以下文章

布道微服务_15服务路由规则及实现

2020系统综合实践

使用NodeJs作为微信公众号后台服务器 使用node回复公众号消息 node验证公众号tonken node微信公众号开发

服务治理最佳实践:如何快速依据请求参数值进行服务路由鉴权限流?

Sass产品 - 定制化与本地化

微服务_服务网关(Gateway)