zoukankan      html  css  js  c++  java
  • Spring Cloud系列之Eureka服务治理

    写在前面

    Spring Cloud Eureka是基于Netflix Eureka做的二次封装.主要包含两部分:

    服务注册中心 eureka server
    服务提供者 eureka client

    ps:Netflix提供的模式包括服务发现(eureka),断路器(hystrix),智能路由(zuul)和客户端负载平衡(ribbon)

    服务注册中心

    创建服务注册中心

    1.新建项目,这里我使用的是IDE是idea,
    这里写图片描述
    2.勾选依赖
    这里写图片描述
    后面,选择好项目的存储路径,就完成了项目的初始化了.初始化比较慢的话,建议把自己的maven镜像源改为国内的,例如:阿里的.
    3.项目构建完成之后,可以简单查看pom文件
    这里写图片描述
    主要想说一下,关于SpringBoot和SpringCloud版本匹配问题,如果,没什么特殊要求,默认就好.如果想要修改版本,可以查看官网的版本对照表来选择合适的版本
    https://projects.spring.io/spring-cloud/
    4.在启动之前,修改配置文件

    #修改服务端口(看自己)
    server:
      port: 8088
    #设置运用的名称
    spring:
      application:
        name: eureka-server
    #覆盖默认eureka server地址
    eureka:
      client:
        service-url:
          defaultZone: http://localhost:8088/eureka/
    

    5.启动类上面添加@EnableEurekaServer的注解,这样才表示你有注册中心这个功能

    @SpringBootApplication
    @EnableEurekaServer
    public class EurekaApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(EurekaApplication.class, args);
        }
    }

    6.启动测试,web地址:http://127.0.0.1:8088
    这里写图片描述

    说明:在默认设置下,Eureka服务注册中心也会将自己作为客户端来尝试注册它自己,所以我们需要禁用它的客户端注册行为。

    7.禁用注册行为
    这里写图片描述

    测试访问;
    这里写图片描述
    已经没有server.

    服务提供者

    这里我创建项目和之前类似,主要是在依赖选择这里需要注意
    这里写图片描述
    等待项目构建完成,简单查看pom文件
    这里写图片描述
    还是版本问题,最好是和之前选择的保持一致

    接下来,就要考虑如何才能把我们这个服务注册到 之前的注册中心去呢?

    这里肯定是需要配置一下的,

    #修改服务端口,这个端口不能和注册中心冲突
    server:
      port: 8762
    #设置运用的名称
    spring:
      application:
        name: eureka-client01
    #注册中心地址
    eureka:
      client:
        service-url:
          defaultZone: http://localhost:8761/eureka/

    接着,在启动类上添加注解@EnableDiscoveryClient

    @SpringBootApplication
    @EnableDiscoveryClient
    public class ClientApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(ClientApplication.class, args);
        }
    }

    启动测试,测试的时候,会发现我们的client老是不能启动成功.
    原因是因为M9版本的discoveryclient是没有集成spring-boot-starter-web的依赖的.
    在pom文件中添加依赖:

    <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>

    重新测试启动:
    这里写图片描述

    好的,到这里就结束啦..后面会继续更新自己的学习笔记..

  • 相关阅读:
    备份服务-Rsync
    mysql查询语句,int类型加引号居然也能查
    echo显示带颜色
    python读文件
    python发送邮件
    javadoc源码获取
    mac修改终端用户名
    [tomcat]-tomcat8启动时SessionIdGeneratorBase.createSecureRandom耗时
    shell运算符
    shell中$*和$@ 两个都区别
  • 原文地址:https://www.cnblogs.com/liuge36/p/12614820.html
Copyright © 2011-2022 走看看