eureka服务

Eureka注册中心

1.问题:在上面代码中我们把http请求的url写死了,但是实际中ip可能变,且有可能一个集群提供了同一个服务,他们的ip不同,端口可能也不同,这个时候应该如何选择服务,如何获取服务地址,如何得知服务者的健康信息

2.解决流程:

(1)每个服务进入时都要向注册中心报备,当一个order-service需要调用user-service时,他会问注册中心提供user-service的url,得到这些信息以后,order-service通过负载均衡算法选择url访问。

那么如何确认服务的健康状态?user-service每过30秒发送一个心跳,若注册中心过期没收到,那么不再向其他服务提供这个url

一、搭建eureka服务

1.引入依赖

ps:注意这里compiler版本应该是8 ,涉及到兼容问题

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
    </dependencies>

2.编写启动类,添加注解

3.编写yml文件,编写配置

server:
  port: 10086 #服务端口
spring:
  application:
    name:eurekaserver #eureka服务名称
eureka:
  client:
    service-url: #eureka地址信息
      defaultZone: http://localhost:10086/eureka

二、将user-service等服务注册到注册中心

1.在user-service中加入eureka客户端依赖

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

2. 在user-service中加入配置

ps:包括在eureka中注册的名字,以及写入eureka-service的地址等

server:
  port: 8081
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/cloud-user?useSSL=false
    username: root
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver
  application:
    name: userservice #user服务名称
mybatis:
  type-aliases-package: cn.itcast.user.pojo
  configuration:
    map-underscore-to-camel-case: true
logging:
  level:
    cn.itcast: debug
  pattern:
    dateformat: MM-dd HH:mm:ss:SSS
eureka:
  client:
    service-url: #eureka地址信息
      defaultZone: http://localhost:10086/eureka

3. 复制应用查看注册中心能否检测到

4.结果

三、服务发现

在前言中提到,注册中心会向服务消费者提供可用服务的url,那么消费者如何告诉注册中心我需要哪个服务呢?或者说如果不写死localhost:8080消费者如何利用服务中心调用服务呢?答案是通过服务名,即application name,使用name代替ip和端口,如图

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值