SpringBoot整合Eureka

Eureka简介

Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。

微服务架构中最核心的部分是服务治理,服务治理最基础的组件是注册中心。随着微服务架构的发展,出现了很多微服务架构的解决方案,其中包括我们熟知的 Dubbo 和 Spring Cloud。

关于注册中心的解决方案,dubbo 支持了 Zookeeper、Redis、Multicast 和 Simple,官方推荐 Zookeeper。Spring Cloud 支持了 Zookeeper、Consul 和 Eureka,官方推荐 Eureka。

Eureka Server 搭建

1 添加依赖
		<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
	
	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>

在这里插入图片描述

2 配置 application.yml
spring:
  application:
    name: eureka-service

server:
  port: 2001    #默认端口 8761

eureka:
  server:
    #禁用保护模式  一般用于测试
    enable-self-preservation: false
  instance:
    # 主机名为了区分集群中不同的服务器
    hostname: eureka1

  # 针对单台服务器,不向自己注册,也不从自己拉取。  用于单台配置
  client:
    register-with-eureka: false
    fetch-registry: false
3 主启动类添加注解@EnableEurekaServer
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@EnableEurekaServer
@SpringBootApplication
public class Sp05EurekaApplication {

    public static void main(String[] args) {
        SpringApplication.run(Sp05EurekaApplication.class, args);
    }

}
4 修改 hosts 文件,添加 eureka 域名映射

host文件地址:

C:\Windows\System32\drivers\etc\hosts

添加内容:

127.0.0.1       eureka1
5 测试

访问地址:
http://eureka1:2001
在这里插入图片描述

Eureka Client 搭建

1 添加依赖
<!--添加eureka依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        
        <!--主要用于管理eureka 版本-->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>2020.0.0</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

在这里插入图片描述

2 配置 application.yml
# yml, yaml, Yet another markup language
# yet 已经   markup 利润,涨价 标记

#应用名, 作为“服务id”,注册到注册中心
spring:
  application:
    name: item-service

#8001, 8101, 8201
server:
  port: 8001

eureka:
  client:
    service-url:
      # defaultZone 默认地点
      # 如果用云服务, 可以配置不同的地点,自己配置必须指定
      defaultZone: http://eureka1:2001/eureka
3 测试

访问:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值