# springcloud2021基础框架 **Repository Path**: cjq685286/future ## Basic Information - **Project Name**: springcloud2021基础框架 - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-02-04 - **Last Updated**: 2021-03-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # springcloud2021基础框架 #### 介绍 1.注册中心springcloud-eureka-server Eureka:http://chenjiqiang.club:8100/ Eureka客户端需注意: 加上该行配置,否则服务器读不到应用服务器的真正IP # 优先使用IP地址方式进行注册服务 prefer-ip-address: true 或者可以直接指定ip # 配置使用指定IP ip-address: http://172.20.10.2/ 2.系统管理springcloud-system Swagger2:http://172.20.10.2:8200/swagger-ui.html Rest: http://172.20.10.2:8200/login/hello 3.用户中心springcloud-user Swagger2:http://172.20.10.2:8300/swagger-ui.html Feign链路:controller-->service-->serviceImpl-->client-->fallback 模块与模块之间,负载均衡,容错降级 4.网关springcloud-gateway  基本转发功能,熔断功能,限流功能以及功能的综合使用(压测) RequestRateLimiter限流:令牌桶算法 ## 限流 - name: RequestRateLimiter args: ### 限流过滤器的 Bean 名称 key-resolver: '#{@uriKeyResolver}' ### 希望允许用户每秒处理多少个请求(令牌桶放入令牌的速度) redis-rate-limiter.replenishRate: 10 ### 用户允许在一秒钟内完成的最大请求数(令牌桶的容积) redis-rate-limiter.burstCapacity: 20 ### 用户每个请求消耗多少个令牌 redis-rate-limiter.requestedTokens: 1 Hystrix熔断: 流量达到最大值或者服务超时不可用都会返回fallbackUri方法 - name: Hystrix args: name: fallbackcmd ### fallback 时调用的方法 http://localhost:8000/fallback fallbackUri: forward:/fallback 以及超时配置 # hystrix 信号量隔离,5秒后自动超时 hystrix: command: default: execution: isolation: strategy: SEMAPHORE thread: timeoutInMilliseconds: 5000 shareSecurityContext: true 方案一: 服务所在的实例只开放内网端口 外网端口只对 gateway 开放 方案二: 1、所有接口都要通过认证才能访问,有时候又有需求,不需要认证就可以访问。 2、在网关中给所有请求加上一个请求密钥 3、在服务添加过滤器,验证密钥 5.Zipkin 链路追踪 可以使用它来收集各个服务器上请求链路的跟踪数据,并通过它提供的 REST API 接口来辅助我们查询跟踪数据以实现对分布式系统的监控程序,从而及时地发现系统中出现的延迟升高问题并找出系统性能瓶颈的根源。除了面向开发的 API 接口之外,它也提供了方便的 UI 组件来帮助我们直观的搜索跟踪信息和分析请求链路明细,比如:可以查询某段时间内各用户请求的处理时间等 Jar包下载地址: https://search.maven.org/remote_content?g=io.zipkin.java&a=zipkin-server&v=LATEST&c=exec 启动: Java -jar zipkin-server-2.12.9-exec.jar 访问: http://www.chenjiqiang.club:9411 6.容器化技术Docker 私有镜像仓库操作: 个人控制台-->产品与服务-->容器镜像服务-->镜像仓库 有教程说明 1、本地构建镜像 mvn install dockerfile:build 2、登陆阿里云私有仓库 docker login --username=978491323@qq.com registry.cn-qingdao.aliyuncs.com 2、打标签 docker tag b5ecc5d8f5c1 registry.cn-qingdao.aliyuncs.com/cjq_images/springcloud:spring-eureka-server-001/ 3、推送到镜像私有仓库 docker push registry.cn-qingdao.aliyuncs.com/cjq_images/springcloud:spring-eureka-server-001 4、应用服务器从仓库拉取镜像 docker pull registry.cn-qingdao.aliyuncs.com/cjq_images/springcloud:spring-eureka-server-001 5.启动容器 docker run -d --name spring-eureka-server -p 8100:8100 b5ecc5d8f5c1 #### 软件架构 软件架构说明 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)