当前位置:   article > 正文

Apollo安装与使用_apollo默认端口

apollo默认端口

简介

,它能够集中管理应用在不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
四个核心模块及其主要功能

  1. ConfigService
    提供配置获取接口
    提供配置推送接口
    服务于Apollo客户端
  2. AdminService
    提供配置管理接口
    提供配置修改发布接口
    服务于管理界面Portal
  3. Client
    为应用获取配置,支持实时更新
    通过MetaServer获取ConfigService的服务列表
    使用客户端软负载SLB方式调用ConfigService
  4. Portal
    配置管理界面
    通过MetaServer获取AdminService的服务列表
    使用客户端软负载SLB方式调用AdminService

下载配置

官网下载:https://github.com/ctripcorp/apollo/tags
在这里插入图片描述

在这里插入图片描述
解压安装包后将apollo-configservice-1.3.0.jar, apollo-adminservice-1.3.0.jar, apollo-portal-1.3.0.jar放置于apollo目录下

创建数据库

Apollo服务端共需要两个数据库:ApolloPortalDB和ApolloConfigDB。ApolloPortalDB只需要在生产环境部署一个即可,而ApolloConfigDB需要在每个环境部署一套。

2个sql脚本的下载地址:
(前一个指定的版本)
https://github.com/ctripcorp/apollo/tree/1.8.2/scripts/sql

或者
https://github.com/ctripcorp/apollo/tree/master/scripts/sql
在这里插入图片描述

启动Apollo

确保端口未被占用
Apollo默认会启动3个服务,分别使用8070, 8080, 8090端口,请确保这3个端口当前没有被使用。
以windows为例启动命令

windows

启动configservice

apollo-configservice
java -jar -Dserver.port=18080 ./apollo-configservice-1.8.2.jar
在这里插入图片描述
apollo-configservice启动的默认端口是8080
-Dserver.port=18080 :修改启动的端口
并且数据库也得改变
在这里插入图片描述

启动adminservice

apollo-adminservice
java -jar -Dserver.port=18090 ./apollo-adminservice-1.8.2.jar

在这里插入图片描述
apollo-adminservice启动的默认端口是8090
-Dserver.port=18090 :修改启动的端口

启动portal

apollo-portal
java -jar -Dserver.port=18070 ./apollo-portal-1.8.2.jar
在这里插入图片描述
三者有启动顺序,
1:configservice
2:adminservice
3:portal

访问初始页面

在这里插入图片描述
test是之前就创建好的一个项目
在这里插入图片描述
appid就是项目的标识,里面配置了一些配置文件。

Linux

在这里插入图片描述

configservice

config

配置数据库信息
在这里插入图片描述
在这里插入图片描述

scripts

配置启动脚本
在这里插入图片描述
在这里插入图片描述
修改数据库地址
在这里插入图片描述

启动

在这里插入图片描述

adminservice

config

同Configservice一样,也连接configDB。

scripts

似Configservice一样,修改日志地址及启动端口

启动

似configservice一样,找到对应的 startup.sh

portal

config

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
暂时就应用dev和prod两个环境。
对应数据库也得相应配置
在这里插入图片描述

script

在这里插入图片描述
在这里插入图片描述

启动

在这里插入图片描述

页面

在这里插入图片描述
这dev,prod都是指向统一台服务器。配置了dev,prod也会同时改变。

Linux下多服务器的多环境(env)

2个env:dev,prod
2台linux服务器(A,B):dev在A,prod在B
A: configservice ,adminservice
B: configservice ,adminservice,portal

每多一个服务器(环境),这个新环境就配置config和admin,它俩配套同时都得有,但portal只需存在一个就可以
启动后
在这里插入图片描述
在这里插入图片描述
可以看到两台服务器的config,admin都已经启动好。

页面(访问portal)

在这里插入图片描述
在这里插入图片描述
同样的key值server.port,value不一样,说明多env搭建成功,dev,prod在不同服务器上(准确说是不同数据库)

遇到的坑

B服务器的portal找不到A服务器的adminservice
portal的日志
在这里插入图片描述
在阅览器http://ip:port/services/admin,查看adminservice的信息
在这里插入图片描述
可以看到,homepageurl是内网地址,原因可能是A的adminservice暴露的是内网地址所以B找不到A的adminservice
对展示页面的影响,只有prod环境,没有dev环境,并且页面报错(就不展示了)

解决办法:
对A,B的configservice和adminservice的启动脚本进行修改

在这里插入图片描述

在这里插入图片描述
新增的配置为:-Deureka.instance.prefer-ip-address=true -Deureka.instance.ip-address=公网ip

重启后,在访问A的 services/admin
在这里插入图片描述
页面也有dev和prod两种env环境。
在这里插入图片描述

关联公共namespace

首先创建一个新项目,并添加public的namespaces
在这里插入图片描述
公共的use 添加一个属性
在这里插入图片描述
切换到之前创建好的new项目,关联公共的use
在这里插入图片描述
在这里插入图片描述
项目启动连接pro环境
在这里插入图片描述

SpringCloud整合Apollo

maven

 <dependency>
    <groupId>com.ctrip.framework.apollo</groupId>
    <artifactId>apollo-client</artifactId>
    <version>1.8.0</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

version跟服务器版本下载的版本一致。

application配置

# 在应用启动阶段,向Spring容器注入被托管的application.properties文件的配置信息
apollo.bootstrap.enabled=true
# apollo配置文件的命名空间(多个以 , 隔开),默认 application
apollo.bootstrap.namespaces=application,times
# 为了防止配置中心无法连接等问题,Apollo 会自动将配置本地缓存一份
apollo.cacheDir=/opt/data/apollo-config
# 将 Apollo 加载提到初始化日志系统之前
# (将 Apollo 加载提到初始化日志系统之前,如果设置为 false,那么将打印出 Apollo 的日志信息,
# 但是由于打印 Apollo 日志信息需要日志先启动,启动后无法对日志配置进行修改,所以 Apollo 不能管理应用的日志配置,
# 如果设置为 true,那么 Apollo 可以管理日志的配置,但是不能打印出 Apollo 的日志信息)
apollo.bootstrap.eagerLoad.enabled=false
# 指定使用某个集群下的配置
apollo.cluster=DEFAULT
# apollo配置中心地址。
apollo.meta=http://127.0.0.1:18080
# AppId是应用的身份信息,是配置中心获取配置的一个重要信息。
app.id=test
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

项目启动

项目里的application文件
在这里插入图片描述
apollo上的配置
在这里插入图片描述
项目启动的结果
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/733469
推荐阅读
  

闽ICP备14008679号