微服务注册/发现组件Eureka注册中心

目录

1.提出问题

2.Eureka注册中心

2.1.Eureka的使用场景

2.2.Eureka的作用

注意

3.Eureka集群

4.Eureka组件的使用步骤

4.1.搭建eureka-server微服务

1.在父工程里创建eureka-server工程

2.在eureka-server工程中pom.xml中导入eureka依赖

3.在eureka-server工程启动类中添加@EnableEurekaServer注解开启eureka的注册中心功能

4.在eureka-server工程application.yml文件中添加配置

4.2.将服务注册到eureka-server中

1.在服务工程pom.xml中引入eureka-client依赖:

2.在服务工程application.yml配置文件,添加服务名称、eureka地址:

4.3启动微服务,然后在浏览器访问:http://127.0.0.1:10086(上面配置的路径)

5.启动多个相同服务的方法(集群)

1.复制原来服务的启动配置

2.在弹出的窗口中,填写信息

3.启动两个服务:

4.查看eureka-server管理页面

6.优化访问的url路径,用服务名代替ip、端口


1.提出问题

1.在发起远程调用的时候,该如何得知被调用者的ip地址和端口?

Eureka组件:作用是服务的注册和发现,让消费者获得服务者的地址.

Eureka本身也是服务器此服务器包括Server 和Client(用于创建集群)

Eureka Server 提供服务发现的功能, 各个微服务会将自己的信息注册到Eureka Server。

Eureka Client 即服务提供者,将其信息注册到Eureka Server上面。

2.如何得知某个被访问者是否存活,是不是已经宕机?

心跳续约:微服务会周期性(默认30秒)地向Eureka Server 发送心跳以维持自己的注册状态,如果Eureka Server 在一定时间(默认90秒)没有接受到某个微服务实例的心跳,Eureka Server 将会注销该实例。

2.Eureka注册中心

2.1.Eureka的使用场景

应用场景:多个不同的服务需要合并在一起对外提供服务的情况下

比如:订单信息中需要携带用户信息,订单服务调用用户服务

2.2.Eureka的作用

1.Eureka是服务注册中心,作用是服务的注册和发现,管理服务的注册服务信息,让消费者获得服务者的地址

2.如果服务者有多个地址则通过负载均衡算法选中一个地址发起远程调用

3.帮助消费者定时更新服务提供者的健康状态

Eureka本身也是服务器此服务器包括Server 和Client(用于创建集群)

Eureka Server 提供服务发现的功能, 各个微服务会将自己的信息注册到Eureka Server。

Eureka Client 即服务提供者,将其信息注册到Eureka Server上面。

注意

1.服务一启动,注册服务信息就会交给注册中心管理

2.消费者每30秒拉取一次服务信息

3.心跳续约:微服务会周期性(默认30秒)地向Eureka Server 发送心跳以维持自己的注册状态,如果Eureka Server 在一定时间(默认90秒)没有接受到某个微服务实例的心跳,Eureka Server 将会注销该实例。

4.剔除机制:Eureka Server在启动完成后会创建一个定时器每隔60秒检查一次服务健康状况,如果其中一个服务节点超过90秒未检查到心跳,那么会自动从服务实例列表内将该服务剔除。

5.自我保护机制:如果存活的服务节点低于85%就会被触发自我保护机制,剔除机制将不会再执行

3.Eureka集群

1.EurekaJar包雌雄同体:既有客户端也有服务端

作用:为了创建Eureka集群,防止宕机导致全部服务瘫痪(雪崩)

4.Eureka组件的使用步骤

4.1.搭建eureka-server微服务

1.在父工程里创建eureka-server工程
2.在eureka-server工程中pom.xml中导入eureka依赖
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
3.在eureka-server工程启动类中添加@EnableEurekaServer注解开启eureka的注册中心功能
@SpringBootApplication
@EnableEurekaServer//开启注册中心功能
public class EurekaApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class, args);
    }
}
4.在eureka-server工程application.yml文件中添加配置
server:
  port: 10086
spring:
  application:
    name: eureka-server
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka
    register-with-eureka: false # 不注册自己
    fetch-registry: false #不拉取服务本eureka服务中的服务信息

4.2.将服务注册到eureka-server中

1.在服务工程pom.xml中引入eureka-client依赖:
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
2.在服务工程application.yml配置文件,添加服务名称、eureka地址:
spring:
  application:
    name: userservice	#自定义
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka
  instance: # 在Eureka中显示服务的ip地址
    ip-address: 127.0.0.1 # 配置服务器ip地址
    prefer-ip-address: true # 更倾向于使用ip,而不是host名
    instance-id: ${eureka.instance.ip-address}:${server.port} # 自定义实例的id

4.3启动微服务,然后在浏览器访问:http://127.0.0.1:10086(上面配置的路径)

5.启动多个相同服务的方法(集群)

1.复制原来服务的启动配置

2.在弹出的窗口中,填写信息

3.启动两个服务:

4.查看eureka-server管理页面

6.优化访问的url路径,用服务名代替ip、端口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值