Spring cloud 中如何根据访问者的ip 将请求指向到指定的微服务中?

开发过程中,因为各微服务之间调用的关系,因此需要本地启用好几个微服务, 导致电脑内存使用率都在80%以上,有没有办法将几个微服务进行共用(例如: 服务注册发现Eureka,网关apigateway, 基础模块 base 等等),将共用的服务部署到192.168.1.11 服务器, 其他人(192.168.1.22, 192.168.1.33)在本地开发时,只需要启动一个OA模块, 加入到共用的服务器, 然后两人访问 192.168.1.11 上的eureka服务器, 网关根据来访者的ip, 到eureka中进行查找,如果有来访者ip对应的微服务,则将请求指向到该服务,否则指向到共用的服务?

11 服务器部署 Eureka 和 apigateway
22 和 33 开发人员本地开发OA模块, 都将他注册到11服务器
当22和33开发人员访问 11的网关的时候, 能够将他们访问OA模块的请求都转发到他们自己电脑上的服务上面去. 实现基础服务共用, 开发人员不需要本地启动eureka和apigateway,降低对开发人员电脑的内存使用率和负担

查阅了一番资料, 我这个应该算是负载均衡方面的问题, 通过Ribbon来实现请求分发,接下来看看怎么通过ip分发到指定的微服务.

阅读 5.6k
3 个回答
新手上路,请多包涵

只要将服务注册到同一个注册中心,服务之间可以使用feignclient调用,没明白你说的什么意思。

一种是通过zuul调用,一种是通过feign调用。
前一种是直接暴露controller,后一种,一般是作为服务调用(类似dubbo)

开发的时候修改实例名

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题