https://www.jhipster.tech/jhipster-registry/
JHipster Registry介绍
JHipster Registry有三个作用:
- Eureka Server, 为微服务集群提供服务注册与发现,并提供http访问的路由和负载均衡功能
- Spring Cloud Config server,作为运行时的配置中心
- 管理中心,提供了控制面板去监控并管理注册在上面的服务
因此,要使用JHipster来搭建微服务集群,必须要先搭建一个JHipster Registry
JHipster Registry安装
安装部署
非常简单
- 从github克隆到本地:
git clone https://github.com/jhipster/jhipster-registry.git - 如果本地启动:
./mvnw -Pdev,webpack - 如果打包:
./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文件来添加自己的配置
注意:
- 那如果想更改
composite配置文件的存放地址怎么办呢?原来JHipster Registry把composite配置文件的设置放在了src/main/resources目录下的bootstrap.yml (prod环境为bootstrap-prod.yml)里 - 之前提到,
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的那个)是所有服务公用的

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

199

被折叠的 条评论
为什么被折叠?



