SpringCloud系列九:SpringCloudConfig 基础配置(SpringCloudConfig 的基本概念、配置 SpringCloudConfig 服务端、抓取配置文件信息、客户端使用 SpringCloudConfig 进行配置、单仓库目录匹配、应用仓库自动选择、仓库匹配模式)
1、概念:SpringCloudConfig 基础配置
2、具体内容
通过名词就可以发现,SpringCloudConfig 核心作用一定就在于进行配置文件的管理上。也就是说为了更好的进行所有微服务的配置项的管理,在 SpringCloud 设计架构里面就考虑到了针对于所有的核心配置文件(application.yml)进行的一项统一管理的工具。
2.1、SpringCloudConfig 的基本概念
现在可以思考一个问题:在一个实际的项目开发过程之中,有可能会出现有上百个微服务(创建微服务的标准实际上就是业务设计,也就是说你有多少个业务接口那么就有可能需要定义有多少个的微服务,而且不要忘记了,微服务还会存在有负载均衡的问题),那么这样一来对于配置文件的管理就非常麻烦了。
如果现在要想进行某一个微服务的配置文件的变更,那么就有可能需要去修改上百个微服务的信息。所以为了解决这些配置文件的统一的管理问题,那么在 SpringCloud 架构里面提出有一个思想,借助于:SVN、GITHUB 来进行微服务配置文件的保存。
说明:所有微服务的配置文件放在git仓库里面,建立一个SpringCloudConfig的微服务并添加git仓库的配置,这样就能实施获取git仓库里面的配置文件了,其他的微服务就追加SpringCloudConfig的微服务的配置就能通过SpringCloudConfig的微服务获取到各自的配置文件了
但是在此时也需要注意几个问题:
· 一旦使用了 SpringCloudConfig 之中,现在的项目的中心就变为了 SpringCloudConfig 服务;
· 为了解决配置文件的安全问题,在 SpringCloudConfig 之中还提供有一个所谓的安全加密处理,例如:一些重要的密码有可能需要被加密,所以可以使用两种加密处理(密钥处理、jks 安全处理)。
2.2、配置 SpringCloudConfig 服务端
在 SpringCloudConfig 之中服务端的主要功能是通过SVN或者是GIT进行配置文件抓取微服务的配置,所以对于这样的微服务其最大的特征就是需要设置好GIT仓库的信息地址。
1、 【GITHUB】在 github 上创建一个属于自己的仓库信息:microconfig;
此时的 GIT 的连接地址为:git@github.com:leeSmall/microconfig.git
2、 【GITHUB】通过 git 客户端工具将在服务器上的仓库的信息进行克隆处理,假设将克隆的仓库保存在 D 盘上:
· 为了方便统一的管理,建立一个:springcloudconfig 目录,所有的仓库的信息都直接克隆到此目录之中;
git clone
git@github.com:leeSmall/microconfig.git
· 注意:以上的克隆处理操作要求你已经配置好了 GITHUB 的 SSH 连接;
3、 【microconfig】建立一个公共的配置文件:application.yml,随后将这个文件推送到 GITHUB 之中:
· application.yml 配置文件内容如下:

spring:
profiles:
active:
- dev
---
spring:
profiles: dev
application:
name: microconfig-test-dev
---
spring:
profiles: default
application:
name: microconfig-test-default

|- 将之前克隆好的仓库目录之中创建好 application.yml 配置文件上传到GIT仓库:
4、 【microcloud-config-7101】通过“microcloud-provider-company-8101”复制为了一份新的项目:“microcloud-config-7101”,随后删除掉所有与微服务提供信息相关的程序类与配置文件;
5、 【microcloud-config-7101】修改 pom.xml 配置文件,在此配置文件之中追加有 SpringCloudConfig 的服务依赖端spring-cloud-config-server;

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
<groupId>cn.study</groupId>
<artifactId>microcloud-security</artifactId>
</dependency>

此时所有微服务的认证信息:studyjava/hello;
6、 【microcloud-config-7101】修改 application.yml 配置文件项:

