一. 因為使用一個注冊中心服務器端,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