上一篇文章介绍了自己练手写的配置管理中心,在这篇文章里记录下其中用到的一些技术原理。
Configuration Center
Configuration Center是自己练手写的,一个基于Zookeeper的配置管理中心,包含如下组件。
configuration-center-api
提供一个API来创建,浏览,更新,删除配置。configuration-center-sdk
提供一个Java SDK来获取和监听配置,可以在非Spring项目中使用spring-boot-starter-configuration-center
提供了和Spring集合的库,可以在Spring Boot的项目中使用
理论上说这里应该还有个configuration-center-ui
库来提供UI界面去操作配置项,但我不熟悉前端开发,就没做了。
Spring Boot Plugin带来的Gradle依赖问题
最近遇到了一个Gradle的依赖问题,但发现使用常见的解决依赖冲突的方式无效,最后发现是因为引入Spring Boot Plugin的问题,在这记录下过程。
rest http server
Restest
Restest是一个针对RESTFul API的自动化测试工具。
它通过编写YAML的方式来实现测试用例,并提供易于理解的输出,可以方便的和CI进行集成。
线程池实现
Spring Cloud(五)
Spring Cloud(四)
Spring Cloud Config
简介
在微服务的环境中,有众多的单个服务,每个服务都有自己的一套配置,那么如何更好管理这些配置呢。
我们现在的项目(Spring Boot项目,还没用Spring Cloud)是通过创建一个单独的Configuration的Git仓库,然后在部署的时候,自动化脚本会去Git仓库拉取对应项目的配置,放到config文件夹下,作为一个external的配置。
优势就是集中化管理了所有项目的配置,但是劣势是需要自己在部署脚本中写好拉取配置的代码,以及每次更新了配置,需要重新触发部署才会生效。
Spring Cloud Config是用来集中式的管理分布式项目中的各个项目各个环境的配置。它提供服务端和客户端的支持。
服务端就是一个应用,用来管理所有项目配置,并暴露出接口来访问对应项目,对应profile的配置信息。客户端在启动的时候,通过服务端提供的接口去获取自己的配置信息,