server:
port: 7101
spring:
application:
name: microcloud-config
cloud: # 进行SpringCloud的相关配置
config: # 进行SpringCloudConfig的相关配置
server: # 设置服务的连接地址
git: # 本次使用的是GIT作为仓库的管理,所以需要设置GIT的连接地址
uri: git@github.com:leeSmall/microconfig.git

7、 【microcloud-config-7101】修改启动程序类:

package cn.study.microcloud; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;
@SpringBootApplication
@EnableConfigServer
public class Config_7101_StartSpringCloudApplication {
public static void main(String[] args) {
SpringApplication.run(Config_7101_StartSpringCloudApplication.class, args);
}
}

8、 修改 windows 主机下的 hosts 配置文件,追加一个新的映射主机名称:
127.0.0.1 config-7101.com
9、 随后启动“microcloud-config-7101”微服务程序,随后就可以通过如下的地址进行访问了:
NO. | ||
1 |
/{application}-{profile}.yml |
http://studyjava:hello@config-7101.com:7101/application-dev.yml |
2 | /{application}/{profile}[/{label}] | http://studyjava:hello@config-7101.com:7101/application/dev/master |
3 | /{label}/{application}-{profile}.yml | study://studyjava:hello@config-7101.com:7101/master/application-dev.yml |
在实际的项目开发之中,master 分支肯定是不能够进行所谓的修改更新的,也就是说 master 上的内容一定是可以使用的,所以往往会设置一个 dev 分支处理项,这样如果使用了“/{label}/{application}-{profile}.yml”格式将可以更好的进行分支的定位。
以上的做法采用的是 yml 配置文件形式完成,如果要想采用 properties 文件处理,则就必须准备出多个 properties,例如: application-dev.properties、application-beta.properties 等;
2.3、抓取配置文件信息
现在已经成功的实现了 SpringCloudConfig 服务端搭建,但是这个时候只是依靠服务端并没有什么意义,最终所需要的结果还是需要将远程 GITHUB 上的配置信息抓取到客户端上进行程序启动使用。本次将编写一个客户端程序,随后通过 SpringCloudConfig 读取配置文件的信息内容。
1、 【GITHUB】编写一个新的配置文件:microcloud-config-client.yml 配置文件:
· 定义“D:\springcloudconfig\microconfig\microcloud-config-client.yml”配置文件内容:

spring:
profiles:
active:
- dev
---
server:
port: 8201
spring:
profiles: dev
application:
name: microcloud-config-client
eureka:
client:
service-url:
defaultZone: http://edmin:studyjava@eureka-dev.com:7001/eureka
---
server:
port: 8102
spring:
profiles: beta
application:
name: microcloud-config-client
eureka:
client:
service-url:
defaultZone: http://edmin:studyjava@eureka-beta.com:7001/eureka

· 将此时的配置文件提交到 GITHUB 之中:
2、 【microcloud-config-client-8201】修改 pom.xml 配置文件,追加相关的依赖配置程序包:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
3、 【microcloud-config-client-8201】现在往往都会习惯性的认为应该在 application.yml 配置文件之中进行 SpringCloudConfig 服务端的配置处理,但是在 SpringCloud 官方文档里面会发现此时真正应该配置 SpringCloudConfig 的信息文件应该为 bootstrap.yml。
关于 application.yml 与 bootstrap.yml 配置文件的说明:
· “application.yml”:对应的是用户级的资源配置项;
· “bootstrap.yml”:对应的是系统级的资源配置,其优先级会更高一些;
· 建立“src/main/resources/bootstrap.yml”:

spring:
cloud:
config:
name: microcloud-config-client # 定义要读取的资源文件的名称
profile: beta # 定义profile的 名称
label: master # 定义配置文件所在的分支
uri: http://config-7101.com:7101 # SpringCloudConfig的服务地址
username: studyjava # 连接的用户名
password: hello # 连接的密码

· 建立“src/main/resources/application.yml”里面也进行一些基本的定义:

spring:
application:
name: microcloud-config-client # 编写应用的名称
server:
port: 8888
eureka:
client:
service-url:
defaultZone: http://eureka-application.com:7001/eureka

4、 【microcloud-config-client-8201】建立一个新的新的 Rest 服务程序类。

