Eureka搭建

一、Eureka基本框架搭建

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

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    4. <modelVersion>4.0.0</modelVersion>
    5.  
    6. <groupId>cn.ds</groupId>
    7. <artifactId>eureka-server-001</artifactId>
    8. <version>0.0.1-SNAPSHOT</version>
    9. <packaging>jar</packaging>
    10.  
    11. <name>eureka-server-001</name>
    12. <description>Eureka服务-001</description>
    13.  
    14. <parent>
    15. <groupId>org.springframework.boot</groupId>
    16. <artifactId>spring-boot-starter-parent</artifactId>
    17. <version>2.0.3.RELEASE</version>
    18. <relativePath/> <!-- lookup parent from repository -->
    19. </parent>
    20.  
    21. <properties>
    22. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    23. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    24. <java.version>1.8</java.version>
    25. <spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
    26. </properties>
    27.  
    28. <dependencies>
    29. <dependency>
    30. <groupId>org.springframework.boot</groupId>
    31. <artifactId>spring-boot-starter-web</artifactId>
    32. </dependency>
    33. <!-- 引入Eureka服务 -->
    34. <dependency>
    35. <groupId>org.springframework.cloud</groupId>
    36. <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    37. </dependency>
    38.  
    39. <dependency>
    40. <groupId>org.springframework.boot</groupId>
    41. <artifactId>spring-boot-devtools</artifactId>
    42. <scope>runtime</scope>
    43. </dependency>
    44. <dependency>
    45. <groupId>org.springframework.boot</groupId>
    46. <artifactId>spring-boot-starter-test</artifactId>
    47. <scope>test</scope>
    48. </dependency>
    49. </dependencies>
    50.  
    51. <dependencyManagement>
    52. <dependencies>
    53. <dependency>
    54. <groupId>org.springframework.cloud</groupId>
    55. <artifactId>spring-cloud-dependencies</artifactId>
    56. <version>${spring-cloud.version}</version>
    57. <type>pom</type>
    58. <scope>import</scope>
    59. </dependency>
    60. </dependencies>
    61. </dependencyManagement>
    62.  
    63. <build>
    64. <plugins>
    65. <plugin>
    66. <groupId>org.springframework.boot</groupId>
    67. <artifactId>spring-boot-maven-plugin</artifactId>
    68. </plugin>
    69. </plugins>
    70. </build>
    71.  
    72. </project>
  2. application.properties文件配置
    1. # Eureka注册中心配置
    2. # server-port:项目端口号
    3. # spring-application-name:项目注册到Eureka显示的调用名称,类似于域名
    4. # eureka.client.register-with-erueka:是否将自己注册到Eureka,默认为true
    5. # eureka.client.fetch-registry:是否向Eureka获取注册信息,默认为true
    6. # spring.jmx.default-domain:区分spring-boot项目
    7. server.port = 8080
    8. spring.application.name = eureka-server-001
    9. eureka.client.register-with-eureka = false
    10. eureka.client.fetch-registry = false
    11. eureka.client.serviceurl.defaultZone = http://localhost:8080/eureka/
    12. spring.jmx.default-domain = erueka-server-001
  3. springBoot启动类配置:使用@EnableEurekaServer注解表明启动Eureka服务,使用@EnableDiscoveryClient这个注解也表明启动Eureka服务(建议使用这个注解),@EnableDiscoveryClient是基于spring-cloud-commons支持Eureka服务,zookeeper服务等,@EnableEurekaServer是基于spring-cloud-netflix支持Eureka服务
    1. package cn.yuzhenzi;
    2.  
    3. import org.springframework.boot.SpringApplication;
    4. import org.springframework.boot.autoconfigure.SpringBootApplication;
    5. import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
    6.  
    7. /**
    8. * @authod 玉眞子
    9. * @name sprigBoot启动类配置
    10. */
    11. @SpringBootApplication
    12. @EnableEurekaServer //启动注册中心
    13. public class Application {
    14.  
    15. public static void main(String[] args) {
    16. SpringApplication.run(Application.class, args);
    17. }
    18. }
  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. 【题解】洛谷P1731 [NOI1999] 生日蛋糕(搜索+剪枝)

    洛谷P1731:https://www.luogu.org/problemnew/show/P1731 思路 三重剪枝 当前表面积+下一层表面积如果超过最优值就退出 当前体积+下一层体积如果超过总体积 ...

  2. 20.springboot项目部署到linux服务器文件上传临时路径处理问题

    1.前言 把项目部署到服务器上之后,文件上传默认会在/tmp路径中. 之前想了各种解决办法,比如如何更改这个上传路径...... 最后发现不是个好的方法,当然就想到了更好的解决方案. 就是我把上传文件 ...

  3. 为什么需要Vlan ? Vlan实现原理 ? 不同Vlan的通信 ?

    好文章!!良心推荐!!! 原文链接 https://blog.csdn.net/cwm_meng_home/article/details/49762807

  4. js关于if(''==0)

    在js当中,如下注意 if(''==0){ alert("空字符代表false"); } 空字符串代表false 0代表false false==false 结果就为true了

  5. 第十四届浙江财经大学程序设计竞赛重现赛--A-A Sad Story

    链接:https://www.nowcoder.com/acm/contest/89/A 来源:牛客网 1.题目描述 The Great Wall story of Meng Jiangnv’s Bi ...

  6. Percona-Tookit工具包之pt-kill

      Preface       Sometimes,we are determined to kill some MySQL connections which are occupying huge ...

  7. Ansible自动化配置详解

    第1章 Ansible基本概述 1.1 ansible是一个配置管理系统configuration management system, 你只需要可以使用ssh访问你的服务器或设备就行. 1.安装软件 ...

  8. 创建私有CA并签发证书

    一.创建私有CA 1.创建所需要的文件 2.创建私有密钥 3.CA自签证书 -new: 生成新证书签署请求:               -x509: 专用于CA生成自签证书:不自签的时候不要加该选项 ...

  9. ECSHOP和SHOPEX快递单号查询百世快递插件V8.6专版

    发布ECSHOP说明: ECSHOP快递物流单号查询插件特色 本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅 ...

  10. SVN 命令整理

    1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.35/pro/domain 如果开 ...