SpringCloud-服务与注册 (2)

 

SpringCloud-服务与注册

 

 

 

概况:Provider Consumer 分别作为服务启动,并且注册到 Eureka 上面去,以 provider 为例,provider 注册时会告诉 eureka,我叫 provider,我的地址是 xx.xx.xx.xx,我的端口是 xx,我的 xx xx,就是说,provider 会将自己的一些元数据信息告诉 eureka;同理,consumer 也是如此。

接下来,consumer 要调用 provider 的接口,但是它不知道 provider 的地址是什么,他只知道要调用的服务叫 provider,于是 consumer 找到 eureka,从 eureka 上查询出来 provider 的具体地址和端口,这个具体的地址和端口,可能是一个,也可能是多个(集群化部署)

4.项目集成搭建 4.1创建服务中心Eureka

创建子项目microservicecloud-eureka-7001

Pom 添加依赖

<!--eureka-server服务端 -->

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-eureka-server</artifactId>

</dependency>

 

配置文件

application.yml

server: 

  port: 7001

 

eureka: 

  instance:

    hostname: eureka7001.com #eureka服务端的实例名称

  client: 

    register-with-eureka: false     #false表示不向注册中心注册自己。

    fetch-registry: false     #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务

    service-url: 

      defaultZone: ${eureka.instance.hostname}:${server.port}/eureka/       #设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址(单机)。

      

启动类:

@SpringBootApplication

@EnableEurekaServer // EurekaServer服务器端启动类,接受其它微服务注册进来

public class EurekaServer7001_App {

public static void main(String[] args) {

SpringApplication.run(EurekaServer7001_App.class, args);

}

}

 

启动测试:

:7001/

 

4.2服务的注册进Eureka

创建提供服务的客户端,并向服务注册中心注册自己。

1.引两个包

如修改8001工程,pom.xml 添加这两个包:

<!-- 将微服务provider侧注册进eureka -->

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-eureka</artifactId>

</dependency>

 

 

 

2.修改8001 yml,后面追加

eureka:

  client: #客户端注册进eureka服务列表内

    service-url: 

      defaultZone: :7001/eureka

 

3.修改8001启动类,添加注解

@EnableEurekaClient//表明是Eureka客户端

 

4.测试:7001/

就可以看到服务名了。

 

 

SpringCloud-服务与注册

 

4.3 Eureka的高可用性

Eureka Server除了单点运行之外,还可以通过运行多个实例,并进行互相注册的方式来实现高可用的部署

Eureka的集群配置

1.原理:把功能多部署几份应当高并发的请求提供服务。

2.搭建eureka-7002eureka-7003,

复制eureka-7001pom文件、启动类、yml文件,改相应的名称;

修改系统hosts文件映射:

添加

127.0.0.1 eureka7001.com

127.0.0.1 eureka7002.com

127.0.0.1 eureka7003.com

 

每个注册中心yml文件,两两注册,配置集群:

defaultZone: :7002/eureka/,:7003/eureka/

 

相应的客户端8001也修改yml文件

defaultZone: :7001/eureka/,:7002/eureka/,:7003/eureka/

 

可以看到集群信息:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wssfyj.html