package cn.study.microcloud.rest; import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; @RestController
public class ConfigClientRest {
@Value("${spring.application.name}")
private String applicationName; // 应用的服务名称
@Value("${eureka.client.service-url.defaultZone}")
private String eurekaServers; // 设置所有的eureka服务信息项
@RequestMapping("/config")
public String getConfig() {
return "ApplicationName = " + this.applicationName + "、EurekaServers = "
+ this.eurekaServers;
}
}

5、 【microcloud-config-client-8201】设置启动程序类:

package cn.study.microcloud; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Client_8201_StartSpringCloudApplication {
public static void main(String[] args) {
SpringApplication.run(Client_8201_StartSpringCloudApplication.class, args);
}
}

6、 修改本机的 hosts 配置文件,追加主机映射:
127.0.0.1 client-8201.com
7、 【microcloud-config-7101】确定当前的服务端真实可用,启动之后,输入如下路径信息:
http://studyjava:hello@config-7101.com:7101/microcloud-config-client-beta.yml
8、 【microcloud-config-client-8201】如果说现在你的 application.yml 里面配置的内容与 bootstrap.yml 抓取的服务端的内容相同, 那么会使用那个配置呢?
如果本地的配置与远程的配置相同,那么以 bootstrap.yml 的远程配置为主,所以 bootstrap.yml 优先级一定是要高于application.yml 的。
2.4、客户端使用 SpringCloudConfig 进行配置
已经实现了 SpringCloudConfig 的客户端以及服务端的配置,但是对于现在的客户端程序而言并不是只是简单的获取一些信息就够了,应该将之前的许多的配置文件的内容都交给 github 上进行保存。所以本次将利用 SpringCloudConfig 实现有一个 Eureka、Dept 微服务的信息加载操作。
此时对于“microcloud-config-7101”的项目模块暂时不做任何的变更,此时它只是提供有一个基础的信息服务。
1、 【GITHUB】需要建立有相应的配置文件信息:
· 注意:你如果是自己建立的*.yml 配置文件,请一定要保证你的文件的编码是 UTF-8,否则在执行的时候会出现 “YAMLException”异常信息(中文);
· 建立“D:\springcloudconfig\microconfig\microcloud-config-eureka-client.yml”配置文件:

spring:
profiles:
active:
- dev
---
spring:
profiles: dev
application:
name: microcloud-config-eureka-client
server:
port: 7001
security:
basic:
enabled: true # 启用安全认证处理
user:
name: edmindev # 用户名
password: studyjava # 密码
eureka:
client: # 客户端进行Eureka注册的配置
service-url:
defaultZone: http://edmindev:studyjava@eureka-7001.com:7001/eureka
register-with-eureka: false # 当前的微服务不注册到eureka之中
fetch-registry: false # 不通过eureka获取注册信息
instance: # eureak实例定义
hostname: eureka-7001.com # 定义Eureka实例所在的主机名称
---
spring:
profiles: beta
application:
name: microcloud-config-eureka-client
server:
port: 7001
security:
basic:
enabled: true # 启用安全认证处理
user:
name: edminbeta # 用户名
password: studyjava # 密码
eureka:
client: # 客户端进行Eureka注册的配置
service-url:
defaultZone: http://edminbeta:studyjava@eureka-7001.com:7001/eureka
register-with-eureka: false # 当前的微服务不注册到eureka之中
fetch-registry: false # 不通过eureka获取注册信息
instance: # eureak实例定义
hostname: eureka-7001.com # 定义Eureka实例所在的主机名称

· 建立“:D:\springcloudconfig\microconfig\microcloud-config-dept-client.yml”配置文件:

