在前两篇的介绍中,客户端都是直接调用配置中心的server端来获取配置文件信息。电子商务平台源码请加企鹅求求:一零三八七七四六二六。 这样就存在了一个问题,客户端和服务端的耦合性太高,如果server端要做集群,客户端只能通过原始的方式来路由,server端改变IP地址的时候,客户端也需要修改配置,不符合springcloud服务治理的理念。springcloud提供了这样的解决方案,我们只需要将server端当做一个服务注册到eureka中,client端去eureka中去获取配置中心server端的服务既可。

server端改造

1、添加依赖

<dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-config-server</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency>
</dependencies>
复制代码

需要多引入spring-cloud-starter-eureka包,来添加对eureka的支持。

2、配置文件

server:
server:port: 8001
spring:application:name: spring-cloud-config-servercloud:config:server:git:uri: https://github.com/ityouknow/spring-cloud-starter/     # 配置git仓库的地址search-paths: config-repo                             # git仓库地址下的相对地址,可以配置多个,用,分割。username: username                                        # git仓库的账号password: password                                    # git仓库的密码
eureka:client:serviceUrl:defaultZone: http://localhost:8000/eureka/   ## 注册中心eurka地址
复制代码

增加了eureka注册中心的配置

3、启动类

启动类添加@EnableDiscoveryClient激活对配置中心的支持

@EnableDiscoveryClient
@EnableConfigServer
@SpringBootApplication
public class ConfigServerApplication {public static void main(String[] args) {SpringApplication.run(ConfigServerApplication.class, args);}
}
复制代码

这样server端的改造就完成了。先启动eureka注册中心,在启动server端,在浏览器中访问:http://localhost:8000/就会看到server端已经注册了到注册中心了。

按照上篇的测试步骤对server端进行测试服务正常。

客户端改造

1、添加依赖

<dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>
</dependencies>
复制代码

需要多引入spring-cloud-starter-eureka包,来添加对eureka的支持。

2、配置文件

spring.application.name=spring-cloud-config-client
server.port=8002spring.cloud.config.name=neo-config
spring.cloud.config.profile=dev
spring.cloud.config.label=master
spring.cloud.config.discovery.enabled=true
spring.cloud.config.discovery.serviceId=spring-cloud-config-servereureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/
复制代码

主要是去掉了spring.cloud.config.uri直接指向server端地址的配置,增加了最后的三个配置:

spring.cloud.config.discovery.enabled :开启Config服务发现支持

spring.cloud.config.discovery.serviceId :指定server端的name,也就是server端spring.application.name的值

eureka.client.serviceUrl.defaultZone :指向配置中心的地址

这三个配置文件都需要放到bootstrap.properties的配置中

3、启动类

启动类添加@EnableDiscoveryClient激活对配置中心的支持

@EnableDiscoveryClient
@SpringBootApplication
public class ConfigClientApplication {public static void main(String[] args) {SpringApplication.run(ConfigClientApplication.class, args);}
}
复制代码

启动client端,在浏览器中访问:http://localhost:8000/ 就会看到server端和client端都已经注册了到注册中心了。

高可用

为了模拟生产集群环境,我们改动server端的端口为8003,再启动一个server端来做服务的负载,提供高可用的server端支持。

我们先单独测试服务端,分别访问:http://localhost:8001/neo-config/dev、http://localhost:8003/neo-config/dev返回信息:

{"name": "neo-config", "profiles": ["dev"], "label": null, "version": null, "state": null, "propertySources": [{"name": "https://github.com/ityouknow/spring-cloud-starter/config-repo/neo-config-dev.properties", "source": {"neo.hello": "hello im dev"}}]
}
复制代码

说明两个server端都正常读取到了配置信息。

再次访问:http://localhost:8002/hello,返回:hello im dev update。说明客户端已经读取到了server端的内容,我们随机停掉一台server端的服务,再次访问http://localhost:8002/hello,返回:hello im dev update,说明达到了高可用的目的。

java B2B2C 源码 多级分销springmvc mybatis多租户电子商城系统

转载于:https://juejin.im/post/5cb68f8d518825329f6cf04b

