springcloud Config 入门,带视频

疯狂创客圈 Java 高并发【 亿级流量聊天室实战】实战系列 【博客园总入口

架构师成长+面试必备之 高并发基础书籍 【Netty Zookeeper Redis 高并发实战



疯狂创客圈 高并发 环境 视频,陆续上线:

  • Windows Redis 安装(带视频)
  • Linux Redis 安装(带视频)
  • Windows Zookeeper 安装(带视频)
  • Linux Zookeeper 安装(带视频)
  • RabbitMQ 离线安装(带视频)
  • Nacos 安装(带视频)
  • ElasticSearch 安装, 带视频**

小视频以及所需工具的百度网盘链接,请参见 疯狂创客圈 高并发社群 博客

1 Config 配置中心简介

在分布式微服务架构系统中,由于服务数量巨多,为了方便服务配置文件统一管理,所以需要分布式配置中心组件。如果各个服务的配置分散管理,则,上线之后配置的如何保持一致会是一个很头疼的问题。
所以,各个服务的配置定然需要集中管理。SpringCloud Config 配置中心是一个比较好的解决方案。使用SpringCloud Config配置中心,涉及到两个部分:
(1)config-server 服务端配置;
(2)config-client 客户端配置。

2 config-server 服务端配置

通过SpringCloud 构建一个 config-server 服务,大致需要三步。首先,在pom.xml中引入spring-cloud-config-server 依赖,大致如下:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-server</artifactId>
</dependency>

其次,在所创建的 SpringBoot的程序主类上,添加@EnableConfigServer注解,开启Config Server 服务,代码如下:

package com.crazymaker.springcloud.cloud.center.eureka;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
//在启动类中添加注解@EnableEurekaServer
@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApplication.class, args);
    }
}

第三步,设置属性文件的位置。SpringCloud Config 提供本地存储配置的方式。在bootstrap启动属性文件中,设置属性 spring.profiles.active=native,并且设置属性文件所在的位置,大致如下:

server:
  port: 7788  #配置中心端口
spring:
  application:
    name: config-server   # 服务名称
  profiles:
    active: native   # 设置读取本地配置文件
  cloud:
    config:
      server:
        native:
          searchLocations: classpath:config/  #申明本地配置文件的存放位置

配置说明:
(1)spring.profiles.active=native,表示读取本地配置,而不是从git读取配置。
(2)search-locations=classpath:config/ 表示查找文件的路径,在类路径的config下。

服务端的配置规则:在配置路径下,以 {label}/{application}-{profile}.properties 的命令规范,放置对应的配置文件。上面实例,放置了以下配置文件:

/dev/crazymaker-common.yml
/dev/crazymaker-db.yml
/dev/crazymaker-redis.yml

分别对通用配置common、数据库配置db、缓存配置的相关属性,进行设置。Config 配置中心启动之后,使用 http:// ${CONFIG-HOST}: ${CONFIG-PORT}/{application}/{profile}[/{label}] 的地址格式,可以直接访问所加载好的配置属性。
例如,访问示例中的 http://192.168.233.128:7788/crazymaker/redis/dev 地址,返回的配置信息如下图所示。

特别说明

SpringCloud config-server 支持有多种配置方式,比如 Git,native,SVN 等。

虽然官方建议使用Git方式进行配置,这里没有重点介绍 Git方式,而是使用本地文件的方式,有三个原因:
(1) 对于学习或者一般的开发来说,本地的文件的配置方式更简化;
(2) 生产环境建议使用 Nacos,集成注册中心和配置中心,更加方便和简单;
(3) 掌握了native的配置方式之后,Git 的配置方法能触类旁通,因为思维上是趋同的。

config-client 客户端配置

客户端 config-client 同 config-server 一样,需要新增 spring-cloud-starter-eureka 的依赖用来注册服务。然后增加 spring-cloud-starter-config 依赖 ,引入配置相关的 jar 包。

<dependencies>
  //….
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-config</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-eureka</artifactId>
    </dependency>
</dependencies>