spring:
profiles:
active:
- dev
---
server:
port: 8001
eureka:
client: # 客户端进行Eureka注册的配置
service-url:
defaultZone: http://edmindev:studyjava@eureka-7001.com:7001/eureka
instance:
lease-renewal-interval-in-seconds: 2 # 设置心跳的时间间隔(默认是30秒)
lease-expiration-duration-in-seconds: 5 # 如果现在超过了5秒的间隔(默认是90秒)
instance-id: dept-8001.com # 在信息列表时显示主机名称
prefer-ip-address: true # 访问的路径变为IP地址
info:
app.name: study-microcloud
company.name: www.study.cn
build.artifactId: $project.artifactId$
build.version: $project.verson$
mybatis:
config-location: classpath:mybatis/mybatis.cfg.xml # mybatis配置文件所在路径
type-aliases-package: cn.study.vo # 定义所有操作类的别名所在包
mapper-locations: # 所有的mapper映射文件
- classpath:mybatis/mapper/**/*.xml
spring:
profiles: dev
datasource:
type: com.alibaba.druid.pool.DruidDataSource # 配置当前要使用的数据源的操作类型
driver-class-name: org.gjt.mm.mysql.Driver # 配置MySQL的驱动程序类
url: jdbc:mysql://localhost:3306/study8001 # 数据库连接地址
username: root # 数据库用户名
password: mysqladmin # 数据库连接密码
dbcp2: # 进行数据库连接池的配置
min-idle: 5 # 数据库连接池的最小维持连接数
initial-size: 5 # 初始化提供的连接数
max-total: 5 # 最大的连接数
max-wait-millis: 200 # 等待连接获取的最大超时时间
application:
name: microcloud-config-dept-client
---
server:
port: 8001
eureka:
client: # 客户端进行Eureka注册的配置
service-url:
defaultZone: http://edminbeta:studyjava@eureka-7001.com:7001/eureka
instance:
lease-renewal-interval-in-seconds: 2 # 设置心跳的时间间隔(默认是30秒)
lease-expiration-duration-in-seconds: 5 # 如果现在超过了5秒的间隔(默认是90秒)
instance-id: dept-8001.com # 在信息列表时显示主机名称
prefer-ip-address: true # 访问的路径变为IP地址
info:
app.name: study-microcloud
company.name: www.study.cn
build.artifactId: $project.artifactId$
build.version: $project.verson$
mybatis:
config-location: classpath:mybatis/mybatis.cfg.xml # mybatis配置文件所在路径
type-aliases-package: cn.study.vo # 定义所有操作类的别名所在包
mapper-locations: # 所有的mapper映射文件
- classpath:mybatis/mapper/**/*.xml
spring:
profiles: beta
datasource:
type: com.alibaba.druid.pool.DruidDataSource # 配置当前要使用的数据源的操作类型
driver-class-name: org.gjt.mm.mysql.Driver # 配置MySQL的驱动程序类
url: jdbc:mysql://localhost:3306/study8001 # 数据库连接地址
username: root # 数据库用户名
password: mysqladmin # 数据库连接密码
dbcp2: # 进行数据库连接池的配置
min-idle: 5 # 数据库连接池的最小维持连接数
initial-size: 5 # 初始化提供的连接数
max-total: 5 # 最大的连接数
max-wait-millis: 200 # 等待连接获取的最大超时时间
application:
name: microcloud-config-dept-client

· 将此时的配置文件提交到 GITHUB 之中:
2、 【microcloud-config-eureka-client-7001、microcloud-config-dept-client-8001】修改 pom.xml 配置文件,追加 SpringCloudConfig 的依赖包:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
3、 【microcloud-config-eureka-client-7001】创建“src/main/resources/bootstrap.yml”配置文件:

spring:
cloud:
config:
name: microcloud-config-eureka-client # 定义要读取的资源文件的名称
profile: beta # 定义profile的 名称
label: master # 定义配置文件所在的分支
uri: http://config-7101.com:7101 # SpringCloudConfig的服务地址
username: studyjava # 连接的用户名
password: hello # 连接的密码

4、 【microcloud-config-eureka-client-7001】修改“src/main/resources/application.yml”配置文件:
spring:
application:
name: microcloud-config-eureka-client
由于使用的是 beta-profile,所以登录地址:http://edminbeta:studyjava@eureka-7001.com:7001
5、 【microcloud-config-dept-client-8001】建立“src/main/resources/bootstrap.yml”配置文件:

spring:
cloud:
config:
name: microcloud-config-dept-client # 定义要读取的资源文件的名称
profile: beta # 定义profile的 名称
label: master # 定义配置文件所在的分支
uri: http://config-7101.com:7101 # SpringCloudConfig的服务地址
username: studyjava # 连接的用户名
password: hello # 连接的密码

