首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微服务下配置管理中心 SCCA

微服务下配置管理中心 SCCA

作者头像
轻量级云原生架构实验室
发布2018-08-02 11:16:17
6520
发布2018-08-02 11:16:17
举报
文章被收录于专栏:轻量级微服务轻量级微服务

SCCA 简介

SCCA 全称 spring-cloud-config-admin,微服务下 Spring Boot 应用(包含 Spring Cloud)统一的配置管理平台。

部署 SCCA

1、运行 MySQL,已有,请忽略此步骤

docker run --name mariadb -e MYSQL_ROOT_PASSWORD=scca-pwd -d mariadb

2、创建配置文件,假设路径为 ~/scca/bootstrap.properties

# server
spring.application.name=scca-server
server.port=8080

# scca-rest-server api url prefix
scca.rest.context-path=/xhr

# scca-ui-server embed scca-rest-server
scca.ui.use-embed-scca-rest-server=true

# Datasource
spring.datasource.url=jdbc:mysql://mariadb:3306/config-db
spring.datasource.username=root
spring.datasource.password=scca-pwd
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

# embed config server
# warning : create env set contextPath
spring.cloud.config.server.prefix=/scca-config-server
encrypt.key=anoyi

3、运行 SCCA

docker run -d --name scca \
--link mariadb:mariadb \
-p 8080:8080 \
-v ~/scca/bootstrap.properties:/bootstrap.properties \
-e SPRING_PARAMS="spring.config.location=/bootstrap.properties" \
registry.cn-hangzhou.aliyuncs.com/micro-java/micro-core-config

应用 SCCA

在使用 SCCA 之前,了解三个基本概念:

  • 环境:例如:开发环境、测试环境、生产环境等
  • 项目:每个 Spring Boot 应用都是一个项目
  • 版本:对应 Git 仓库的分支即可,例如:master、1.0.0 等

假设,现在有一个 Spring Boot 应用 【 samples-server 】,配置如下:

server:
  port: 8081

spring:
  grpc:
    enable: true
    port: 6565

如何应用到 SCCA 上呢?

1、新建环境

2、创建项目

3、添加配置

4、依赖 SCCA 启动的 Spring Boot 应用

首先,添加 Maven 依赖:

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
            <version>2.0.0.RELEASE</version>
        </dependency>

然后,添加配置文件 resources/bootstrap.properties,此配置文件可以作为通用配置模板:

# 配置中心:SCCA 地址 + SCCA 配置项 spring.cloud.config.server.prefix
spring.cloud.config.uri=http://127.0.0.1:8080/scca-config-server

# 环境
spring.cloud.config.profile=dev

# 项目
spring.application.name=samples-server

# 版本
spring.cloud.config.label=master

最后,启动应用即可!


SCCA 进阶

SCCA 能够统一管理所有 Spring Boot 应用的配置,那么就给运维带来了极大的便利!

1、首先,可以定义通用性的 Dockerfile

FROM openjdk:8-jre-alpine

ENV TZ="Asia/Shanghai" JVM_PARAMS="" APP_CONFIG_URL="" APP_ENV="" APP_NAME="" APP_VERSION=""

ADD target/*.jar /server.jar

CMD java $JVM_PARAMS -Djava.security.egd=file:/dev/./urandom -jar /server.jar --spring.cloud.config.uri=$APP_CONFIG_URL --spring.cloud.config.profile=$APP_ENV --spring.application.name=$APP_NAME --spring.cloud.config.label=$APP_VERSION

参数

描述

JVM_PARAMS

JVM 相关参数配置

APP_CONFIG_URL

配置中心的地址,对应 spring.cloud.config.uri

APP_ENV

应用发布的环境,对应 spring.cloud.config.profile

APP_NAME

服务名称,对应 spring.application.name

APP_VERSION

服务版本,对应 spring.cloud.config.label

2、然后,构建通用的 Jenkins 流水线

Jenkins 使用 Maven 将代码打包,构建 Docker 镜像,然后推送到镜像仓库,接着使用 Ansible 通过不同变量的设置,将服务部署到 Kubernetes 集群,最后通过 shell 脚本校验服务是否成功部署。

写在后面的话

SCCA 的出现绝非偶然,目前核心贡献者均就业于一线互联网企业,他们常奋斗到深夜 ,只为提供更易用、更可靠的服务,辛苦了!期待下个版本吧!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.07.31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SCCA 简介
  • 部署 SCCA
  • 应用 SCCA
  • SCCA 进阶
  • 写在后面的话
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档