微服务架构 Spring Cloud 组件

[b]SpringCloud分布式开发五大组件:[/b]

服务发现——Netflix Eureka

客服端负载均衡——Netflix Ribbon

断路器——Netflix Hystrix

服务网关——Netflix Zuul

分布式配置——Spring Cloud Config


[b]一、Eureka[/b]

由两个组件组成:Eureka服务器和Eureka客户端


Eureka Client:负责将这个服务的信息注册到Eureka Server中

Eureka Server:注册中心,里面有一个注册表,保存了各个服务所在的机器和端口号


[img]http://dl2.iteye.com/upload/attachment/0131/1690/5aa5db27-1d80-3486-ae5e-a9312e5032a7.png[/img]

[img]http://dl2.iteye.com/upload/attachment/0131/1665/8805f406-9ffe-312e-acca-b6c7adff07e3.png[/img]


[img]http://dl2.iteye.com/upload/attachment/0131/4779/01119fc4-d34e-3f51-a9cd-f42d7373816e.png[/img]


[b]二、Ribbon[/b]

主要提供客户侧的软件负载均衡算法。

Ribbon客户端组件提供一系列完善的配置选项,比如连接超时、重试、重试算法等。Ribbon内置可插拔、可定制的负载均衡组件。下面是用到的一些负载均衡策略:

简单轮询负载均衡

加权响应时间负载均衡

区域感知轮询负载均衡

随机负载均衡


[img]http://dl2.iteye.com/upload/attachment/0131/4773/88ec6461-3b2a-33f0-830e-eb1eee4c2220.png[/img]


[img]http://dl2.iteye.com/upload/attachment/0131/4775/f60b321d-574a-3186-8760-4732727eab29.png[/img]


[b]三、Hystrix[/b]

断路器可以防止一个应用程序多次试图执行一个操作,即很可能失败,允许它继续而不等待故障恢复或者浪费 CPU 周期,而它确定该故障是持久的。断路器模式也使应用程序能够检测故障是否已经解决。如果问题似乎已经得到纠正​​,应用程序可以尝试调用操作。


[img]http://dl2.iteye.com/upload/attachment/0131/4777/594f7801-1b1b-3d72-9c01-c8679e260744.png[/img]


[b]四、Zuul[/b]

是一个网关组件。提供动态路由,监控,弹性,安全等边缘服务的框架。


[img]http://dl2.iteye.com/upload/attachment/0131/4771/4beef36c-49fb-34cb-b791-bbade59eb3f5.png[/img]


[b]五、Spring Cloud Config[/b]

远程配置服务,这个还是静态的,得配合Spring Cloud Bus实现动态的配置更新。

远程配置是每个都必不可少的中间件,远程配置的特点一般需要:多节点主备、配置化、动态修改、配置本地化缓存、动态修改的实时推送等。

config允许配置文件放在git上或者svn上,和spring boot的集成非常容易。


[img]http://dl2.iteye.com/upload/attachment/0131/1698/92967046-3ea7-3f73-947a-9823de047af1.png[/img]


[b]六、总结[/b]


Eureka:各个服务启动时,Eureka Client都会将服务注册到Eureka Server,并且Eureka Client还可以反过来从Eureka Server拉取注册表,从而知道其他服务在哪里


Ribbon:服务间发起请求的时候,基于Ribbon做负载均衡,从一个服务的多台机器中选择一台


Hystrix:发起请求是通过Hystrix的线程池来走的,不同的服务走不同的线程池,实现了不同服务调用的隔离,避免了服务雪崩的问题


Zuul:如果前端、移动端要调用后端系统,统一从Zuul网关进入,由Zuul网关转发请求给对应的服务


[img]http://dl2.iteye.com/upload/attachment/0131/4781/9106fc19-06cc-35ce-913b-0f416a81fe71.png[/img]
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值