Java-Spring Cloud
微服务-Spring Cloud
YETA
这个作者很懒,什么都没留下…
展开
-
Spring Boot整合RabbitMQ问题分析
在《Spring Cloud及微服务(八):消息总线Spring Cloud Bus》一文中简单的介绍了Spring Boot整合RabbitMQ,现分别搭建消息生产者和消息消费者应用,分析其中的一些问题。1.依赖<dependency> <groupId>org.springframework.boot</groupId> <...原创 2019-12-13 15:35:41 · 424 阅读 · 0 评论 -
Spring Cloud及微服务(十):分布式服务跟踪Spring Cloud Sleuth
出现背景随着业务的发展,系统规模也会变得越来越大,各微服务间的调用关系也变越来越错综复杂。通常一个由客户端发起的请求在后端系统中会经过多个不同的微服务调用来协同产生最后的请求结果,在复杂的微服务架构系统中,几乎每一个前端请求都会形成一条复杂的分布式服务调用链路,在每条链路中任何一个依赖服务出现延迟过高或错误的时候都有可能引起请求最后的失败。所以,对于每个请求,全链路调用的跟踪可以帮助我们快...原创 2019-03-28 17:17:55 · 176 阅读 · 0 评论 -
Spring Cloud及微服务(九):消息驱动Spring Cloud Stream
出现背景Spring Cloud Stream是一个用来为微服务应用构建消息驱动能力的框架。通过使用Spring Integration来连接消息代理中间件以实现消息事件驱动。Spring Cloud Stream本质上就是整合了Spring Boot和Spring Integration,实现了一套轻量级消息驱动的微服务框架。Spring Boot整合Stream-Rabbit...原创 2019-03-27 17:27:57 · 385 阅读 · 0 评论 -
Spring Cloud及微服务(八):消息总线Spring Cloud Bus
出现背景在微服务架构的系统中,通常会使用轻量级的消息代理来构建一个共用的消息主题让系统中所有微服务实例都连接上来,称为消息总线。在总线上的各个实例都可以方便地广播一些需要让其他连接在该主题上的实例都知道的消息,例如配置信息的变更或其他一些管理操作等。消息代理消息代理是一种消息验证、传输、路由的架构模式。它在应用程序之间起到通信调度并最小化应用之间的依赖的作用,使得应用程序可以高...原创 2019-03-26 16:09:52 · 230 阅读 · 0 评论 -
Spring Cloud及微服务(七):分布式配置中心Spring Cloud Config
出现背景Spring Cloud Config用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,它分为服务端和客户端两个部分:服务端:也称为分布式配置中心,是一个独立的微服务应用,用来连接配置仓库并为客户端提供获取配置信息、加密/解密信息等访问接口。 客户端:是微服务架构中的各个微服务应用或基础设施,它们通过指定的配置中心来管理应用资源与业务相关的配置内容,并在启动的时候...原创 2019-03-21 16:41:00 · 184 阅读 · 0 评论 -
Spring Cloud及微服务(六):API网关服务Spring Cloud Zuul
出现背景通过上文所述的Spring Cloud Eureka实现高可用的服务注册中心以及实现微服务的注册与发现、Spring Cloud Ribbon或Spring Cloud Feign实现服务间负载均衡的接口调用、Spring Cloud Hystrix实现线程隔离并加入熔断机制,以避免在微服务架构中因个别服务出现异常而引起级联故障蔓延,此时能实现下图所示架构:Open Servi...原创 2019-03-21 16:37:08 · 283 阅读 · 0 评论 -
Spring Cloud及微服务(五):声明式服务调用Spring Cloud Feign
声明式的Web服务客户端定义方式在Spring Cloud Feign的实现下,只需创建一个借口并用注解的方式来配置它,即可完成对服务提供方的接口绑定,简化了在使用Spring Cloud Ribbon时自行封装服务调用客户端的开发量。依赖方法启动类配置参数绑定与Spring MVC一致Ribbon配置全局配置指定服务配置重试机制us...原创 2019-03-21 16:27:52 · 221 阅读 · 0 评论 -
Spring Cloud及微服务(四):服务容错保护Spring Cloud Hystrix
出现背景微服务架构中,每个服务都是一个单独的进程,有可能因为网络的原因或是服务自身出现问题出现调用故障或延迟,会导致对外服务也出现延迟,若此时调用方的请求不断增加,最后就会导致服务的瘫痪。断路器模式当某个服务发生故障之后,通过断路器的故障监控,向调用方返回一个错误响应,而不是长时间的等待。这样就不会使得线程因调用故障服务被长时间占用不释放,避免了故障在分布式系统中的蔓延。依赖...原创 2019-03-21 16:25:31 · 206 阅读 · 0 评论 -
Spring Cloud及微服务(三):客户端负载均衡Spring Cloud Ribbon
客户端负载均衡通常所说的负载均衡都是指服务端负载均衡,其中分为硬件负载均衡和软件负载均衡:硬件负载均衡:主要通过在服务器节点之间安装专门用于负载均衡的设备,比如F5等。 软件负载均衡:则是通过在服务器上安装一些具有均衡负载功能或模块的软件来完成请求分发工作,比如Nginx等。硬件负载均衡的设备或是软件如在均衡的软件模块都会维护一个下挂可用的服务端清单,通过心跳检测来剔除故障的服务端节点...原创 2019-03-21 16:20:24 · 910 阅读 · 0 评论 -
Spring Cloud及微服务(二):服务治理Spring Cloud Eureka
服务治理服务治理用来实现各个微服务实例的自动化注册与发现,在服务不多的时候,可以通过静态配置来完成服务的调用,就需要手工维护服务的具体实例清单,随着服务增多,手工维护就越来越困难,于是产生了大量的服务治理框架和产品。服务注册:首先构建一个注册中心,每个服务单元向注册中心登记自己提供的服务,将主机、端口号、版本号、通信协议等一些附加信息告知注册中心,注册中心按服务名分类组织服务清单。注册中心...原创 2019-03-21 16:16:36 · 238 阅读 · 0 评论 -
Spring Cloud及微服务(一):前置知识
什么是微服务架构微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务。服务都在各自独立的进程中运行; 服务之间通过基于HTTP的RESTful API进行通信协作; 服务围绕着系统中的某一项或一些耦合度较高的业务功能进行构建; 服务都维护者自身的数据存储、业务开发、自动化测试案例以及独立部署机制; 服务可以使用不同的语言来编写。与单体系统的区别单...原创 2019-03-21 16:03:10 · 456 阅读 · 0 评论