Spring Cloud
有时有味
这个作者很懒,什么都没留下…
展开
-
SpringCloud进击 | 一浅出:服务注册与发现(Eureka)【Finchley版本】
1.前言Spring Cloud 已经帮我们实现了服务注册中心,我们只需要很简单的几个步骤就可以完成。关于理论知识,我想大家都已经有不同程度上的了解和认识,这里,我们最后再进行总结。本系列 Spring Cloud 介绍基于 Spring Boot 2.0.5 版本和 Spring Cloud Finchley.SR1 版本。Finchley 版与 Spring Boot 2.0.x 兼容...原创 2018-09-26 20:52:43 · 3230 阅读 · 0 评论 -
SpringCloud进击 | 二浅出:服务消费者(Ribbon+REST)【Finchley版本】
1.前言上一节我们实践的是 Spring Cloud 的服务注册与发现。在微服务架构中,业务基本上都会被拆分成一个独立的服务,服务与服务的通讯是基于 http restful 的。Spring Cloud 有两种服务调用方式,一种是 Ribbon + RestTemplate,另一种是 Feign。Ribbon是一个负载均衡客户端,可以很好的控制HTTP和TCP的一些行为。我们这章就来讲讲它 -- Ribbon,如何使用 Eureka 服务注册中心,搭建一个简单的服务端注册服务,客户端调用服务的案.原创 2018-09-27 18:19:36 · 814 阅读 · 0 评论 -
SpringCloud进击 | 三浅出:服务消费者(Feign)【Finchley版本】
1.前言上一节讲述了如何通过 Ribbon + RestTemplate 的方式去消费服务,而在实际工作中,我们基本上都是使用 Feign 来完成调用。这篇就来说说如何通过 Feign 实现服务消费者去消费服务。Feign 默认集成了 Ribbon,并和 Eureka 结合,默认实现了负载均衡的效果。其特点有:可插拔的注解支持 支持可插拔的 HTTP 编码器和解码器 支持 Hystrix 和它的 Fallback 支持 Ribbon 的负载均衡 支持 HTTP 请求和响应的压缩..原创 2018-09-28 17:03:48 · 754 阅读 · 0 评论 -
SpringCloud进击 | 四浅出:断路器与容错(Hystrix)【Finchley版本】
1.前言断路器:Hystrix 客户端,字面上理解,就是断开一端和另一端之间的链路。当某个服务单元发生故障之后,通过断路器的故障监控,向调用方返回一个预留的、可处理的备选响应,即服务降级(FallBack),而不是长时间的等待,或者抛出调用方无法处理的异常。在微服务架构中,根据业务来拆分成一个一个的服务,服务与服务之间可以相互调用(RPC)。在 Spring Cloud 中可以用 RestTemplate+Ribbon 或者 Feign 来调用。但是为了保证它的高可用性,单个服务通常会集群部署。原创 2018-10-10 14:12:03 · 809 阅读 · 0 评论 -
SpringCloud进击 | 五浅出:服务网关 - 路由(Zuul Router)【Finchley版本】
1.前言路由,微服务体系结构的一个组成部分,是 Netflix 基本 JVM 的路由器和服务端的负载均衡器。形象一点就是我们经常会看到的像请求路径:/api/user 映射到用户服务,/api/cart 映射到购物车服务。是的,路由(/)可以映射到你的Web应用程序,到某个模块,到某个具体的服务。我们知道,在微服务中,后台服务往往不是直接开放给调用者,而是通过 Gateway 网关根据请求的 URL,路由到相应的服务。这种情况下,Gateway一般都封装了一套API,当添加 GatewayAPI .原创 2018-10-24 18:45:28 · 746 阅读 · 0 评论 -
SpringCloud进击 | 六浅出:服务网关 - 过滤器(Zuul Filter)【Finchley版本】
1.前言Zuul 本身是一系列过滤器的集成,那么他当然也就提供了自定义过滤器的功能,Zuul 提供了四种过滤器:前置过滤器,路由过滤器,错误过滤器,简单过滤器。实现起来也非常简单,只需要编写一个类去实现 Zuul 提供的接口 - ZuulFilter。上一节:SpringCloud进击 | 五浅出:服务网关 - 路由(Zuul Router)【Finchley版本】2.准备延用第五节的项目,并分别启动以下模块:服务注册中心:wei-eureka-server,端口号:8090(无需.原创 2018-10-30 18:18:42 · 742 阅读 · 0 评论 -
SpringCloud进击 | 七浅出:配置中心(Git配置与更新)【Finchley版本】
1.前言在本文,我们将构建一个基于 Git 版存储的分布式配置中心,并对客户端进行改造,其能够从远程配置中心获取配置信息,并绑定到代码中的 Spring Cloud Config 配置中心模块。Spring Cloud ConfigSpring Cloud 团队创建的一个全新项目 用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,它分为服务端与客户端两个部分 实现了对服务端和客户端中环境变量和属性配置的抽象映射,所以它除了适用于 Spring 构建的应用程序之外,也可以在任何原创 2018-11-05 18:05:25 · 662 阅读 · 0 评论 -
SpringCloud进击 | 一深入:配置中心(服务化与高可用)【Finchley版本】
1.前言通常情况下,Config Server 与 Eureka 服务注册中心一样,也需要将其架构成高可用的集群。所以,我们来改进一下,以一种更为简单的方式 -- 把 Config Server 也注册为服务。这样,所有客户端就能以服务的方式进行访问,通过这种方法,只需要启动多个指向同一 Git 仓库位置的 Config Server 就能实现高可用的分布式配置中心。而配置中心基础实现见上一节,因为本节会继续延用上一节的代码,并进行相应改造。2.准备先来回顾一下前面浅出系列我们都...原创 2018-11-07 18:18:33 · 570 阅读 · 0 评论 -
SpringCloud进击 | 二深入:配置中心(消息总线)【Finchley版本】
1.前言Spring Cloud Bus 为 Spring 的事件、消息总线,通过轻量消息代理连接各个分布的节点,用于在集群(例如,配置变化事件)中传播状态变化,或者其他的消息指令,可与 Spring Cloud Config 联合实现热部署。Spring Cloud Bus 的一个核心思想是通过分布式的启动器对 Spring Boot 应用进行扩展,也可以用来建立一个多个应用之间的通信频道。目前唯一实现的方式是用 AMQP 消息代理作为通道。Spring Cloud Bus 被国内很多都翻译为原创 2018-11-13 19:20:15 · 822 阅读 · 0 评论 -
SpringCloud进击 | 三深入:服务链路跟踪(Spring Cloud Sleuth)【Finchley版本】
1.前言1.1.三句话讲需求随着业务的不断发展和系统壮大,一般系统都会经过由早期的业务集中性,逐渐发展到中期的业务分离与模块化的扩展性、健壮性,再到后期的高稳定性、高可维护性,这一路上的演进、系统拆分等将会导致系统调用链路越来越复杂。比如一个前端请求到达后台后,可能最终需要涉及多个模块或者调用很多次后台服务才能完成业务处理,而当整个请求变慢或不可用时,我们是无法得知该请求是由某个或某些后台服务引起的(这个时候往往会让人很头疼,如果有服务调用关系图就有如神助),这时就需要解决如何快速定位服务故障点原创 2018-11-30 22:25:49 · 1420 阅读 · 0 评论 -
SpringCloud进击 | 四深入:服务链路跟踪(Sleuth+Zipkin+RabbitMQ整合)【Finchley版本】
1.前言通过上一节的学习,我们了解到 Zipkin 服务端,在使用 Spring Boot 2.x 版本后,官方就不推荐自行定制编译了,而是直接提供了编译好的 jar 包来给我们使用,所以在最新版本的 Spring Cloud 依赖管理里已经找不到 zipkin-server 了。那么怎样直接用官方提供的jar 包从 RabbitMQ 中获取 trace 信息呢?接下来我们就对Spring Cloud Sleuth + Zipkin + RabbitMQ 进行整合和验证。2.准...原创 2018-12-29 22:17:33 · 2109 阅读 · 0 评论 -
SpringCloud进击 | 五深入:断路器监控(Hystrix Dashboard)【Finchley版本】
1.前言在上一篇 Hystrix的介绍中,我们提到断路器是根据一段时间窗内的请求情况来判断并操作断路器的打开和关闭状态的。而这些请求情况的指标信息都是 HystrixCommand 和 HystrixObservableCommand 实例在执行过程中记录的重要度量信息,它们除了 Hystrix 断路器实现中使用之外,对于系统运维也有非常大的帮助。Hystrix 除了隔离依赖服务的调用以外,还提供了准实时的调用监控(Hystrix Dashboard),Hystrix 会持续地记录所有通过 Hy..原创 2018-12-30 23:29:53 · 594 阅读 · 0 评论 -
SpringCloud进击 | 六深入:断路器聚合监控(Hystrix Turbine)【Finchley版本】
1.前言在复杂的分布式系统中,相同服务的节点经常需要部署上百甚至上千个,很多时候,运维人员希望能够把相同服务的节点状态以一个整体集群的形式展现出来,这样可以更好的把握整个系统的状态。 为此,Netflix 提供了一个开源项目(Turbine)来提供把多个 hystrix.stream 的内容聚合为一个数据源供 Dashboard 展示。上一节:SpringCloud进击 | 五深入:断路器监控(Hystrix Dashboard)【Finchley版本】2.准备一个服务注册中心:wei.原创 2019-01-15 18:19:10 · 471 阅读 · 0 评论 -
SpringCloud进击 | 七深入:高可用的服务注册中心【Finchley版本】
1.前言在浅出系列的第一节:SpringCloud进击 | 一浅出:服务注册与发现(Eureka)【Finchley版本】介绍了服务注册与发现,其中服务注册中心,是一个实例,所以,当成千上万个服务向它注册的时候,它的负载是非常高的,如果遇到故障就是毁灭性的,这在生产环境上是不理想的架构,所以,我们需要Eureka Server 集群化。在一个分布式系统中,服务注册中心是最重要的基础部分,理应随时处于可以提供服务的状态。Eureka 通过互相注册的方式来实现高可用的部署,所以我们只需要将 Eurek.原创 2019-01-17 22:20:28 · 544 阅读 · 0 评论