SpringCloud
Spring Cloud提供了一系列优秀组件
喝瓶冰阔乐
QQ号:2567269204
展开
-
5.2 API网关Zuul——过滤器
5.2 Zuul的过滤功能三.过滤器Zuul作为网关的一个重要功能,就是实现请求的鉴权。而这个动作我们往往通过Zuul提供的过滤器来实现。5.2.1 ZuulFilterZuulFilter是过滤器的顶级父类。其中定义的4个最重要的方法:public abstract ZuulFilter implements IZuulFilter{ abstract public String f...原创 2020-03-05 23:15:35 · 255 阅读 · 1 评论 -
5.1 API网关Zuul——路由器
Zuul的路由功能一.Zuul的作用Zuul是Netflix开源的微服务网关,它可以和eureka、Ribbon、Hystrix等组件配合使用。Zuul的核心是一系列的过滤器,这些过滤器可以完成以下功能。身份认证与安全:识别每个资源的验证请求,并拒绝那些与要求不符的请求。审查与监控:在边缘位置追踪有意义的数据和统计结果,从而带来精确的生产视图。动态路由:动态的将请求路由到不同的后端集群...原创 2020-03-05 23:06:10 · 137 阅读 · 0 评论 -
Ribbon负载均衡
3.1. 为什么需要负载均衡为了提供并发量,有时同一个服务提供者可以部署多个(商品服务)。这个客户端在调用时要根据一定的负责均衡策略完成负载调用。3.4.1. 是什么Ribbon是一个客户端负载均衡器Ribbon是Netflix发布的云中间层服务开源项目,主要功能是提供客户端负载均衡算法。Ribbon客户端组件提供一系列完善的配置项,如,连接超时,重试等。简单的说,Ribbon是一个客户端...原创 2020-03-05 22:05:21 · 101 阅读 · 0 评论 -
Feign
1.什么是FeignFeign是一个声明式的Web Service客户端,它的目的就是让Web Service调用更加简单。Feign提供了Http请求的模板,通过编写简单的接口和插入注解,就可以定义好Http请求的参数、格式、地址等信息。而Feign则会完全代理Http请求,我们只需要像调用方法一样调用它就可以完成服务请求及相关处理,这使得我们调用Http API更加优雅。Feign整合了R...原创 2020-02-24 19:19:44 · 294 阅读 · 0 评论 -
3.Hystrix断路器
1.为什么需要断路器1.1存在问题在理想状态下,一个应用依赖的服务都是健康可用的,我们可以正常处理所有的请求。默认情况下tomcat只有一个线程池去处理的客户端发送的所有服务请求,这样在高并发情况下,如果客户端所有的请求堆积到同一个服务接口上,就会产生tomcat的所有线程池去处理该服务接口,可能会导致其他服务奔溃。1.2简介Hystrix,英文意思是豪猪,全身是刺,看起来就不好惹,是一种...原创 2020-02-24 16:09:11 · 129 阅读 · 0 评论 -
2.1Eureka高可用集群搭建
Eureka高可用集群搭建1.为什么需要集群如果只有一个注册中心服务器,会存在单点故障所以要集群部署。这样即使集群中某个节点出现宕机等故障,系统仍可以从其他节点拉取微服务地址,从而正常运行。2.集群搭建生产环境把Eureka部署多个服务器就ok了,开发阶段可以使用同一台主机不同端口号来模拟集群:2.1 准备2个EurekaServer工程,需要相互注册server1: 9000se...原创 2020-02-23 21:50:16 · 143 阅读 · 0 评论 -
2.2 Zookeeper做注册中心
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。ZooKeeper的基本运转流程:...原创 2020-02-23 20:20:05 · 108 阅读 · 0 评论 -
2.服务注册与发现Eureka基础
新建空项目SpringCloudDemo使用Spring脚手架搭建服务提供方和服务消费方2个模块服务提供方的依赖服务消费方的依赖原创 2020-02-23 19:37:46 · 134 阅读 · 0 评论 -
1.网站架构演变过程简述
网站架构演变过程传统架构(单体应用)->分布式架构(以项目进行拆分)->SOA(面向服务架构)->微服务架构1.Monolith(单体应用)架构1.1.1. 什么是单体应用首先请回想一下我们所开发的服务是什么样子的。通常情况下,这个服务所对应的代码由多个项目所组成,各个项目会根据自身所提供功能的不同具有一个明确的边界。在编译时,这些项目将被打包成为一个个JAR包,并最终合...原创 2020-02-17 14:38:07 · 424 阅读 · 0 评论