一. 因为使用一个注册中心服务器端,n个客户端:n个生产者客户端、n消费者客户端....,所有的客户端最好的方式就是通过对象传递参数,因此需要创建一个公共组件项目,为n个客户端传值提供方便

 

二、创建公共组件项目

1.创建公共组件项目,因为只是数据传输层共用,因此创建普通maven项目就好

springcloud(三):Eureka服务端_maven

 

2.给公共组件项目起名字

springcloud(三):Eureka服务端_ide_02

 

 3.maven的配置

springcloud(三):Eureka服务端_spring_03

 

4.同理,为了在一个窗口好查阅,我们创建独立的项目模块

springcloud(三):Eureka服务端_客户端_04

 

5.创建如下项目结构

springcloud(三):Eureka服务端_ide_05

 

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本地仓库地址

springcloud(三):Eureka服务端_maven_06

springcloud(三):Eureka服务端_spring_07

springcloud(三):Eureka服务端_ide_08

springcloud(三):Eureka服务端_spring_09

 

 springcloud(三):Eureka服务端_spring_10

看到此处我们的公共组件就已经打成jar文件

 

三、创建eureka服务端项目

1.创建项目

springcloud(三):Eureka服务端_spring_11

 

2.选择创建项目的类型

springcloud(三):Eureka服务端_spring_12

 

 3.输入group 的值和模块名称

springcloud(三):Eureka服务端_ide_13

 

4. 因为我们创建的是eureka服务器端,因此只产生服务器依赖

springcloud(三):Eureka服务端_spring_14

 

 5.指定工程存放路径和项目即模块名称

springcloud(三):Eureka服务端_maven_15

 

 6.查看已经创建好的项目结构

springcloud(三):Eureka服务端_maven_16

 

 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.启动服务端,并在浏览器访问注册中心

springcloud(三):Eureka服务端_spring_17