6、 【microcloud-config-dept-client-8001】建立“src/main/resources/application.yml”配置文件:
spring:
application:
name: microcloud-config-dept-client
那么此时就实现了基于 SpringCloudConfig+GITHUB 上的配置管理。
2.5、单仓库目录匹配
现在已经实现了一个 GIT 仓库的配置文件的统一管理操作,但是在这个时候有些开发者认为,如果将所有的微服务的配置信息都保存在一个仓库之中文件会显得比较多,建议使用一些文件目录来进行保存,类似于如下的形式:
· 【根目录】GITHUB-ROOT:要求目录名称与配置文件名称保持一致;
|- Eureka 配置目录:“microcloud-config-eureka-client”目录:
|- microcloud-config-eureka-client.yml;
|- dept 微服务配置目录:“microcloud-config-dept-client”目录:
|- microcloud-config-dept-client.yml;
1、 【GITHUB】进行仓库的目录配置,按照如上的要求在本地建立好仓库目录,并且将这些配置文件保存到相应的目录之中:
2、 【microcloud-config-7101】修改 src/main/resources/bootstrap.yml 配置文件:

server:
port: 7101
spring:
application:
name: microcloud-config
cloud: # 进行SpringCloud的相关配置
config: # 进行SpringCloudConfig的相关配置
server: # 设置服务的连接地址
git: # 本次使用的是GIT作为仓库的管理,所以需要设置GIT的连接地址
uri: git@github.com:leeSmall/microconfig.git
search-paths: # 设置配置文件查找的匹配目录
- microcloud-config-eureka-client
- microcloud-config-dept-client

通过浏览器地址访问:http://studyjava:hello@config-7101.com:7101/microcloud-config-eureka-client-dev.yml;
3、 【microcloud-config-7001】如果说此时微服务有几百个,你这样的目录配置也会有几百个,这样整体的配置处理就会感觉比较麻烦,因为需要把所有的目录都写上,所以为了解决这样的问题,可以使用通配符“*”来做一个处理。修改 application.yml:

server:
port: 7101
spring:
application:
name: microcloud-config
cloud: # 进行SpringCloud的相关配置
config: # 进行SpringCloudConfig的相关配置
server: # 设置服务的连接地址
git: # 本次使用的是GIT作为仓库的管理,所以需要设置GIT的连接地址
uri: git@github.com:leeSmall/microconfig.git
search-paths: # 设置配置文件查找的匹配目录
- microcloud-*

现在表示所有与 microcloud-匹配的目录都可以作为查找目录出现。对于此类的配置是在整个 SpringCloudConfig 之中我个人强烈推荐的一种形式。利用统一风格的目录进行配置文件的管理,这样有助于整个项目的维护,而且又非常简单,不占用过多的仓库资源。
2.6、应用仓库自动选择
在之前已经成功的实现了单 GIT 仓库的配置文件管理处理,但是在 SpringCloudConfig 之中也提供有多仓库的配置支持,也就是说用户只需要设置要访问的配置应用的名称(spring.application.name),那么就可以根据指定的名称找到指定的 GIT 仓库,而后进行配置文件的加载处理。
1、 【GITHUB】为了进行统一管理,在 GITHUB 上分别创建有两个新的仓库:
· 仓库名称:microcloud-config-dept-client、microcloud-config-eureka-client。
· 随后将这些仓库的内容进行克隆:
· 随后在每一个仓库的克隆所在目录之中各自创建有 application.yml 配置文件;
· 之后将两个仓库的修改后的内容进行各自的提交处理:
2、 【microcloud-config-7101】修改 application.yml 配置文件;

server:
port: 7101
spring:
application:
name: microcloud-config
cloud: # 进行SpringCloud的相关配置
config: # 进行SpringCloudConfig的相关配置
server: # 设置服务的连接地址
git: # 本次使用的是GIT作为仓库的管理,所以需要设置GIT的连接地址
uri: git@github.com:leeSmall/{application} # 根据应用服务的名称来连接仓库

