史上最轻松的微服务 SpringCloud 入门到实战教程
文章平均质量分 75
错过了这一篇,你可能再也学不会 Spring Cloud 了!Spring Boot做为下一代 web 框架,Spring Cloud 作为最新最火的微服务的翘楚,你还有什么理由拒绝。赶快上船吧,老船长带你飞!
beyondwild
愿你眸有星辰,心有山河,以梦为马,不负韶华!
展开
-
十.子微服务调用子微服务时配置http在yml文件中的使用方式,此配置方式不好维护(需要更改yml配置文件)不推荐使用 —— 然而使用Ribbon(客户端负载均衡的子微服务)使用服务发现到eureka
1. maven子项目 microservice-consumer-movie —— 注册到 microservice-discovery-eureka 项目提供的 Eureka Server 服务上 —— 第三启动服务 1.1. 创建子微服务 main方法加载 SpringApplication 启动 Eureka Server 服务 文件地址 —— microservice-consu...原创 2022-03-17 07:54:42 · 491 阅读 · 0 评论 -
九.微服务容错(spring cloud断路器使用方式, eureka+Feign+Hystrix)—— Feign内置Hystrix和Ribbon功能 —— 实现源码
1. maven子项目 microservice-consumer-movie-feign-with-hystrix —— 注册到 microservice-discovery-eureka 项目提供的 Eureka Server 服务上 —— 第六启动服务 1.1. 创建子微服务 main方法加载 SpringApplication 启动 Eureka Server 服务 文件...原创 2022-03-17 07:53:51 · 279 阅读 · 0 评论 -
八.微服务容错(spring cloud断路器使用方式, eureka+Ribbon+Hystrix) —— 实现源码
1. 雪崩效应 (AB)——>C——>D :表示当D微服务错误关闭时,C的请求会发生错误,直到C也错误关闭,AB相继错误关闭 2. 实现容错的方案 2.1. 为请求设置超时 通过网络请求其他服务时,都必须设置超时。正常情况下,一个远程调用一般在几十毫秒内就能得到响应了。如果依赖的服务不可用,或者网络有问题,响应时间将会变得很长(几十秒)。 ...原创 2022-03-17 07:52:55 · 535 阅读 · 0 评论 -
七. Feign —— Feign是Netflix开发的声明式、模板化的HTTP客户端, Feign可以帮助我们更快捷、优雅地调用HTTP API(页面访问时传递多个参数,使用Feign在服务端可以设
@RequestParam 可以接收页面传递多个参数,接收时可以不使用单一参数或实体类方式接收) —— 实现源码 Feign 的负载均衡包含 Ribbon 功能 —— 使用Feign时已经包含了Ribbon功能 —— Feign内置Hystrix和Ribbon功能 1. maven子项目 microservice-consumer-movie-feign —— 注册到 microservice-di...原创 2022-03-17 07:44:12 · 550 阅读 · 0 评论 -
六. Ribbon —— 客户端负载均衡 —— 实现源码
Ribbon是一个客户端负载均衡器,在配置文件中列出Load Balancer后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器,容易使用Ribbon实现自定义的负载均衡算法 (上面的 microservice-provider-user 为提供者子微服务可以重复启动,只需要更改 application.yml 文件中配置的端口号 port 和已经启动相同子微服务但端口号不重复即可, ...原创 2022-03-17 07:43:27 · 455 阅读 · 0 评论 -
五. eureka —— 服务发现框架(Eureka Server提供服务注册服务) —— 实现源码
microservice-discovery-eureka —— 微服务访问路径:http://user:password123@localhost:8761 microservice-provider-user —— 用户子微服务访问路径: http://localhost:7900/simple/1 1.创建maven项目子父工程项目——父项目 microservice-spring-c...原创 2022-03-17 07:39:40 · 449 阅读 · 0 评论 -
四. Eureka
1. Eureka Environment的配置: eureka.environment: 字符串 参考文档: https://github.com/Netflix/eureka/wiki/Configuring-Eureka2. Eureka DataCenter的配置 eureka.datacenter: cloud https://github.com/Netflix/eureka/wiki/Configuring-Eur...原创 2022-03-17 07:38:27 · 555 阅读 · 0 评论 -
三. Spring Cloud中,如何解决Feign/Ribbon第一次请求失败的问题?
造成该问题的原因 Hystrix默认的超时时间是1秒,如果超过这个时间尚未响应,将会进入fallback代码。而首次请求往往会比较慢(由于Ribbon是懒加载的,在首次请求时,才会开始初始化相关类),这个响应时间可能就大于1秒了。知道原因后,我们来总结一下解决方案。以feign为例,解决方案有如下四种。 方法一、将Hystrix超时设长 hystrix.command.default.execution.isolation.thread.timeoutInMill...原创 2022-03-17 07:34:43 · 950 阅读 · 0 评论 -
二. Springboot项目中多个main方法启动问题
一. Dubbo 和 SpringCloud 不同点和区别 1. Dubbo 使用 RPC 通讯协议 —— 远程过程调用 2. Spring Cloud 使用 HTTP 协议的 REST API二. Springboot项目中多个main方法启动问题 SpringBoot项目通过扫描整个项目查找main方法来启动整个web。但是当项目中含有不止一个标准main方法时,项目打包成jar包时可能无法正常启动,找不到要启动的main; 1 修改pom....原创 2022-03-17 07:33:19 · 2770 阅读 · 0 评论 -
一. Dubbo 和 SpringCloud 不同点和区别
1. Dubbo 使用 RPC 通讯协议 —— 远程过程调用 2. Spring Cloud 使用 HTTP 协议的 REST API原创 2022-03-17 07:36:05 · 854 阅读 · 0 评论