JHipster学习记录 - 1 JHipster Registry

本文介绍了JHipster Registry作为微服务集群的Eureka Server、配置中心和管理中心的角色。详细阐述了其安装过程,特别是Spring profile的使用,以及如何通过配置文件实现配置中心的功能。同时,讲解了如何在JHipster Registry中进行服务注册与发现以及如何访问和管理配置信息。

https://www.jhipster.tech/jhipster-registry/

JHipster Registry介绍

JHipster Registry有三个作用:

  1. Eureka Server, 为微服务集群提供服务注册与发现,并提供http访问的路由和负载均衡功能
  2. Spring Cloud Config server,作为运行时的配置中心
  3. 管理中心,提供了控制面板去监控并管理注册在上面的服务

因此,要使用JHipster来搭建微服务集群,必须要先搭建一个JHipster Registry

JHipster Registry安装

安装部署

非常简单

  1. 从github克隆到本地:git clone https://github.com/jhipster/jhipster-registry.git
  2. 如果本地启动:./mvnw -Pdev,webpack
  3. 如果打包:./mvnw -Pprod package ,然后执行java -jar jhipster-registry-<version>.jar --spring.profiles.active=prod去运行

注意:启动时可能会报错,我把解决方法放在了JHipster大坑集合里,有需要可以去看看

Spring profile

JHipster Registry是如何使用配置文件对我们用户来说是非常重要的

JHipster Registry拥有dev以及prod两个不同环境的配置文件,默认使用的是dev

与我们一般在application.yml里配置spring.profiles.active来指定默认环境不同,JHipster Registry是在项目的启动类JHipsterRegistryApp里定义的默认环境:

    public static void main(String[] args) {
        SpringApplication app = new SpringApplication(JHipsterRegistryApp.class);
        //在这个方法里设置了默认的环境是dev
        DefaultProfileUtil.addDefaultProfile(app);
        Environment env = app.run(args).getEnvironment();
        logApplicationStartup(env);
    }

JHipster Registry是怎么作为配置中心的呢?

JHipster Registry除使用src/main/resources文件夹下的配置文件外,还使用了composite配置文件(也是yml格式的配置文件),该文件就是实现配置中心的关键

composite配置文件在不同的环境下存放的地方不同(这里建议打开项目的目录去查看)

  • dev环境:本地读取,默认放在项目根目录下的central-config文件夹下
  • prod环境:通过git读取,默认在https://github.com/jhipster/jhipster-registry-sample-config

我们可以从central-config文件夹下看到,里面已经有一个application.yml文件了,这是JHipster Registry给的初始默认文件。我们自己可以往central-config文件夹下里面加yml文件来添加自己的配置

注意

  1. 那如果想更改composite配置文件的存放地址怎么办呢?原来JHipster Registry把composite配置文件的设置放在了src/main/resources目录下的bootstrap.yml (prod环境为bootstrap-prod.yml)里
  2. 之前提到,composite配置文件的默认目录是在项目根目录下的central-config文件夹中,所以如果是打jar包再启动且指定--spring.profiles.active=dev时,那么就要在jar包同一目录下建一个central-config文件夹
#截取一段dev环境的例子
cloud:
    config:
      server:
        bootstrap: true
        #具体就是这里了
        composite:
          - type: native
            search-locations: file:./central-config

如何使用

默认端口是8761,因此直接访问http://localhost:8761/即可,会出现控制面板了

服务注册与发现

很简单,控制面板首页能看到相关信息

配置中心

如图,点击右上角Configuration - Cloud config
在这里插入图片描述
就会进入配置信息的页面
在这里插入图片描述

这里要讲一下的是,这里的配置信息,显示的就是之前讲的composite配置文件里的内容,

任何注册到注册中心的服务,都会拿到这里的配置去覆盖掉自己的相同配置。例如,app_1 在自己的配置文件里自定义了一个属性 test.name 值为v1,然后JHipster Registry里也在composite配置文件里定义了一个test.name 值为v2 ,那么app_1 在使用这个值时,实际上值是v2

也可以添加appname-profile.yml这样名字的composite配置文件(放在composite配置文件的目录下,例如dev环境就放在central-config文件夹里),这里的appname指的是服务名称,profile指的是环境名,例如一个名为studentService的服务的dev环境的配置文件,就是studentService-dev.yml 。 这个配置文件的作用是,它只会被studentService这个服务在dev环境下所读取到。而默认的application.yml(注意,指的是composite默认的配置文件,而不是springboot的那个)是所有服务公用的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值