随后启动一下 SpringCloudConfig 服务端程序,随后进行配置文件的访问:
· 访问“microcloud-config-eureka-client”: http://studyjava:hello@config-7101.com:7101/microcloud-config-eureka-client-dev.yml
· 访问“microcloud-config-dept-client”: http://studyjava:hello@config-7101.com:7101/microcloud-config-dept-client-dev.yml
现在就相当于一个 SpringCloudConfig 可以根据操作的应用名称访问不同的 GITHUB 仓库的内容。
2.7、仓库匹配模式
所谓的仓库匹配模式指的就是在进行仓库配置资源获得的时候可以通过一些限制让用户无法获得一些资源(只能够获得指定资源)。例如:现在虽然进行了多仓库的配置,但是在多仓库配置的过程之中可以发现用户可以加载所有的 profile 信息。指的是说 设置一些规则,让用户只能够加载指定的内容。
1、 【GITHUB】GITHUB 上依然采用与之前多仓库匹配同样的处理操作:
· microconfig:application.yml;
· microcloud-config-dept-client:application.yml(dev、beta)
· microcloud-config-eureka-client:application.yml(dev、beta)。
2、 【microcloud-config-7101】修改 application.yml 配置文件:

server:
port: 7101
spring:
application:
name: microcloud-config
cloud: # 进行SpringCloud的相关配置
config: # 进行SpringCloudConfig的相关配置
server: # 设置服务的连接地址
git: # 本次使用的是GIT作为仓库的管理,所以需要设置GIT的连接地址
uri: git@github.com:leeSmall/microconfig # 为公共仓库信息,如果某些信息找不到了就使用它
repos:
microcloud-config-eureka-client: # 设置指定微服务的仓库信息
uri: git@github.com:leeSmall/microcloud-config-eureka-client
pattern: microcloud-config-eureka-client*/dev* # 只能够访问dev开头的profile
microcloud-config-dept-client: # 设置指定微服务的仓库信息
uri: git@github.com:leeSmall/microcloud-config-dept-client
pattern: microcloud-config-dept-client*/beta* # 只能够访问beta开头的profile

