• springcloud:Eureka的使用


    1.认识Eureka

    服务的管理。

    问题分析

    在刚才的案例中,itcast-service-provider对外提供服务,需要对外暴露自己的地址。而consumer(调用者)需要记录服务提供者的地址。将来地址出现变更,还需要及时更新。这在服务较少的时候并不觉得有什么,但是在现在日益复杂的互联网环境,一个项目肯定会拆分出十几,甚至数十个微服务。此时如果还人为管理地址,不仅开发困难,将来测试、发布上线都会非常麻烦,这与DevOps的思想是背道而驰的。

    网约车

    这就好比是 网约车出现以前,人们出门叫车只能叫出租车。一些私家车想做出租却没有资格,被称为黑车。而很多人想要约车,但是无奈出租车太少,不方便。私家车很多却不敢拦,而且满大街的车,谁知道哪个才是愿意载人的。一个想要,一个愿意给,就是缺少引子,缺乏管理啊。

    此时滴滴这样的网约车平台出现了,所有想载客的私家车全部到滴滴注册,记录你的车型(服务类型),身份信息(联系方式)。这样提供服务的私家车,在滴滴那里都能找到,一目了然。

    此时要叫车的人,只需要打开APP,输入你的目的地,选择车型(服务类型),滴滴自动安排一个符合需求的车到你面前,为你服务,完美!

    Eureka做什么?

    Eureka就好比是滴滴,负责管理、记录服务提供者的信息。服务调用者无需自己寻找服务,而是把自己的需求告诉Eureka,然后Eureka会把符合你需求的服务告诉你。

    同时,服务提供方与Eureka之间通过“心跳”机制进行监控,当某个服务提供方出现问题,Eureka自然会把它从服务列表中剔除。

    这就实现了服务的自动注册、发现、状态监控。

    重要!!!:

    添加SpringCloud依赖:

    <!-- SpringCloud的依赖 -->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Finchley.SR2</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    2.注册到Eureka

    注册服务,就是在服务上添加Eureka的客户端依赖,客户端代码会自动把服务注册到EurekaServer中。

    修改itcast-service-provider工程

    1. 在pom.xml中,添加springcloud的相关依赖。

    2. 在application.yml中,添加springcloud的相关依赖。

    3. 在引导类上添加注解,把服务注入到eureka注册中心。

    然后是Eureka客户端:

    <!-- Eureka客户端 -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>

    application.yml:

    server:
      port: 8081
    spring:
      datasource:
        url: jdbc:mysql://localhost:3306/heima
        username: root
        password: root
        driverClassName: com.mysql.jdbc.Driver
      application:
        name: service-provider # 应用名称,注册到eureka后的服务名称
    mybatis:
      type-aliases-package: cn.itcast.service.pojo
    eureka:
      client:
        service-url: # EurekaServer地址
          defaultZone: http://127.0.0.1:10086/eureka

    注意:

    • 这里我们添加了spring.application.name属性来指定应用名称,将来会作为应用的id使用。

    2.3.引导类

    在引导类上开启Eureka客户端功能

    通过添加@EnableDiscoveryClient来开启Eureka客户端功能

    @SpringBootApplication
    @EnableDiscoveryClient
    public class ItcastServiceProviderApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(ItcastServiceApplication.class, args);
        }
    }
  • 相关阅读:
    常见的等待事件如何处理
    oracle常见的等待事件
    12c建立物化视图出现ORA-23319错误
    ORA-07445: exception encountered: core dump [qsmmixGetIdxKeyStats()+231] [SIGSEGV] [ADDR:0x8] [PC:0x58AE44F] [Address not mapped to object] []
    Idea的Debug调试快捷键
    C# 程序禁止重复启动
    C#.Net与SQLServer时间范围的最小值最大值
    MySQL-8.0.20
    Flask框架
    Docker常用命令
  • 原文地址:https://www.cnblogs.com/flypig666/p/11710361.html
Copyright © 2020-2023  润新知