Eureka搭建

一、Eureka基本框架搭建

  1. pom.xml文件配置:主要是引入Eureka所依赖的jar包

     <?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">
    <modelVersion>4.0.0</modelVersion> <groupId>cn.ds</groupId>
    <artifactId>eureka-server-001</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging> <name>eureka-server-001</name>
    <description>Eureka服务-001</description> <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.3.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
    </parent> <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
    </properties> <dependencies>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- 引入Eureka服务 -->
    <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency> <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <scope>runtime</scope>
    </dependency>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
    </dependency>
    </dependencies> <dependencyManagement>
    <dependencies>
    <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies</artifactId>
    <version>${spring-cloud.version}</version>
    <type>pom</type>
    <scope>import</scope>
    </dependency>
    </dependencies>
    </dependencyManagement> <build>
    <plugins>
    <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
    </plugins>
    </build> </project>
  2. application.properties文件配置
     #    Eureka注册中心配置
    # server-port:项目端口号
    # spring-application-name:项目注册到Eureka显示的调用名称,类似于域名
    # eureka.client.register-with-erueka:是否将自己注册到Eureka,默认为true
    # eureka.client.fetch-registry:是否向Eureka获取注册信息,默认为true
    # spring.jmx.default-domain:区分spring-boot项目
    server.port = 8080
    spring.application.name = eureka-server-001
    eureka.client.register-with-eureka = false
    eureka.client.fetch-registry = false
    eureka.client.serviceurl.defaultZone = http://localhost:8080/eureka/
    spring.jmx.default-domain = erueka-server-001
  3. springBoot启动类配置:使用@EnableEurekaServer注解表明启动Eureka服务,使用@EnableDiscoveryClient这个注解也表明启动Eureka服务(建议使用这个注解),@EnableDiscoveryClient是基于spring-cloud-commons支持Eureka服务,zookeeper服务等,@EnableEurekaServer是基于spring-cloud-netflix支持Eureka服务
     package cn.yuzhenzi;
    
     import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; /**
    * @authod 玉眞子
    * @name sprigBoot启动类配置
    */
    @SpringBootApplication
    @EnableEurekaServer //启动注册中心
    public class Application { public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
    }
    }
  4. 测试
    1. 访问地址:http://[IP]:[端口号]:由于当前Eureka注册中心没有注册任何服务,所以当前在Instances cruuently registered with Eureka中看不到任何信息,在随后会注册服务到Eureka中
    2. 测试结果:如图所示则配置成功
    3. Eureka注册中心的简介:Eureka是基于Spring Cloud Netifix微服务套件中的一部分,它基于Netifix Eureka做了二次封装,主要负责完成微服务架构中的服务治理功能。Eureka主要做了两件事:一、服务注册:每个服务单元都会将自己的端口号,IP地址等信息告诉Eureka,Eureka按照服务名称将进行分类组织服务清单。二、服务发现:在微服务中,服务于服务之间不再是直接调用的关系了,而是通过向服务名发起请求调用实现,A服务想要请求B服务,按照原来的请求方式,B直接给A自己的api就可以直接调用,但是在微服务中,这样也可以请求的到,但是,但是,但是有个问题,我如果要做负载均衡呢?我不可能去使用固定的api接口地址吧,这就要用到Eureka的服务发现的功能了,具体怎么做后续的会说到,这里先说下原理,现在先把上面的A与B的模式改一下,我现在有创建了个和B相同的业务服务C,B和C用同一个服务名注册到Eureka注册中心中,当A发出请求时,首先经过的是Eureka注册中心,Eureka那个A发出请求的服务名,Eureka内部开始找这个服务名,找到之后,会将这个服务名下的业务服务列表返回个A服务,这样A就会拿到B或者C的真实api接口地址进行发送请求了。实际上框架为了考虑性能的原因,不会每次都向Eureka注册中心获取服务,并且不同的场景在缓存和服务剔除等机制上也会有一些不同的实现策略。

