Skip to content

jessin20161124/springCloudDemo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

spring cloud实践

    封装一线大厂常见功能脚手架

推广

已完成功能列表

  • 基于spring boot 2.1.7.RELEASE + spring cloud Greenwich.SR6进行实验,版本需要对应
  • 使用nacos作为配置中心
  • 使用consul作为注册中心
  • consumer和provider通过service name来进行feign client服务调用
  • 使用ribbon进行负载均衡
  • 实现nacos spring cloud配置变更方法回调
  • 支持配置中心变更时refresh属性配置
  • 支持使用redisson/分布式锁/redis 5.0.7等操作
  • 封装feign HttpResult
  • docker/k8s部署
  • hystrix熔断,sentinel尝试
  • kafka 1.0.2安装,spring-kafka集成
  • sharding-jdbc分库分表,pagehelper使用
  • es 6.4.3集成,中文分词插件ik安装
  • mongo 4.0.28集成
  • 通用工具包封装,例如ExceptionHandler,异常码
  • hbase 2.1.9集成

TODO LIST

  • spring cloud gateway微服务网关集成,谓词测试,流程图补充
  • 抽取几个子域公共代码,kafka/es等中间件
  • 用户域等登陆鉴权
  • ddd分层领域驱动设计,防腐层添加,基础设施层设计,DTO/BO/DO之间的关系梳理清楚
  • checkstyle安装
  • apollo集成

博客参考

spring cloud实践

实验步骤

  1. 开启配置中心

    本实例使用的是nacos,已经部署在云端,无需配置

  1. 开启注册中心

    使用consul,则需要手动启动

consul agent -server -ui -dev

    访问页面: http://localhost:8500/ui

在这里插入图片描述

  1. 开启两个provider

    provider1:

java -Dserver.port=9999 -jar provider/target/provider-0.0.1-SNAPSHOT.jar

在这里插入图片描述     provider2:

java -Dserver.port=9998 -jar provider/target/provider-0.0.1-SNAPSHOT.jar

在这里插入图片描述     可以看到会往consul上注册服务,且注册了actuator的健康检测连接,consul每10秒会调用这个链接检测存活。

  1. 开启一个consumer,并调用接口测试consumer
java -Dserver.port=9991 -jar consumer/target/consumer-0.0.1-SNAPSHOT.jar

在这里插入图片描述

    通过consul ui可以看到已经启动了3个instance:

http://localhost:8500/ui/dc1/services

在这里插入图片描述 在这里插入图片描述

    访问页面:

http://localhost:9991/getUserByName?name=xiaoming

    consumer: 在这里插入图片描述     调用了provider2: 在这里插入图片描述

    再次访问,则调用provider1:说明底层使用roundrobin负载均衡 在这里插入图片描述

  1. nacos测试:

    nacos上的值: 在这里插入图片描述

    调用http://localhost:9991/getKey,得到myKey的值: 在这里插入图片描述

    修改myKey:

curl -X POST "http://101.43.195.208:8848/nacos/v1/cs/configs?dataId=spring-cloud-consumer.properties&group=DEFAULT_GROUP&content=myKey=123"

在这里插入图片描述

    可以看到整个文件内容都被替换了,原来的useLocalCache也没有值了。 在这里插入图片描述     再次getKey: 在这里插入图片描述 6. 异常测试:

    (1) 超时测试,会调用三次provider:

   http://localhost:9991/timeout?timeout=2

在这里插入图片描述 consumer: 在这里插入图片描述 provider1: 在这里插入图片描述

provider2: 在这里插入图片描述

    (2) 运行时异常,500,不重试

http://localhost:9991/fail?name=xiaoming

在这里插入图片描述

consumer: 在这里插入图片描述 provider2: 在这里插入图片描述

更多精彩样例,请关注公众号:

扫一扫

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published