栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Spring Cloud系列(二)——实践

Spring Cloud系列(二)——实践

Spring Cloud系列(二)——实践 搭建账单微服务工程

账单工程(bill)是我之前的一个spring boot项目,以下是将其重构为spring cloud项目的过程

0. 建一个空工程spring-cloud-bill便于管理各个微服务

1. 创建EurekaServer

    在刚刚的空工程下新建一个module,选择Spring Initializr——starter service URL:如果default选项点击下一步后需要等很久可以使用自定义地址:https://start.springboot.io

    指定springboot版本,然后选择依赖:

    Spring Boot DevTools、 Lombok

    Eureka Server

    完成创建后将application.properties的后缀改为yml,并进行如下配置:

    server:
      port: 9010 # 服务运行的端口号
    spring:
      application:
        name: eureka-server # 服务名称(唯一)
    eureka:
      client:
        service-url:
          defaulteZone: http://localhost:9010/eureka # 配置Eureka Server的地址,注意/eureka不可更改
        register-with-eureka: false # 不注册自己,默认为true,如果这里不配置为false,会报错:Cannot execute request on any known server
        fetch-registry: false # 不拉取服务
    

    启动器

    @SpringBootApplication
    @EnableEurekaServer // 声明当前应用为Eureka Server
    public class EurekaServerApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(EurekaServerApplication.class, args);
        }
    
    }
    

    启动并测试

    启动后访问http://localhost:9010,可以看到eureka管理界面:

    红色警告是eureka的自我保护机制:如果Eureka Server接收到的服务续约低于配置的百分比阈值(默认为15分钟内低于85%),则服务器开启自我保护模式,即不再剔除注册列表的信息。

1. 创建Spring Cloud项目

    在刚刚工程下再新建一个module,还是选择spring initializr

    指定springboot版本,然后选择依赖:

    Spring Boot DevTools、 Lombok

    Eureka Discovery Client

    给module取名为bill_service

    初始化好后,将application.properties的后缀改为yml,并进行如下配置:

    server:
      port: 9001 # 服务运行的端口号
    spring:
      application:
        name: bill-service # 服务的名称(唯一),若eureka没有指定instance-id,则服务名称会作为eureka服务注册时的id
      # 连接池
      datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        username: root
        password: password
        url: jdbc:mysql://127.0.0.1:3306/bill-manager?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
    eureka:
      client:
        service-url:
          defaultZone: http://localhost:9010/eureka # 配置eureka服务的地址,注意/eureka是固定的,不可以自定义
    # 整合mybatis
    mybatis:
      type-aliases-package: com.xj.pojo # mybatis别名扫描
      mapper-locations: classpath:/mybatis
        @RequestMapping("/key")
        public void key() {
            System.out.println("remote application key: " + key);
        }
    

    运行起来后访问 http://localhost:9001/key,可以获得配置的key值,在gitee修改该值,然后使用postman发起post请求,访问 http://localhost:9011/actuator/busrefresh,随后Spring Cloud Bus 会向RabbitMQ消息队列推送消息,bill-service监听到消息后,便重新获取配置文件,再次访问 http://localhost:9001/key,发现key值已经更新。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/761246.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号