当前位置: 首页 > 编程笔记 >

Spring Cloud实战技巧之使用随机端口

傅越
2023-03-14
本文向大家介绍Spring Cloud实战技巧之使用随机端口,包括了Spring Cloud实战技巧之使用随机端口的使用技巧和注意事项,需要的朋友参考一下

前言

在Spring Cloud构建微服务架构中,我们经常会需要启动多个实例的情况来测试注册中心、配置中心等基础设施的高可用,也会用来测试客户端负载均衡的调用等。但是,我们一个应用只能有一个端口号,这就使得在本机测试的时候,不得不为同一个服务设置不同的端口来进行启动。

在本地用不同端口启动同一服务实例的方法有很多。最传统的我们可以粗暴地修改配置文件中的server.port属性来分别启动多个实例,这种方法虽然可以实现,但是非常的不方便。比较好的一种方法是在启动的时候通过命令的方式为server.port属性来设置不同的值,这样我们的配置文件就不用反复的进行修改了。

在本文中,我们将介绍另外一种方法:

采用随机端口的方式来设置各个服务实例,这样我们不用去编辑任何命令就可以在本地轻松地启动多个实例了。

使用随机端口

为Spring Cloud的应用实用随机端口非常简单,主要有两种方法:

1、设置server.port=0,当应用启动的时候会自动的分配一个随机端口,但是该方式在注册到Eureka的时候会一个问题:所有实例都使用了同样的实例名(如:Lenovo-zhaiyc:hello-service:0),这导致只出现了一个实例。所以,我们还需要修改实例ID的定义,让每个实例的ID不同,比如使用随机数来配置实例ID:

server.port=0
eureka.instance.instance-id=${spring.application.name}:${random.int}

2、除了上面的方法,实际上我们还可以直接使用random函数来配置server.port。这样就可以指定端口的取值范围,比如:

server.port=${random.int[10000,19999]}

由于默认的实例ID会由server.port拼接,而此时server.port设置的随机值会重新取一次随机数,所以使用这种方法的时候不需要重新定义实例ID的规则就能产生不同的实例ID了。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对小牛知识库的支持。

 类似资料:
  • 作者整理出 38 个 Android 应用开发中积累的实战经验和技巧,目的让理论+实践结合,成就优秀的 Android 开发者。

  • 本文向大家介绍VC小技巧汇总之5则实用小技巧,包括了VC小技巧汇总之5则实用小技巧的使用技巧和注意事项,需要的朋友参考一下 本文搜集汇总VC的5则小技巧,非常实用,对于VC程序设计有很好的参考借鉴价值,详情如下: 1.如何获取程序所在的路径 也就是获取你这个程序本身所在的路径。 在应用程序类CxxApp的头文件中定义一个变量CString m_exePath;用来放置程序的路径名,在应用程序类Cx

  • We’re going to use Sinatra in a similar manner to how we used Express in the last chapter. It will power a RESTful API supporting CRUD operations. Together with a MongoDB data store, this will allow u

  • 1. 在容器中获取 Pod 的IP 通过环境变量来实现,该环境变量直接引用 resource 的状态字段,示例如下: apiVersion: v1 kind: ReplicationController metadata: name: world-v2 spec: replicas: 3 selector: app: world-v2 template: metad

  • 如何给GRUB2菜单加上背景图? 首先制作一张PNG格式的图片,分辨率最好是"1024x768"以保证较好的兼容性。然后将这张图片放到"$prefix/themes/1024x768.png"("$prefix"是GRUB2的安装目录)。然后在'grub.cfg'中加入如下内容: set gfxmode=1024x768,auto insmod gfxterm insmod png termin

  • 本文向大家介绍VC小技巧汇总之窗口技巧,包括了VC小技巧汇总之窗口技巧的使用技巧和注意事项,需要的朋友参考一下 本文搜集汇总了VC小技巧的窗口技巧,对于VC程序开发的窗口设计而言有一定的借鉴价值,详情如下: 1.让窗口一启动就最大化 把应用程序类(CxxxApp)的 InitInstance() 函数中的 改为 则窗口一启动就最大化显示。 2.如何设置窗口的初始尺寸 在将应用程序类(CxxAPP)

  • 本文向大家介绍C#之WinForm WebBrowser实用技巧汇总,包括了C#之WinForm WebBrowser实用技巧汇总的使用技巧和注意事项,需要的朋友参考一下 本文实例汇总了C#中WinForm WebBrowser常见的实用技巧,对于C#程序开发来说有不错的借鉴价值。分别叙述如下: 方法1:获取状态栏信息 方法2:页面跳转后改变地址栏地址 方法3:设置单选框 方法4:设置联动型下拉列

  • 本文向大家介绍Nodejs 和Session 原理及实战技巧小结,包括了Nodejs 和Session 原理及实战技巧小结的使用技巧和注意事项,需要的朋友参考一下 一 Cookie 因为HTTP协议是没有状态的,但很多情况下是需要一些信息的,比如在用户登陆后、再次访问网站时,没法判断用户是否登陆过。于是就有了cookies,用于在浏览器端保存用户数据,它有如下特点 1 是在客户端浏览器端才有的 2