springBoot项目如何启动多个实例 - Go语言中文社区

springBoot项目如何启动多个实例


今天碰到一个需求是,将一个服务提供者启动两个实例,一个实例对外,一个实例对内,对内价格有折扣,两个实例通过指定不停的profile来区分,要求是不能改造为两个服务提供者,于是我就焦灼了,知道是配置不同的配置文件,但是却是不知道怎么同时启动两个实例。在网上找来找去,稀里糊涂的弄好了。。。。。。。。。

下面附上具体的做法:

根据我的业务需求,我要在配置文件中配置一个折扣, 起名为:  discount 。然后根据启动不同的配置文件中从,controller中取得该值,进行业务操作。

请看我的配置文件:  

  1)  这是不同环境的yml文件,注意 文件名  必须为application-{profile}.yml ,定义我的自定义变量:   discount

2) application.yml文件如下: 注意:如果整合了Feign,那么需要写 ribbon.eureka.enabled:false ,不然启动报500

3) 目录结构如下:

        注意:  dis和  nor等会启动多实例的时候会用到

4)Controller 中通过   @Value("discount")  得到配置文件中的值

5)重点来了,怎么启动呢?

我用的是sts ,eclipse也一样的配置,IDEA请自行百度!  请看 在主启动类名上右键 Run as --> Run Configurations

配置上如上信息, 注意等号右边的  dis和nor就是我们的yml文件中的值,点击run,同样的操作,在将dis改为  nor,在启动一次,这样就同时启动了两个不同端口的一个服务提供者,在eureka注册中心就会有一个微服务下有两个提供者,Feign就可以自动负载均衡了。

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/m0_37564404/article/details/81512650
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 20:51:09
  • 阅读 ( 913 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