Eureka搭建的更多相关文章

  1. SpringCloud高可用Eureka搭建

    网上很多博客写的都是在本地一台机器上面搭建的,我用两台机器来为大家搭建一个注册中心高可用集群 第一步:需要在每一台机器上面搭建一个注册中心. 第二步:编写第一台机器注册中心配置文件 第三步:编写第二台 ...

  2. spring cloud 入门系列三:使用Eureka 搭建高可用服务注册中心

    在上一篇中分享了如何使用Eureka 进行服务治理,里面搭建的服务注册中心是单体的, 但是在实际的应用中,分布式系统为了防止单体服务宕机带来严重后果,一般都会采用服务器集群的形式,服务注册中心也是一样 ...

  3. SpringBoot整合Eureka搭建微服务

    1.创建一个services项目,添加三个子模块client(客户端).service(服务端).registry(注册中心) 1.1 创建一个services项目 1.2 添加pom.xml依赖 & ...

  4. SpringCloud之注册中心Eureka搭建

    POM: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring ...

  5. spring cloud: eureka搭建

    1. 添加pom 依赖: <parent> <groupId>org.springframework.boot</groupId> <artifactId&g ...

  6. 搭建高可用的Eureka注册中心

    搭建高可用的Eureka注册中心 一.搭建高可用的Eureka的作用 当服务器因种种原因导致Eureka注册中心(后面简称Eureka)服务当机(服务器跪了,异常关闭停止服务).这样就会影响到整个业务 ...

  7. 【springcloud】Eureka服务注册中心搭建

    转自:https://blog.csdn.net/pengjunlee/article/details/86538997 Spring Cloud是一系列框架的集合,它利用Spring Boot的开发 ...

  8. 使用Spring Cloud搭建服务注册中心

    我们在之前的博客中已经介绍过阿里的分布式服务框架dubbo[Linux上安装Zookeeper以及一些注意事项][一个简单的案例带你入门Dubbo分布式框架],但是小伙伴们应该也看到了,阿里的dubb ...

  9. SpringCloud-day03-服务注册与发现组件Eureka

    5.服务注册与发现组件Eureka 5.1Eureka简介: Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中 ...

随机推荐

  1. CodeForces - 600B Queries about less or equal elements (二分查找 利用stl)

    传送门: http://codeforces.com/problemset/problem/600/B Queries about less or equal elements time limit ...

  2. java中String、包装类、枚举类的引用传递

    一般情况下,我们认为Java中了除了八种基本数据类型,其他都是对象,进行引用传递: 但是:String.包装类.枚举类作为参数传递后发现,没有达到引用传递的效果,很多人认为它是值传递! 首先,对象肯定 ...

  3. Promise面试题

    题目一 const promise = new Promise((resolve, reject) => { console.log(1); resolve(); console.log(2); ...

  4. 23.POI导出

    POI导出 XSSFWorkbook 对应Excel2007版本及以上 HSSFWorkbook 对应Excel2003版本 还要注意一点,不要用Swagger-ui测试导出的表格,这样的表格文件都是 ...

  5. 互联网高级Java面试总结

    前不久刚换了单位,这段时间抽出时间来总结一下. 本人渣本毕业四年,无大厂工作经验,出来面高级Java. 上家单位是一个知名互联网平台,但是体量不大的小公司(5线互联网公司),但就是出名(职场人都知道~ ...

  6. maven pom 增加本地jar 依赖

    https://www.cnblogs.com/huhongy/p/7337280.html <dependency> <groupId>org.hamcrest</gr ...

  7. 路由器基本配置实验,静态路由和动态RIP路由

    实验涉及命令以及知识补充 连线 PC和交换机FastEtherNet接口 交换机和路由器FastEtherNet接口 路由器和路由器Serial接口 serial是串行口,一般用于连接设备,不能连接电 ...

  8. 获取APP地图权限

    获取APP地图权限 NSLocationWhenUseUsageDescription,在info里面设置为空

  9. Vue--- Vue(Pubsub + Ajax) 数据交互

    案例知识点 兄弟组件儿的通信     使用了Pubsub    订阅与发布 ajax数据请求    获取前   获取中   获取后   获取为空    获取异常 获取成功后显示数据给到  原先定义号的 ...

  10. QP之QEP原理

    1.QP简介: 量子平台(Quantum Platform, 简称QP)是一个用于实时嵌入式系统的软件框架,QP是轻量级的.开源的.基于层次式状态机的.事件驱动的平台. QP包括事件处理器(QEP). ...