java整合apollo(一)

最近把之前学习的东西复习了一下,然后回忆一下,为我自己做持续交付平台打好基础。之后我想着技术壁垒就少一下。

今天主要是整合了一下apollo,关于apollo的安装,网上有很多相关的博客。非常的全面。也有很多有关apollo与spring boot config的对比,这也是面试经常问的,所以要注意一下,尤其是apollo提供了用户的操作界面让操作方便,还有就是热发布这块。

apollo的安装的大概描述

apollo是基于微服务的配置中心,所有apollo可以部属成微服务集群的模式。我们一般在学习或者开发中一般是部属一个就好了,但注意apollo有3部分,首先是那个管理界面的服务,也就是默认为8070端口的这个服务,这个服务是管理的界面,相当于一个web吧,然后是那个service,也就是真正后边的admin需要部属集群的那部分,当然还有那个另外的那一个。所以在部属集群的时候只需要将新部属的service和admin即可,那个web就不需要部属多台了。这里边apollo有一个自治的注册中心,所以在部属集群的时候只需要修改注册中心的地址即可。然后就可以实现集群。当然每个微服务的数据库还是相同的,也就是初始化的那两个库(这里安装mysql需要安装位5.7+的版本),安装成功之后就可以启动apollo   ,但是我们的项目分好多的环境比如dev、local等。这时需要我们直接去改apollo的数据库了。这个网上都有,我也是从网上百度的。改完之后的效果就是这样的

./demo.sh start
 apollo创建成功之后,我们登陆到apollo,然后创建我们的项目scaffold填写appid=scaffold等一系列的东西。

然后需要我们创建namespace,也就是命名空间。相当于解耦的。这里的命名空间是分私有和共有,私有就是这个项目appid对上了才能拉取,而共有就是只要来apollo都给。我创建的是这样的:

然后就是新增配置,填写好相关的key和value即可,当然这些最后都是要被我们的项目获取的东西。比如我配置的test和common,来测试在java端能否拉到私有和共有的配置属性。这一切都弄好之后,我们就可以点击发布,然后开发我们的java端代码了。

java端整合apollo 

 在整合任何组件时候,如果我们没有就得把它请进来,所以我们第一步就是导入apollo需要的jar包。这里需要apollo-client的jar包。如果不知道版本号,可以直接去百度搜mvn 然后填入apollo-client即可全部搞到。

        <dependency>
            <groupId>com.ctrip.framework.apollo</groupId>
            <artifactId>apollo-client</artifactId>
            <version>1.3.0</version>
        </dependency>
导入apollo-jenkins之后,需要配置我们的appid也就是跟apollo对暗号的那个。当然apollo会默认去它识别的那个文件里读这个暗号,所以我们得创建这个文件,并将appid给写进去。这里的目录是META-INF下的app.properties文件里编写一句appid=scaffold即可。

之后,我们需要做的就是让我们的apollo-jenkins知道获取配置的地址了,因为都是基于spring cloud的Ribbo所以这里需要配置apollo的注册中心的地址,也就是默认的8080端口的那个地址。然后再指定我们的环境。比如私有的application和共有的namespace test1.common这些。

apollo:
  meta: http://127.0.0.1:8080
  bootstrap:
    enabled: true
    eagerLoad:
      enabled: true
    namespaces: application,TEST1.common
之后就是开启我们的apollo的服务了,也就是spring最擅长的注解了这里的注解叫做@EnableApolloConfig

做好之后,我们需要做测试了,我将测试的controller这样写:

@RestController
@ApiModel
public class test {
 
    @Value("${test:123}")
    private String test;
    
    @Value("${common:123}")
    private String common;
    
 
    @GetMapping(value="/test-apollo")
    @ApiOperation(value="测试apollo",notes="测试apollo")
    public void testApollo(){
        System.out.println(test+"--------------"+common);
        //return test+"-"+common;
    }
    
}
之后在swagger上发送请求,效果如下:

 这说明整合成功了。

总结:这只是我们创建apollo的一个开始,也就是基础的连接测试,为我们之后搭建持续交付平台做基础,完了我们还要进行apollo在java端的用户注册和环境管理等功能。希望每天都有收获。
————————————————
版权声明:本文为CSDN博主「坚持学习的菜鸟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/tianjingle_blog/article/details/92850840

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值