Ketika menggunakan solusi ketersediaan Eureka tinggi pada host Linux, saya menemukan bahwa IP layanan yang terdaftar di pusat layanan adalah acak. Karena ada beberapa kartu jaringan di host, IP acak bukan yang saya inginkan. Saya mencari beberapa informasi secara online dan diringkas sebagai berikut:
1 Abaikan Kartu Jaringan: Spring.Cloud.Inetutils.Inchored-Interfaces
#Ignore eth0, mendukung ekspresi reguler spring.cloud.inetutils.ignored-interfaces [0] = eth0
2 Tentukan IP: spring.cloud.inetutils.preferred-networks
#Preferred-Networks mengacu pada alamat IP yang cenderung digunakan, menerima serangkaian ekspresi reguler untuk memilih alamat IP mesin asli yang digunakan oleh aplikasi Spring Cloud. spring.cloud.inetutils.preferrednetworks [0] =^192/.168
3 Ubah file host
Ketika logika traversal pencarian jaringan tidak menemukan IP yang sesuai, itu akan masuk ke inetaddress.getLocalhost () JDK. Metode ini akan mengembalikan nama host host saat ini, dan kemudian menguraikan IP yang sesuai berdasarkan nama host. Oleh karena itu, solusi kedua adalah mengkonfigurasi file hostname dan /etc /hosts mesin, dan secara langsung memetakan nama host mesin ke alamat IP yang valid.
4 Tentukan ip instance
#Specifikasi ipeureka.instance.ip-address =#gunakan IP alih-alih nama host eureka.instance.prefer-ip-address = true untuk pendaftaran
5 Lulus parameter perintah JAR
java -jar xxx.jar ---spring.cloud.inetutils.preferred-networks = #alamat IP yang perlu diatur atau java -jar xxx.jar --spring.cloud.inetutils.anin -interfaces = #The Network Card yang perlu disaring keluar keluar
Pemula di atas telah berjuang selama satu sore, dan setiap orang memiliki cara yang baik untuk berkomunikasi bersama. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.