SpringBoot 实现配置中心的数据采集

原创 2018年04月17日 11:17:46

需求痛点:

    大型、中型项目涉及的应用多、配置的参数数据多,每次修改配置文件需要研发修改配置文件,提交发版说明(或者工作票)。运维根据修改内容重新修改配置文件,并将项目重新启动,过程很容易出现配置信息修改错误的情况。

配置中心:

    为解决这类问题,系统提出组件“配置中心”需求,将系统用到的配置信息,存放到数据库中,应用重新启动时候加载(或者应用每隔60秒 自动重新加载一遍配置中心的数据库)。

springboot 建设思想:

首先看看默认的springboot 的方法

@SpringBootApplication
@Controller
public class LiangApplication extends SpringBootServletInitializer{
	@RequestMapping(value = "/", method = RequestMethod.GET)
	public ModelAndView index() {
		ModelAndView model = new ModelAndView();
		model.setViewName("index");
		return model;
	}
	/**
	 * 注意:此main方法就是springboot的启动方法,他的启动仅仅是做run执行
	 * 如果改成配置中心,需要首先能够加载,当前项目的 resources/application.properties 文件
	 * 采用增量设计思路,在读取项目配置信息的基础上,在去读取数据库的配置,共同组合成项目初始化信息。
	 * @param args
	 */
	public static void main(String[] args) {
		SpringApplication.run(LiangApplication.class, args);
	}
}

再看看调整后的方法,此方法没有联数据库仅仅是一个properties的事例

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

@SpringBootApplication
public class DubbobootApplication {
	public static void main(String[] args) {
		/**
		 * 思路
		 * 读取配置文件信息到 properties 中
		 * 数据库的信息采用 key - value 的设计,将数据库中的信息缓存到properties 中。
		 * 或者在此处专门处理 读取数据库的 放入一个公用的类中。
		 */
		Properties properties = new Properties();
		InputStream inputStream = DubbobootApplication.class.getClassLoader().getResourceAsStream("liang.properties");
		try {
			properties.load(inputStream);
			properties.setProperty("liang","---liang");
		} catch (IOException e) {
			e.printStackTrace();
		}
		SpringApplication app = new SpringApplication(DubbobootApplication.class);
		app.setDefaultProperties(properties);
		app.run( args);
	}
}
读取到properties中优点,使用springboot自己调用properties的注解,方便使用。


springboot配置中心

Spring Boot,配置中心
  • qq_37257499
  • qq_37257499
  • 2017-12-22 15:06:01
  • 1025

SpringBoot -- 配置中心服务/webhook

配置中心服务器 配置中心服务器,以版本的管理方式对分布式系统提供外部配置支持; SpringCloud中采用Spring Cloud Config 进行集成,而想要进行实施更新则需要采...
  • cwenao
  • cwenao
  • 2017-01-14 15:34:36
  • 3035

SpringBoot+ZooKeeper+ZKUI+Drools 实现应用配置中心及业务规则动态加载

本文目的: 使用ZooKeeper作为SpringBoot应用的配置中心 应用中使用到的业务规则存储在Zookeeper中,规则更新后在不重启应用的情况下通知应用动态重载规则 1.zookeeper简...
  • timedifier2
  • timedifier2
  • 2016-12-09 17:26:32
  • 6981

springboot 配置资源统一管理

在一个springboot的项目中创建一个加载资源的类 LoadPropertiesConfig import java.io.File; import java.io.FileInputStrea...
  • xupeng874395012
  • xupeng874395012
  • 2017-03-21 16:09:24
  • 947

java--数据采集系统

Gather采集类: package com.briup.woss.client.impl; import java.io.*; import java.sql.Timestamp; impo...
  • pfgmylove
  • pfgmylove
  • 2011-09-04 17:18:18
  • 4715

开源配置中心之Apollo

(阿波罗)是携程框架部门研发的配置管理平台,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。服务端基于Spring Boot和Sprin...
  • lePdou
  • lePdou
  • 2017-04-27 21:55:06
  • 6803

maven的Springboot项目的携程Apollo配置中心的配置以及使用

说明:转发,复制,必须标明文章的出处,标注原地址以及作者 http://mp.blog.csdn.net/postedit/79044988  作者:暮辰邪 使用配置中心注入applicati...
  • weixin_37623470
  • weixin_37623470
  • 2018-01-12 15:52:03
  • 367

SpringBoot配置文件以及配置项

SpringBoot配置项
  • w_x_z_
  • w_x_z_
  • 2016-10-13 09:02:12
  • 464

基于ZK构建统一配置中心的方案和实践

百墨 一个用心感悟编程的行者,在路上。 博客园 首页 新随笔 联系 订阅 管理 随笔 - 11  文章 - 1  评论 - 2 ...
  • gaoqiao1988
  • gaoqiao1988
  • 2016-09-02 15:20:57
  • 1383

springboot 配置相关

  • 2017年09月21日 11:27
  • 472KB
  • 下载
收藏助手
不良信息举报
您举报文章:SpringBoot 实现配置中心的数据采集
举报原因:
原因补充:

(最多只允许输入30个字)