Apollo分布式部署指南(云服务器)

参考:官方分布式部署指南

一、为什么要写这篇文章

  • 之前参考quickstart,只能本地部署,当我想放到云服务器上时,本地java客户端总是连接不上;
  • 为了加深记忆,下次部署时可以快速完成
  • 云服务器部署时,请求eruaka返回给我的只有内网地址,需要在源码中加一行配置;

二、准备工作

准备工作比较繁琐,但是一步步来,也不会很难。

1.首先你需要有一台云服务器,最好是centOS7版本的

2.云服务器上需要装有jdk1.8的环境

3.准备一个mysql5.7以上的版本,并且把apollo的sql文件导入进去,参考官方文档吧

4.下载源码,按照自己的服务器修改配置文件

源码地址:去git或者码云下载都可以,码云比较快!!!我下载的是1.7.1版本的。克隆到本地idea,然后下一步修改配置

三、修改配置文件

1.修改apollo-configservice

// 1.修改config文件夹中的application-github.properties
spring.datasource.url = 你自己的mysql链接
spring.datasource.username = 用户名
spring.datasource.password = 密码
// 2.修改resources文件夹下的bootstrap.yml文件
在health-check-url-path: /health这一行下边加入:
ip-address: 你自己的云服务器ip
这点很重要!!!要不你搭建的远程apollo,本地Java项目是访问不到的,要想知道为啥,可以参考下eruaka相关知识

2.修改apollo-adminservice

// 1.修改config文件夹中的application-github.properties
spring.datasource.url = 你自己的mysql链接
spring.datasource.username = 用户名
spring.datasource.password = 密码
// 2.修改resources文件夹下的bootstrap.yml文件
在health-check-url-path: /health这一行下边加入:
ip-address: 你自己的云服务器ip
这点很重要!!!要不你搭建的远程apollo,本地Java项目是访问不到的,要想知道为啥,可以参考下eruaka相关知识

3.修改apollo-portal

// 1.修改config文件夹中的application-github.properties(需要注意的是,这个链接和上边俩不是一个数据库,别弄混了,官方有教的,总共两个数据库)
spring.datasource.url = 你自己的mysql链接
spring.datasource.username = 用户名
spring.datasource.password = 密码
// 2.修改resources文件夹下的apollo-env.properties文件
建议不要改端口号,好像很多地方是写死的,容易出问题,新手入门还是不要在这上边浪费时间了
dev.meta=http://你自己的服务器ip:8080

4.修改build.bat

set apollo_config_db_url="自己的数据库链接"
set apollo_config_db_username="用户名"
set apollo_config_db_password="密码"

rem apollo portal db info
set apollo_portal_db_url="自己的数据库portal链接"
set apollo_portal_db_username="用户名"
set apollo_portal_db_password="密码"

rem meta server url, different environments should have different meta server addresses
set dev_meta="http://自己的云服务器ip:8080"

四、打包、上传、运行,访问

1.打包

很简单,直接运行build.bat就行了

2.上传

三个包,分别是:(打包完这三个包都在对应项目的target目录下)

  • apollo-configservice-1.7.1-github.zip
  • apollo-adminservice-1.7.1-github.zip
  • apollo-portal-1.7.1-github.zip

有洁癖的,上传之前在服务器上先建三个文件夹,因为这三个包解压后不带文件夹。。。

3.运行

然后依次(顺序不能乱)用unzip解压,cd到对应的script目录下执行

./startup.sh

4.访问(默认账号apollo/admin)

五、Java集成(新建一个demo项目)

需要引入的依赖:(maven的上网上找一下,这个是gradle的)

// 阿波罗client
    compile("com.ctrip.framework.apollo:apollo-client:1.3.0")
    compile("org.apache.commons:commons-lang3:3.8.1")

需要配置的属性:

server:
  port: 8080
# 不知道有没有用,好像是个唯一id,但是我看别人都没有配置
app:
  id: apollodemo-service
# 阿波罗的eruaka地址
apollo:
  meta: http://你自己的服务器ip:8080/
  bootstrap:
    enable: true
    eagerLoad:
      enabled: true

供网页访问的测试类:

package com.lifeisftc.apollodemothriftservice.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    private static Logger logger = LoggerFactory.getLogger( HelloController.class );

    @Value( "${server.port}" )
    String port;
    @Value( "${logging.level.com.gf.controller}" )
    String logLevel;

    @GetMapping("hi")
    public String hi(String name) {

        logger.debug( "debug log..." );
        logger.info( "info log..." );
        logger.warn( "warn log..." );

        return "hi " + name + " ,i am from port:" + port+",loglevel is :"+logLevel;
    }

}

六、到此搭建完毕

欢迎大家一块讨论,我也是新手,有问题可以发我邮箱:yunlonghandsome@aliyun.com

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值