在bootstrap.properties中,按如下规则,增加客户端配置的映射规则:

spring.cloud.config.label:dev   #对应服务器端规则中的{label}部分。
spring.application.name:crazymaker   #对应服务器端规则中的{application}部分。
spring.cloud.config.profile:redis  #对应服务器端规则中的{profile}部分。
spring.cloud.config.uri:http://${CONFIG-HOST}:7788/     #配置中心 config-server 的独立uri地址。


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lv6Shwof-1576380501573)(file:///C:/Users/wuqinglin/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg)]

如果是和Eureka的客户端配合使用,建议开启配置服务的自动发现机制,则使用如下配置:

spring.cloud.config.discovery.enabled: true
spring.cloud.config.discovery.service-id: config-server

配置中心的两种发现机制,不能同时存在,二者选其一即可。

有关客户端 config 属性加载的相关配置,必须配置在 bootstrap.properties (或bootstrap.yml)中,config 部分内容才能被正确加载。原因是:config 的相关配置会先于application.properties,而 bootstrap.properties 的加载也是先于 application.properties的。

使用环境变量确保安全

下面是本演示实例所用到的环境变量:

export DB_HOST=192.168.233.128
export REDIS_HOST=192.168.233.128
export EUREKA_ZONE_HOST=192.168.233.128
export RABBITMQ_HOST=192.168.233.128
export ZOOKEEPER_HOSTS=192.168.233.128

这些环境变量,包含 Eureka、Redis、RabbitMq 等服务器的IP地址。如果在bootstrap.yml中要对 Eureka 进行配置,可以使用环境变量 EUREKA_ZONE_HOST ,具体如下:

eureka:
  client:
    serviceUrl:
      defaultZone: http://${EUREKA_ZONE_HOST:localhost}:7777/eureka/

上面的写法,通过${EUREKA_ZONE_HOST} 表达式去获取Eureka的IP地址。并且,环境变量后面跟着一个冒号和一个默认值,表示如果当前系统环境变量中 EUREKA_ZONE_HOST 为空时,就会使用默认值 localhost 来填充了。
总之,通过环境变量的使用,使得各种服务器的主机切换,多了一层灵活性。而且,可以做到不用明文编码一些密码之类的敏感信息,多了一层安全性。

8. 部署和视频

(1)打包:

maven 打包工具。

(2)部署:

部署到linux服务器,解压缩,然后 start.sh 脚本启动。

(3) 访问

http://192.168.233.128:7788/crazymaker/redis/dev

制作中.......

具体,请关注 Java 高并发研习社群博客园 总入口



最后,介绍一下疯狂创客圈:疯狂创客圈,一个Java 高并发研习社群博客园 总入口

疯狂创客圈,倾力推出:面试必备 + 面试必备 + 面试必备 的基础原理+实战 书籍 《Netty Zookeeper Redis 高并发实战


疯狂创客圈 Java 死磕系列

  • Java (Netty) 聊天程序【 亿级流量】实战 开源项目实战
  • Netty 源码、原理、JAVA NIO 原理
  • Java 面试题 一网打尽
  • 疯狂创客圈 【 博客园 总入口 】

原文地址:https://www.cnblogs.com/crazymakercircle/p/12043604.html

时间: 2024-11-08 19:32:13

springcloud Config 入门,带视频的相关文章

Zuul 详解,带视频

疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 前言 Crazy-SpringCloud 微服务脚手架 &视频介绍: Crazy-SpringCloud 微服务脚手架,是为 Java 微服务开发 入门者 准备的 学习和开发脚手架.并配有一系列的使用教程和视频,大致如下: 高并发 环境搭建 图文教程和演示视频,陆续上线: 中间件 链接地址 Linux Redis

Eureka 入门,带视频

疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 疯狂创客圈 高并发 环境 视频,陆续上线: Windows Redis 安装(带视频) Linux Redis 安装(带视频) Windows Zookeeper 安装(带视频) Linux Zookeeper 安装(带视频) RabbitMQ 离线安装(带视频) Nacos 安装(带视频) ElasticSear

微服务SpringCloud+Docker入门到高级实战

第一章 课程介绍和学习路线 1.微服务架构SpringCloud课程介绍简介:课程介绍和课程大纲讲解,讲课风格和重点内容理解技巧2.技术选型和学后水平简介:课程所需基础和技术选型讲解,学完课程可以到达怎样的程度, 第二章 架构演进和分布式系统基础知识 1.传统架构演进到分布式架构简介:讲解单机应用和分布式应用架构演进基础知识 (画图)2.微服务核心基础讲解简介:讲解微服务核心知识 :网关.服务发现注册.配置中心.链路追踪.负载均衡器.熔断3.常见的微服务框架简介:讲解常用的微服务框架4.微服务下

ElasticSearch 安装, 带视频

疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 疯狂创客圈 高并发 环境 视频,陆续上线: Windows Redis 安装(带视频) Linux Redis 安装(带视频) Windows Zookeeper 安装(带视频) Linux Zookeeper 安装(带视频) RabbitMQ 离线安装(带视频) Nacos 安装(带视频) ElasticSear

轻松掌握Linux操作系统技术 [肖哥玩转Linux入门基础视频课程]

课程目标:让零基础学员轻松并熟练掌握Linux系统以及实机排错,对Linux技术初级使用得心应手.适合人群:大学生.零基础学员.Linux初学者.Linux爱好者.Linux系统管理员等.课程介绍:适用于Linux的新使用者,帮助初学者了解并掌握Linux基本知识,该课程包括系统安装.基本指令使用.文件系统结构及权限设置.Bash. shell scripts.vim编辑器使用.系统配置.进程管理.文件的查找.压缩及处理.Linux下文件系统深入讲解.网络客户端使用等. 更多内容详见:轻松掌握L

GDI+入门——带你走进Windows图形的世界

一.GDI+基础 1.GDI+简介 GDI+是微软的新一代二维图形系统,它完全面向对象,要在Windows窗体中显示字体或绘制图形必须要使用GDI+.GDI+提供了多种画笔.画刷.图像等图形对象,此外还包括一些新的绘图功能,比如渐变.除锯齿.纹理等. GDI+包括三部分:二维矢量图形的绘制.图像处理和文字显示.GDI+使用的各种类大都包含在命名空间system::Drawing中. 2.常用的数据结构 在使用GDI+显示文字和绘制图形时,需要用到一些数据结构,例如Size.Point.Recta

Java 入门课程视频实战-0基础 上线了,猜拳游戏,ATM实战,欢迎围观

Java 入门课程视频实战-0基础 已经上传完了.欢迎小伙伴们过来围观 直接进入: http://edu.csdn.net/course/detail/196 课程文件夹例如以下: 1 初识Java  19:08 2 熟悉Eclipse开发工具  12:42 3 Java语言基础  17:39 4 流程控制  14:53 5 数组  14:44 6 字符串  34:32 7 类和对象  29:30 8 猜拳游戏  33:39 9 模拟银行柜员机程序  36:35 10 退休金结算程序  本课程由

webpack入坑之旅(三)webpack.config入门

这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack,在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不是开始的开始 webpack入坑之旅(二)loader入门 webpack入坑之旅(三)webpack.config入门 webpack入坑之旅(四)扬帆起航 webpack入坑之旅(五)加载vue单文件组件 webpack入坑之旅(六)配合vue-router实现SPA 在上面我们已经尝试过了两种

在sae上面运行微信第三方平台微擎,带视频录像

这次这个版本简化了配置,降低了小伙伴安装的门槛.部署前提条件:需要申请一个SAE空间,开通php应用和mysql. 前言:sae环境无法自动安装,兄弟们需要把代码和数据库分别上传上去. 前提:首先解开rar包. 1.把sql文件夹下面的数据库导入到mysql数据库.(sae空间点击应用然后服务管理下面创建一个mysql) 2.src.zip上传到php应用.(在sae控制面板上传,或者自己解压下通过svn上传到SAE应用根目录) 3.创建一个公有storage名称是weiqinpicture,千