SpringCloud学习之整合eureka

一:eureka简介 

  1.eureka遵守cap原则里的AP原则,即高可用和分区容错性

    CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得

  2.eureka的地位

    Eureka 模块来实现服务注册和发现,Eureka Server作为服务的注册中心,其他微服务通过Eureka client 连接到 Eureka Server并维持心跳连接

 

  3. eureka的角色

    3.1 eureka server提供服务注册和发现

    3.2 Service Provider 服务提供方将自身服务注册进入eureka,从而使consumer能够通过eureka找到

    3.3 Service Consumer服务消费方从Eureka获取注册服务列表,从而能够消费服务

二: 整合eureka

  前提: 基于 https://www.cnblogs.com/zhanyifan/p/10693869.html 的基础环境进行整合eureka

  1. 创建maven module ---- microservicecloud-eureka-7001

    1.1 修改pom

      注意: 这里的eureka server端采用 spring-cloud-starter-eureka-server 而非 spring-cloud-starter-netflix-eureka-server,本人采用spring-cloud-starter-netflix-eureka-server 进行eureka server进行注册时候,client 端无法注册进eureka

xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>microservicecloudartifactId>
        <groupId>com.ligong.springcloudgroupId>
        <version>1.0-SNAPSHOTversion>
    parent>
    <modelVersion>4.0.0modelVersion>
    <artifactId>microservicecloud-eurekaartifactId>
    <dependencies>
        
        <dependency>
            <groupId>org.springframework.cloudgroupId>
            <artifactId>spring-cloud-starter-eureka-serverartifactId>
            <version>1.4.6.RELEASEversion>
        dependency>
        
            
            
        
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>springloadedartifactId>
            <version>1.2.8.RELEASEversion>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-devtoolsartifactId>
            <version>2.1.4.RELEASEversion>
        dependency>
    dependencies>
project>

    1.2 修改application.yml

 

server:
  port: 7001
eureka:
  instance:
    hostname: eureka7001.com #eureka 服务端的实例名称 这里进行了主机映射,为了是方便后面的eureka集群配置
  client:
    register-with-eureka: false # false表示不向注册中心注册自己
    fetch-registry: false #false 表示自己端就是注册中心,我的职责是维护服务实例,并不需要去检索服务
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址

    1.3 添加SpringBoot 主启动类  

@SpringBootApplication
@EnableEurekaServer
public class EurekaService7001App {
    public static void main(String[] args) {
        SpringApplication.run(EurekaService7001App.class,args);
    }
}

    1.4 启动EurekaService7001App, 并访问eureka7001.com:7001

    SpringCloud学习之整合eureka_第1张图片

    如果能看到此页面,说明eureka搭建成功,这里我已经搭建完毕了eureka集群,已经微服务的注册,所以能看到的信息会多些,刚做到这步的时候 installces currently registered with eureka下应该为No application available

  2.修改provider module

    2.1 修改pom

      新增以下依赖,注意不是spring-cloud-starter-eureka-server 是 spring-cloud-starter-eureka 没有-server

 <dependency>
   <groupId>org.springframework.cloudgroupId>
   <artifactId>spring-cloud-starter-eurekaartifactId>
    <version>1.4.6.RELEASEversion>
 dependency>
 <dependency>
   <groupId>org.springframework.cloudgroupId>
    <artifactId>spring-cloud-starter-configartifactId>
 dependency>

    2.2 修改application.yml

 

    新增以下内容

eureka:
  client:
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka/

    2.3 在主启动类上添加@EnableEurekaClient 注解

 

@SpringBootApplication
@EnableEurekaClient
public class DeptProvider8080App {
    public static void main(String[] args) {
        SpringApplication.run(DeptProvider8080App.class,args);
    }
}

    2.4 测试

      2.4.1 先启动eureka,

      2.4.2 再启动provider微服务

      

      如果在eureka的进程中出现这句话,说明服务注册成功。

      你也可以到eureka7001.com:7001上查看,会出现

      

 

       说明服务注册成功,至此,eureka的整合基本完成

    

转载于:https://www.cnblogs.com/zhanyifan/p/10699687.html

你可能感兴趣的:(SpringCloud学习之整合eureka)