Apollo分布式配置中心部署以及使用

一、简介

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

官方github:https://github.com/ctripcorp/apollo

作者对Apollo对介绍:https://github.com/ctripcorp/apollo/wiki/Apollo%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%BF%83%E4%BB%8B%E7%BB%8D

Spring Cloud Config分布式配置中心的使用和遇到的坑

分布式配置中心

为什么要有用分布式配置中心这玩意儿?现在这微服务大军已经覆盖了各种大小型企业,每个服务的粒度相对较小,因此系统中会出现大量的服务,每个服务都要有自己都一些配置信息,或者相同的配置信息,可能不同环境每个服务也有单独的一套配置,这种情况配置文件数量比较庞大,维护起来相当费劲,举个栗子:
在开发的过程中,一般数据库是开发环境数据库,所有服务DB的IP配置为:92.168.0.1,突然老大说,开发环境换了,DB的IP要修改,这下可不好受了,所有模块挨个修改DB的配置,就问你难受不难受?
这个时候分布式配置中心就发挥了很大的优势,只需要修改配置中心配置,所有服务即可自动生效,爽不爽!

自定义SpringBoot的starter-parent,制定开发规范,和提高开发效率

写在前面

SpringBoot咱们开发一般pom.xml是都集成spring-boot-starter-parent的,这里为什么要自定义一个starter-parent呢,主要以下几个理由:

  1. 定义开发规范:自定义parent可以制定统一配置和依赖规范
  2. 提高开发效率
  3. 统一模块插件化管理:可以在parent实现需要的插件配置,如:redis、mysql、日志、参数教研等
  4. 项目版本升级和依赖包升级更加方便统一
  5. 日志收集等可以从切面获取各个项目数据和日志等
  6. 项目持续集成部署交付方便处理

SpringBoot启动Tomcat失败:Unable to start embedded Tomcat

异常描述

之前项目是dubbo的,分为两个服务,service数据层和web请求控制,使用dubbo互相调用的,现在要把dubbo去掉,使用SpringCloud的eureka了,要把两个合并成一个项目,这里并不是要把所有代码复制过去,而是把service使用maven引用到web项目里面,然后修改对应的配置和包路劲,启动的时候,竟然报错了,编译是没有任何问题的。

SpringBoot使用hibernate-validator利用AOP实现统一参数校验

引入maven包

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.5.9.RELEASE</version>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
<version>2.0.1.RELEASE</version>
</dependency>

<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.el</artifactId>
<version>3.0.1-b08</version>
</dependency>

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器