SpringCloud
Epiphany丶
未来很远,只有打好地基,才能走得更稳!
展开
-
SpringCloud微服务架构(一)Eureka,对比zookeeper有何不同?
注册中心Eureka注册中心注册中心的结构有点类似于MessageQueue,服务的提供者跟消费者第一步都是要先注册到注册中心。但是它的特点在于不用每次都去注册中心获取,而是会把信息存到本地缓存,从缓存中获取,性能特别快,另外它内部配有心跳检测机制,当注册中心信息改变,自动获得最新信息至本地,同时心跳机制保证分布式环境下,服务宕机后,自动从注册中心移除!EurekaEureka是Netf...原创 2019-08-20 10:29:24 · 898 阅读 · 0 评论 -
SpringCloud微服务架构(二)Ribbon,对比Nginx有何不同?
RibbonRibbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。Spring Cloud Ribbon虽然只是一个工具类框架,它不像服务注册中心、配置中心、API网关那样需要独立部署,但是它几乎存在于每一个Spring Cloud构建...原创 2019-08-20 15:49:19 · 1214 阅读 · 0 评论 -
SpringCloud微服务架构(三)Feign
概念Feigh是一个声明式web服务客户端。它能让开发web服务变得容易。使用Feign需要创建一个接口并注解它。它拥有包括Feign注解和JAX-RS注解的可插拔支持。它还支持可插拔的编码器和解码器。Spring Cloud拥有Spring MVC支持,并使用Spring Web中默认同样的HttpMessageConverters。在使用Feign时,Spring Cloud集成了Ribbo...原创 2019-08-22 09:36:58 · 465 阅读 · 1 评论 -
SpringCloud微服务架构(四)Hystrix
概念大意是一个系统依赖30个微服务,假设每个微服务可用时间是99.99%,换算成整个系统就是99.99的30次方约99.7%可用时间,0.3%不可用。1亿的请求有30万失败。30天有2个多小时不能正常提供服务。现实通常比这更糟糕。举个例子:假设我们在电商网站买东西,从下单到完成要依赖三个微服务:订单、支付、物流。遇上双11或618,客户的订单蜂拥而至,这时候物流微服务可能因为程序优化不好或者...原创 2019-08-22 09:50:40 · 204 阅读 · 0 评论 -
SpringCloud微服务架构(五)Zuul
客户端与微服务直接通信的问题1.客户端的需求和每个微服务暴露的细粒度 API 不匹配。比如一个电商系统,通常客户端发起一个请求,可能关联了很多个独立的服务。需要向每个独立服务都发起一个请求,然而,客户端通过 LAN 发送许多请求,这在公网上可能会很低效,在移动网络上就根本不可行。这种方法还使得客户端代码非常复杂。2.客户端直接调用微服务的另一个问题是,部分服务使用的协议对 web 并不友好。一...原创 2019-08-28 14:59:02 · 260 阅读 · 0 评论