3、 进行正确的访问处理:
· 访问“microcloud-config-eureka-client”: http://studyava:hello@config-7101.com:7101/microcloud-config-eureka-client-dev.yml
· 访问“microcloud-config-dept-client”: http://studyava:hello@config-7101.com:7101/microcloud-config-dept-client-beta.yml
4、 不能够访问的路径:
· 不能访问“microcloud-config-eureka-client”: http://studyava:hello@config-7101.com:7101/microcloud-config-eureka-client-beta.yml
·不能访问“microcloud-config-dept-client”: http://studyava:hello@config-7101.com:7101/microcloud-config-dept-client-dev.yml
如果一旦出现有不能访问的匹配的处理模式,那么就会跳转到所配置的公共仓库之中加载里面的 application.yml 配置文件。
SpringCloud系列九:SpringCloudConfig 基础配置(SpringCloudConfig 的基本概念、配置 SpringCloudConfig 服务端、抓取配置文件信息、客户端使用 SpringCloudConfig 进行配置、单仓库目录匹配、应用仓库自动选择、仓库匹配模式)的更多相关文章
- CentOS7下rsync服务端与Windows下cwRsync客户端实现数据同步配置方法
最近需求想定期备份服务器d盘的数据到Linux服务器上面,做个笔记顺便写下遇到的问题 以前整过一个win下的cwrsync(客户端)+rsync(服务端:存储)的bat脚本 和整过一个Linux下的r ...
- 网络爬虫: 从allitebooks.com抓取书籍信息并从amazon.com抓取价格(1): 基础知识Beautiful Soup
开始学习网络数据挖掘方面的知识,首先从Beautiful Soup入手(Beautiful Soup是一个Python库,功能是从HTML和XML中解析数据),打算以三篇博文纪录学习Beautiful ...
- 服务端相关知识学习(三)Zookeeper的配置
前面两篇文章介绍了Zookeeper是什么和可以干什么,那么接下来我们就实际的接触一下Zookeeper这个东西,看看具体如何使用,有个大体的感受,后面再描述某些地方的时候也能在大脑中有具体的印象.本 ...
- CAS (7) —— Mac下配置CAS 4.x的JPATicketRegistry(服务端)
CAS (7) -- Mac下配置CAS 4.x集群及JPATicketRegistry(服务端) tomcat版本: tomcat-8.0.29 jdk版本: jdk1.8.0_65 cas版本: ...
- Fiddler抓取数据并分析(完整的配置教程)
一.Fiddler现在的移动应用程序几乎都会和网络打交道,所以在分析一个 app 的时候,如果可以抓取出其发出的数据包,将对分析程序的流程和逻辑有极大的帮助.对于HTTP包来说,已经有很多种分析的方法 ...
- (九)springmvc之json的处理(服务端发送json数据到客户端)
一.json处理方法有两种 1:导入Spring需要json的jar包.(本例使用) 使用@ResponseBody该注解用于将Controller的方法返回的对象,通过HttpMessageConv ...
- springcloud系列九 整合Hystrix Dashboard
Hystrix Dashboard是Hystrix的仪表盘组件,主要用来实时监控Hystrix的各项指标信息,通过界面反馈的信息可以快速发现系统中存在的问题. 整合快速体验: pom.xml(这个是F ...
- SpringCloud系列九:脱离Eureka使用Ribbon
1. 回顾 在前文的示例中,是将Ribbon与Eureka配合使用的.但是现实中可能不具备这样的条件,例如一些遗留的微服务,它们可能并没有注册到Eureka Server上, 甚至根本不是使用Spri ...
- 关于打开现有项目时数据库连接配置遇到的问题 连接字符串中的数据源值指定未安装的SQL Server的实例。要解决此问题,可选择安装匹配的SQL Server实例或修改连接字符串中的数据源值
最近在看红皮书<ASP.NET MVC 5 高级编程>时,为了更好理解,边看书,边打开源代码查看,在VS(Visual Studio 2015)中将源代码打开,发现数据库连接是关闭的,本想 ...
随机推荐
- 测试miniconda,python以及机器学习包是否安装成功
1.测试安装版本 conda -V python -V 2.安装的命令 (1)库升级和安装 升级全部库: conda upgrade --all [不知道为什么,我的conda install nu ...
- github上传代码返回403错误
报错代码: **************** 表示上传的项目地址 remote: Permission to Jayson00/camera.git denied to Minelinkinpar ...
- 【缓存】介绍和使用场景 MEMCACHE REDIS
缓存缓存就是在内存中存储的数据备份,当数据没有发生本质改变的时候,我们就不让数据的查询去数据库进行操作,而去内存中取数据,这样就大大降低了数据库的读写次数,而且从内存中读数据的速度比去数据库查询要快一 ...
- py2x与py3x区别
https://blog.csdn.net/samxx8/article/details/21535901
- visual studio 2017 中默认无法开发 Android 8.0 及以上系统的解决方案
一般默认比较旧有两个原因,系统版本过旧,Visual Studio 版本过旧. 第一步,将windows 更新到最新版,必须是windows 10 并且更新到最新. 第二步,将visual studi ...
- Vue 中渲染字符串形式的组件标签
在vue中如果要渲染字符串形式的标签,vue 提供了 v-html 指令,可以很方便的渲染出来.但是如果这个标签是一个组件,或者element-ui 的组件时,就不能解析出来了,因为v-html 只能 ...
- innobackupex: error while loading shared libraries: libssl.so.6
我遇到过这个问题,但由于测试环境不允许上网,所以虽然搜到了一篇解决办法,但我也未亲自测试,先记录下来别人的解决办法. 参考文章:http://blog.itpub.net/29654823/views ...
- HTTP协议初步解析
一.什么是HTTP协议 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,定义了Web客户端向Web服务器请求Web页面的 ...
- Zuul转发请求时HttpHostConnectException can't cast to ZuulException问题解决方法
看了一下github上的issue,这应该是一个bug.说是已经在zuul 2.0.1.RELEASE中处理了,但是我用的SpringBoot2.0.4.RELEASE中仍然有问题. 处理方案如下: ...
- flask教程
http://docs.jinkan.org/docs/flask/ https://dormousehole.readthedocs.io/en/latest/ https://m.w3cschoo ...