Eureka搭建
Eureka搭建
一、Eureka基本框架搭建
- 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> - 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 - 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);
}
} - 测试
- 访问地址:http://[IP]:[端口号]:由于当前Eureka注册中心没有注册任何服务,所以当前在Instances cruuently registered with Eureka中看不到任何信息,在随后会注册服务到Eureka中
- 测试结果:如图所示则配置成功

- 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注册中心获取服务,并且不同的场景在缓存和服务剔除等机制上也会有一些不同的实现策略。
- 访问地址:http://[IP]:[端口号]:由于当前Eureka注册中心没有注册任何服务,所以当前在Instances cruuently registered with Eureka中看不到任何信息,在随后会注册服务到Eureka中
Eureka搭建的更多相关文章
- SpringCloud高可用Eureka搭建
网上很多博客写的都是在本地一台机器上面搭建的,我用两台机器来为大家搭建一个注册中心高可用集群 第一步:需要在每一台机器上面搭建一个注册中心. 第二步:编写第一台机器注册中心配置文件 第三步:编写第二台 ...
- spring cloud 入门系列三:使用Eureka 搭建高可用服务注册中心
在上一篇中分享了如何使用Eureka 进行服务治理,里面搭建的服务注册中心是单体的, 但是在实际的应用中,分布式系统为了防止单体服务宕机带来严重后果,一般都会采用服务器集群的形式,服务注册中心也是一样 ...
- SpringBoot整合Eureka搭建微服务
1.创建一个services项目,添加三个子模块client(客户端).service(服务端).registry(注册中心) 1.1 创建一个services项目 1.2 添加pom.xml依赖 & ...
- SpringCloud之注册中心Eureka搭建
POM: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring ...
- spring cloud: eureka搭建
1. 添加pom 依赖: <parent> <groupId>org.springframework.boot</groupId> <artifactId&g ...
- 搭建高可用的Eureka注册中心
搭建高可用的Eureka注册中心 一.搭建高可用的Eureka的作用 当服务器因种种原因导致Eureka注册中心(后面简称Eureka)服务当机(服务器跪了,异常关闭停止服务).这样就会影响到整个业务 ...
- 【springcloud】Eureka服务注册中心搭建
转自:https://blog.csdn.net/pengjunlee/article/details/86538997 Spring Cloud是一系列框架的集合,它利用Spring Boot的开发 ...
- 使用Spring Cloud搭建服务注册中心
我们在之前的博客中已经介绍过阿里的分布式服务框架dubbo[Linux上安装Zookeeper以及一些注意事项][一个简单的案例带你入门Dubbo分布式框架],但是小伙伴们应该也看到了,阿里的dubb ...
- SpringCloud-day03-服务注册与发现组件Eureka
5.服务注册与发现组件Eureka 5.1Eureka简介: Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中 ...
随机推荐
- 02_Linux 终端命令格式
01. 终端命令格式 command [-options] [parameter] 说明: command:命令名,相应功能的英文单词或单词的缩写 [-options]:选项,可用来对命令进行控制,也 ...
- python学习笔记--变量和运算符
一.变量命名规则 1.字母.数字.下划线组成 2.不以数字开头 3.关键字(也叫保留字),不能用作变量名 4.遵循PEP8命名规范 二.变量赋值 1.赋值符号 = 2.多重赋值 x=y=123 3.多 ...
- 動態SQL運用實例
動態SQL運用實例 語法8.1.6之前: EXECUTE IMMEDIATE dynamic_sql_string [INTO {define_var1 [, define_var2] ... | p ...
- 如何使用Xcode的Targets来管理开发和生产版本的构建
如何使用Xcode的Targets来管理开发和生产版本的构建 想象一下,你已经完成了应用程序的开发和测试,现在准备提交正式版本.问题是,一些web服务的url指向了测试服务器,同时API密钥被配置用于 ...
- iOS之出现( linker command failed with exit code 1)错误总结
本文出自:http://blog.csdn.NET/hengshujiyi/article/details/21182813 补充:我出现这个错误是一个工程中有两个同名的文件,只要删除掉一个就好了,可 ...
- 2、开发环境搭建-window平台
一.搭建ReactNative环境 首先安装node.js和python2.xx版本,不要装python3.xx,这个官方是特别说明的,请注意.NodeJs官方下载:https://nodejs.or ...
- CentOS 7 以上防火墙简单配置
CentOS 7 版本以上默认的防火墙不是iptables,而是firewalle. 因此CentOS 7 以下的 iptables 的配置不能使用. 查看防火墙状态: systemctl statu ...
- Co. - Microsoft - Windows - 通过任务计划,备份本地MySQL,数据上传Linux备份服务器
需求 客户为Windows系统,安装MySQL,需要每日备份数据库到指定目录,并且上传到公司的备份服务器(Linux). 1.使用mysqldump备份MySQL数据库,使用FTP上传到阿里云Linu ...
- 类的特殊方法"__new__"详解
上代码! class A: def __new__(cls, *args, **kwargs): obj = super().__new__(cls) print("__new__ &quo ...
- linux wdcp3 上传大文件 服务器i/o错误
在一次上传大文件时 提示 服务器i/o错误 找了些方法都没有解决 最后发现 wdcp3 面板 默认安装时 web服务器引擎是 nginx + apache 共用 而且 nginx 默认并没与安装 ...