使用随机端口号可以简化配置过程,特别是在需要部署多个相同应用程序的情况下。通过自动获取可用的随机端口号,可以减少手动配置的工作量和出错的可能性。
package main
import (
"fmt"
"log"
"net"
)
func GetFreePort() (int, error) {
addr, err := net.ResolveTCPAddr("tcp", "127.0.0.1:0")
if err != nil {
return 0, err
}
cli, err := net.ListenTCP("tcp", addr)
if err != nil {
return 0, err
}
defer cli.Close()
return cli.Addr().(*net.TCPAddr).Port, nil
}
func main() {
port, err := GetFreePort()
if err != nil {
log.Fatal(err)
}
fmt.Println(port)
}
随机获取端口号可以使得微服务系统的部署过程更加自动化,减少了手动配置端口的工作量