springcloud(三):Eureka服務端


 

一. 因為使用一個注冊中心服務器端,n個客戶端:n個生產者客戶端、n消費者客戶端....,所有的客戶端最好的方式就是通過對象傳遞參數,因此需要創建一個公共組件項目,為n個客戶端傳值提供方便

 

二、創建公共組件項目

1.創建公共組件項目,因為只是數據傳輸層共用,因此創建普通maven項目就好

 

2.給公共組件項目起名字

 

 3.maven的配置

 

4.同理,為了在一個窗口好查閱,我們創建獨立的項目模塊

 

5.創建如下項目結構

 

6.編輯Classes.java類

package cn.kgc.vo;

import java.io.Serializable;

/**
 * Created by Administrator on 2019/6/11.
 */
public class Classes implements Serializable{
    private Integer cid;
    private String cname;

    public Classes() {
    }

    public Classes(Integer cid, String cname) {
        this.cid = cid;
        this.cname = cname;
    }

    public Integer getCid() {
        return cid;
    }

    public void setCid(Integer cid) {
        this.cid = cid;
    }

    public String getCname() {
        return cname;
    }

    public void setCname(String cname) {
        this.cname = cname;
    }

    @Override
    public String toString() {
        return "Classes{" +
                "cid=" + cid +
                ", cname='" + cname + '\'' +
                '}';
    }
}

 

7編輯Student.java類

package cn.kgc.vo;

import java.io.Serializable;

/**
 * Created by Administrator on 2019/6/11.
 */
public class Student implements Serializable{
    private Integer sid;
    private String sname;
    private String password;
    private String subject;
    private Double result;
    private Integer cid;

    public Student() {
    }

    public Student(Integer sid, String sname, String password, String subject, Double result, Integer cid) {
        this.sid = sid;
        this.sname = sname;
        this.password = password;
        this.subject = subject;
        this.result = result;
        this.cid = cid;
    }

    public Integer getSid() {
        return sid;
    }

    public void setSid(Integer sid) {
        this.sid = sid;
    }

    public String getSname() {
        return sname;
    }

    public void setSname(String sname) {
        this.sname = sname;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public Double getResult() {
        return result;
    }

    public void setResult(Double result) {
        this.result = result;
    }

    public Integer getCid() {
        return cid;
    }

    public void setCid(Integer cid) {
        this.cid = cid;
    }

    @Override
    public String toString() {
        return "Student{" +
                "sid=" + sid +
                ", sname='" + sname + '\'' +
                ", password='" + password + '\'' +
                ", subject='" + subject + '\'' +
                ", result=" + result +
                ", cid=" + cid +
                '}';
    }

}

 

8.因為在企業中 項目都是獨立調用的,也就意味着其他eureka客戶端會互相調用,會公共引用公共組件的類,那么獨立的項目引用的方式就是 將公共組件項目使用maven打成jar包或war包,存入maven倉庫,供所有人公共調用,因此我們下面使用現有的idea工具將項目打成war包,打入我們自己的maven倉庫,如果是在企業中,則將項目達到公共私服的maven庫中,

注意:使用idea中將項目打成war包存入maven倉庫時,一定一定注意 在idea中已經配置過自己的maven本地倉庫地址

 

 

看到此處我們的公共組件就已經打成jar文件

 

三、創建eureka服務端項目

1.創建項目

 

2.選擇創建項目的類型

 

 3.輸入group 的值和模塊名稱

 

4. 因為我們創建的是eureka服務器端,因此只產生服務器依賴

 

 5.指定工程存放路徑和項目即模塊名稱

 

 6.查看已經創建好的項目結構

 

 7.編輯application.properties屬性文件

在默認設置下,該服務注冊中心也會將自己作為客戶端來嘗試注冊它自己,所以我們需要禁用它的客戶端注冊行為,只需要在application.yml中增加如下配置:

#spring.application.name表示當前微服務注冊到Eureka Server中的名字,同事需要指定Eureka Server地址
spring.application.name=eureka-server

#設置當前服務的端口號
server.port=8761

#register-with-eureka :表示是將自己注冊到Eureka Server,默認為true。
#因為當前應用就是Eureka Server,所以將其設置位false
eureka.client.register-with-eureka=false

#fetch-registry :表示是否從Eureka Server獲取注冊信息,默認為true。不需要同步數據就將其設為false
eureka.client.fetch-registry=false

#defaultZone :設置與Eureka Server交互的地址,
#查詢服務和注冊服務都需要依賴這個地址。默認是http://localhost:8761/eureka ;
#多個地址可使用 , 分隔。
eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/

 

8.給啟動類添加eureka服務器端開啟的注解

在啟動類中添加注解@EnableEurekaServer啟動一個服務注冊中心提供給其他應用進行對話。

package cn.kgc;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
//開啟注冊中心服務端
@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApplication.class, args);
    }

}

 

9.啟動服務端,並在瀏覽器訪問注冊中心

 

此帖子為原創

作者:紅酒人生

轉載請注明出處:https://www.cnblogs.com/holly8/p/11002943.html


免責聲明!

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



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