eureka 集群的實現方式?


注意,本文還是對上一篇博客的延續,需要的配置,在前面的博客里面可以找到。

 

    eureka集群版  (正宗的eureka!2.1.配置eureka的集群之前首先先配置HOSTNAME和IP的映射
    
        具體的路徑。

//                C:\Windows\System32\drivers\etc
        
        在windows系統中修改hosts文件
/*    
                127.0.0.1(localhost) eureka01
                127.0.0.1(localhost) eureka02
                127.0.0.1(localhost) eureka03
*/

2.2.在 springcloud-eureka-management 項目下 創建7082和7083項目。

2.3.修改7081、7082、7083的application.properties配置文件和創建各自的啟動類。
/*                
                eureka.instance.hostname=eureka03
                eureka.client.service-url.defaultZone=http://eureka01:7081/eureka,http://eureka02:7082/eureka
*/

            2.2.4.修改provider-8081項目的application.properties配置文件
                eureka.client.service-url.defaultZone=http://eureka01:7081/eureka,http://eureka02:7082/eureka,http://eureka03:7083/eureka

 

二、eureka集群的配置文件 和各自的啟動類。

 

 

 

 

package com.aaa.zxf;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer         // eureka 提供的服務 所有這里的注解是 server
public class ApplicationRun7082 {
    public static void main(String[] args) {
        SpringApplication.run(ApplicationRun7082.class,args);
    }
}

 

三、修改provider-8081項目的application.properties配置文件

 

server.port=8081
server.servlet.context-path=/

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

# 我的數據庫編碼的問題 所以需要添加 characterEncoding=utf8   設置自字符集。
spring.datasource.url=jdbc:mysql://localhost:3306/qy100?characterEncoding=utf8&useSSL=false

spring.datasource.username=root
spring.datasource.password=root
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

mybatis.type-aliases-package=com.aaa.zxf.model
mybatis.mapper-locations=classpath:mapper/*Mapper.xml

#三、
# 配置的是在eureka中顯示的服務名(Application)
# 如果不配置,則會顯示UNKNOWN(這個是細節!!,以后有問題)
spring.application.name=user-provider

#一、
#配置eureka 的注冊地址,將provider 注冊進來。
# 單節點模式,eureka的命名空間是 defaultZone
# 客戶端的命名空間可以隨意指定,就算不一致,也可以注冊進eureka 。因為單節點只有
#一台eureka, 此時的命名空間是失效的。


#二、     注意!
# GreenWich RS.3:無論是單點解還是集群模式,eureka的服務器端和客戶端的命名空間必要保持一致,否則會報錯(找不到服務實例)
#eureka.client.service-url.defaultZone=http://localhost:7081/eureka

# eureka    集群版的配置,需要將自己分別在三個 eureka上去注冊。
eureka.client.service-url.defaultZone=http://eureka01:7081/eureka,http://eureka02:7082/eureka,http://eureka03:7083/eureka


#四
#在eureka中配置實例, 就是eureka的status下顯示的名字
# 不可以重復!!! 等同於mysql中表的id。
eureka.instance.instance-id=user-provider-8081

#五、
#在eureka中顯示ip的地址
eureka.instance.prefer-ip-address=true

#六  點擊eureka的服務名顯示出該服務的具體信息
# 根據服務的具體內容,作者,公司,以及對整個服務的描述來進行顯示
# 相當於在HTML頁面上有一個a標簽<a href="/actuator/info"></a> --> 跳轉到controller:@RequestMapping("/actuator/info")
# !!開頭用info!!其他的隨便輸入

info.autor.name=ZhouXu
info.company.name=AAA
info.project.desription=This is Demo

#七  現在某些微服務就是不需要eureka的自我保護,就想辦法把自我保護機制失效
# 規定自己向eureka發送心跳的時間  單位是秒
eureka.instance.lease-renewal-interval-in-seconds=5

#eureka.instance.lease-renewal-interval-in-seconds=5

# 當eureka最后一次檢測到心跳的時間間隔(單位是秒)
# eg:15:05:20是最后一次檢測到心跳-->檢測8秒之后還是無法檢測心跳的時候直接剔除
eureka.instance.lease-expiration-duration-in-seconds=8

 

圖解eureka集群的關系。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM