SpringCloud
# SpringCloud
lrqforest
这个作者很懒,什么都没留下…
展开
-
第八章 SpringCloud-Feign远程调用
Feign: 可以把Rest请求进行隐藏,伪装成为类似SpringMVC的controller一样,你不用再自己拼装url,拼装参数等等操作,一切都交给Feign去做 项目主页: https//github.com/OpenFeign/feign 实现: 引入依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-op原创 2020-05-16 10:37:20 · 200 阅读 · 0 评论 -
第七章 SpringCloud-Hystrix熔断器
Hystrix: 翻译为豪猪,是一种保护机制,是Netflix公司的一款组件 为什么要保护: 雪崩问题: 微服务中,服务间调用关系错综复杂,一个请求,可能需要调用多个微服务接口才能实现,会形成非常复杂的调用链路 如果一个请求发生异常,请求阻塞,用户不会得到响应,则tomcat这个线程不会释放,于是越来越多的用户请求会导致越来越多的线程会阻塞 服务器支持的线程和并发数有限,请求一直阻塞,会导致服务器资源耗尽,从而导致所有其他的服务都不可用,形成雪崩效应 解决方案: 线程隔离 服务熔断(降级) 线程隔离,服务降原创 2020-05-16 10:35:06 · 174 阅读 · 0 评论 -
第六章 SpringCloud-Ribbon负载均衡
Ribbon 负载均衡 负载均衡算法: 随机,轮询(Ribbon默认),hash,最小访问 实现: 1. 在消费者pom中添加依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-ribbon</artifactId> </dependency> 2. 在restTemplate原创 2020-05-16 10:29:42 · 100 阅读 · 0 评论 -
第五章 SpringCloud-高可用的Eureka服务配置
高可用方案: 1. Eureka 集群: 多开几个 Eureka 服务,相互注册 IDEA-》Run/Debug Configurations 复制一个EurekaServer启动服务,命名为 EurekaServer2 将EurekaServer1的注册地址改成 EurekaServer2 的地址 将EurekaServer2的注册地址改成 EurekaServer1的地址 客户端(包括Eureka注册中心),将所有的服务端地址配上,以免服务发生宕机时无其他服务可用 相互注册后,信息将会同步 当Eru原创 2020-05-16 10:25:24 · 197 阅读 · 0 评论 -
第四章 SpringCloud-Eureka注册中心
Eureka: 服务的注册中心(可以是一个集群),是独立的服务 提供者:启动后想Eureka注册自己信息(地址,提供什么服务) 消费者:想Eureka订阅服务,Eureka会将对应服务的所有提供者地址列表发送给消费者,并且定期更更新 心跳(续约):提供者定期通过http方式向Eureka刷新自己的状态 2. Eureka demo 1. 引入依赖 <dependencies> <dependency> <groupId>org.springf.原创 2020-05-16 10:22:45 · 132 阅读 · 0 评论 -
第三章 SpringCloud简介和服务调用
SpringCloud 是Sping旗下的项目之一,官网:http://projects.spring.io/spring-cloud/ 把非常流行的技术整合在一起,实现了诸如:配置管理,服务发现,智能路由,负载均衡,熔断器,控制总线,集群状态等等功能,主要涉及组件: Eureka:注册中心 Zuul:服务网关 Ribbon:负载均衡 Feign:服务调用 Hystrix:熔断器 准备工作: -- 创建mysql库 create database `test-basedata` default char原创 2020-05-16 10:17:46 · 188 阅读 · 0 评论 -
第二章 SpringCloud-服务的调用
1. 服务的调用 浏览器发起请求,会将准备好的资源发送给tomcat,tomcat 使用dispatcherServlet 转发,将结果返回到Response 1. RPC 1.1 Remote Produce Call 远程过程调用,类似的还有RMI。自定义数据格式,基于TCP通信,速度快,效率高。早起的webservice, 现在热门的dubbo,都是RPC的典型代表 TCP:传输层,三次握手建立连接,四次挥手关闭连接,建立连接比较浪费资源 RPC可以基于TCP建立长连接 必须统一格式和语言,java对原创 2020-05-16 10:12:32 · 133 阅读 · 0 评论 -
第一章 SpringCloud-服务架构演变
这里写自定义目录标题服务架构演变流动计算架构 服务架构演变 水平拆分: 网站流量少,全部功能做在一个项目里面,高耦合性 垂直拆分: 代码重复性高 分布式服务:相互独立,又相互调用 流动计算架构 SOA,面向服务的架构 注册中心:所有提供服务的人,服务的治理 问题: 3.1 服务有强依赖关系,容易引起雪崩 3.2 关系复杂,运维,测试部署的困难 微服务: 单一职责:微服务中每一个服务对应唯一的业务能力,做到单一职责 微:微服务的服务拆分粒度很小,服务虽小,但 五脏俱全 自治: 自治原创 2020-05-16 10:07:47 · 115 阅读 · 0 评论