java B2B2C 源码 多级分销springmvc mybatis多租户电子商城系统--配置中心服务化和高可用...相关推荐

  1. java ssm 多租户_(十一)java B2B2C 源码 多级分销springmvc mybatis多租户电子商城系统- SSO单点登录之OAuth2.0登录流程(2)...

    上一篇是站在巨人的肩膀上去研究OAuth2.0,也是为了快速帮助大家认识OAuth2.0,闲话少说,我根据框架中OAuth2.0的使用总结,画了一个简单的流程图(根据用户名+密码实现OAuth2.0的 ...

  2. java B2B2C 源码 多级分销springmvc mybatis多租户电子商城系统

    鸿鹄云商大型企业分布式互联网电子商务平台,推出PC+微信+APP+云服务的云商平台系统,其中包括B2B.B2C.C2C.O2O.新零售.直播电商等子平台. 分布式.微服务.云架构电子商务平台 java ...

  3. java B2B2C 源码 多级分销Springcloud多租户电子商城系统-hystrix的工作原理

    Hystrix是Netflix开源的一个限流熔断的项目.主要有以下功能: 需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码 一零三八七七四六二六 隔离(线程 ...

  4. java B2B2C 源码 多级分销Springcloud多租户电子商城系统- 整合企业架构的技术点(二)...

    spring cloud本身提供的组件就很多,但我们需要按照企业的业务模式来定制企业所需要的通用架构,那我们现在需要考虑使用哪些技术呢? 下面我针对于spring cloud微服务分布式云架构做了以下 ...

  5. java B2B2C 源码 多级分销Springboot多租户电子商城系统-springcloud项目redis分布式锁...

    在springcloud项目开发中redis分布式锁使用主要有两个场景 需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码请加企鹅求求 :二一四七七七五六三三 ...

  6. java B2B2C 源码 多级分销Springcloud多租户电子商城系统(十)用spring Restdocs创建API文档...

    这篇文章将带你了解如何用spring官方推荐的restdoc去生成api文档.本文创建一个简单的springboot工程,将http接口通过Api文档暴露出来.只需要通过 JUnit单元测试和Spri ...

  7. java B2B2C springmvc mybatis多租户电子商城系统 (七)springboot开启声明式事务

    springboot开启事务很简单,只需要一个注解@Transactional 就可以了.因为在springboot中已经默认对jpa.jdbc.mybatis开启了事事务,引入它们依赖的时候,事物就 ...

  8. java B2B2C springmvc mybatis多租户电子商城系统-Spring Cloud Feign

    1.什么是Feign? 愿意了解源码的朋友直接企鹅求求:二一四七七七五六三三 Feign 的英文表意为"假装,伪装,变形", 是一个http请求调用的轻量级框架,可以以Java接口 ...

  9. java B2B2C springmvc mybatis多租户电子商城系统(三):服务提供与调用

    上一篇文章我们介绍了eureka服务注册中心的搭建,这篇文章介绍一下如何使用eureka服务注册中心,搭建一个简单的服务端注册服务,客户端去调用服务使用的案例. 案例中有三个角色:服务注册中心.服务提 ...

最新文章

  1. ajax content download,关于ajax的content-download时间过慢问题的解决方案与思考
  2. 双系统Ubuntu无法访问windows磁盘分区解决方法
  3. CentOS linux7 设置开机启动服务
  4. 前端处理后台返回的流数据
  5. Nginx(6)-配置基于域名的虚拟主机
  6. Java 集合HashSet TreeSet HashMap ArrayList TreeList
  7. 解决vscode中Linter pylint is not installed的问题
  8. Linux常用命令:scp命令
  9. Opencv项目实战:03 扫描二维码条形码
  10. Linux_home的迁移
  11. vue 使用Dialog对话框使用过程中出现灰色遮罩问题
  12. 【简单的密码生成器】
  13. dp主机_怎样设置显示器DP接口信号优先?
  14. MySQL主从同步设置
  15. Python的静态成员变量和非静态成员变量
  16. c语言编写图形登录窗口,C语言实现图形界面登陆窗口
  17. 技术话题(2)实时通讯RT和同步实时通讯IRT的区别
  18. 运行SVO报错fatal error: sophus/se3.hpp: No such file or directory
  19. ## 使用flex布局(多行,一行三个),换行后最后一行左右对齐问题
  20. [Warning] anonymous type with no linkage used to declare variable with linkage

热门文章

  1. 威胁生存!科学家警告灾难性“气候临界点”已逼近
  2. 中科创星米磊:从五个方向筛选“硬科技”企业
  3. 中国工程院《全球工程前沿2020》报告在京发布
  4. 当AI主播和人越来越像,我们该怎么办?
  5. 高德纳咨询公司(Gartner)预测:2019年七大人工智能科技趋势
  6. 工业富联:左手工业AI,右手“雾小脑”
  7. 新科技快速指南系列之“量子计算”:历史、现在与未来
  8. 潘建伟团队首次实现18个光量子比特纠缠,刷新世界记录
  9. 专家谈计算机体系架构研究获“图灵奖”
  10. 2017 人工智能+内容生产研究报告【附下载】