微服务
文章平均质量分 93
aoho
公众号:aoho求索。个人博客地址: http://blueskykong.com
展开
-
深入了解分布式事务组件 Seata :AT 模式(二)
在前面一篇文章,我们介绍了阿里开源的分布式事务组件 Seata 的相关概念,重点介绍了 Seata 的 AT 模式。并通过一个 Spring-Cloud-JPA 的案例,演示了 AT 模式的使用入门。本文将会结合 Spring-Cloud-JPA 的案例,深入了解 Seata AT 模式的工作流程。本文基于 v0.8.1。AT 模式与 TCC 模式Seata AT 模式是基于两阶段提交模式设计...原创 2019-11-28 23:57:41 · 650 阅读 · 0 评论 -
服务注册与发现组件 Eureka 客户端实现原理解析
在前面的文章介绍了,如何使用服务注册发现组件: Eureka,并给出使用示例。本文在此基础上,将会讲解 Eureka 客户端实现的内幕,结合源码深入实现的细节,知其所以然。客户端需要重点关注以下几点:从Eureka Server中拉取注册表信息全量拉取注册表信息增量式拉取注册表信息注册表缓存刷新定时器与续租(心跳)定时器服务注册与服务按需注册服务实例的下线本文摘录于笔者出版的书籍...原创 2019-09-22 23:08:13 · 956 阅读 · 0 评论 -
服务注册与发现组件 Eureka 应用实战
本文摘录于笔者出版的书籍 《Spring Cloud 微服务架构进阶》一书什么是服务注册与发现在传统的单体应用中,组件之间的调用通过有规范约束的接口进行,实现不同模块间良好协作。在微服务架构中,原本的’巨石’应用按照业务被分割成相对独立的、提供特定功能的服务,每一个微服务都可以通过集群或者其他方式进行动态的扩展,每一个微服务实例的网络地址都可能动态变化,这使得原本通过硬编码地址的调用方式失去了...原创 2019-08-19 20:55:42 · 598 阅读 · 0 评论 -
如何在 Spring 异步调用中传递上下文
什么是异步调用?异步调用是相对于同步调用而言的,同步调用是指程序按预定顺序一步步执行,每一步必须等到上一步执行完后才能执行,异步调用则无需等待上一步程序执行完即可执行。异步调用指,在程序在执行时,无需等待执行的返回值即可继续执行后面的代码。在我们的应用服务中,有很多业务逻辑的执行操作不需要同步返回(如发送邮件、冗余数据表等),只需要异步执行即可。本文将介绍 Spring 应用中,如何实现异步...原创 2019-08-01 22:19:28 · 4389 阅读 · 3 评论 -
详解微服务架构中的全链路追踪
介绍分布式环境下,尤其是微服务架构应用广泛,各个服务按照不同的维度进行拆分,一次请求请求往往需要涉及到多个服务。这些服务之间的调用可能非常复杂。因此,全链路调用的跟踪就变得非常重要,我们需要一些可以帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决。主要内容本场 Chat 的主要内容:问题背景Google Dapperopentracing 规范常用的...原创 2019-07-10 20:05:26 · 2261 阅读 · 0 评论 -
微服务中集成分布式配置中心 Apollo
背景随着业务的发展、微服务架构的升级,服务的数量、程序的配置日益增多(各种微服务、各种服务器地址、各种参数),传统的配置文件方式和数据库的方式已无法满足开发人员对配置管理的要求:配置修改后实时生效,灰度发布,分环境、分集群管理配置,完善的权限、审核机制。分布式环境下,这些配置更加复杂。因此,我们需要配置中心来统一管理配置!把业务开发者从复杂以及繁琐的配置中解脱出来,只需专注于业务代码本身,从而...原创 2019-05-28 21:29:05 · 589 阅读 · 0 评论 -
微服务网关Spring Cloud Gateway的应用实战
今天和大家聊一下微服务网关 Spring Cloud Gateway。Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于Spring 5.0、Spring Boot 2.0 和Project Reactor 等组件技术,Spring Cloud Gateway的性能和功能表现都很优异。笔者去年也写了几篇关于Spring Cloud Gateway...原创 2019-02-12 21:58:34 · 2337 阅读 · 1 评论 -
Spring Boot 2 Webflux的全局异常处理
本文首先将会回顾Spring 5之前的SpringMVC异常处理机制,然后主要讲解Spring Boot 2 Webflux的全局异常处理机制。SpringMVC的异常处理Spring 统一异常处理有 3 种方式,分别为:使用 @ExceptionHandler 注解实现 HandlerExceptionResolver 接口使用 @controlleradvice 注解使用@Ex...转载 2018-12-18 20:24:31 · 4088 阅读 · 1 评论 -
Hystrix断路器在微服务网关中的应用(Spring Cloud Gateway)
前文回顾在之前的一篇文章:微服务网关Zuul迁移到Spring Cloud Gateway,我们讲解了如何从Zuul迁移到新的组件:Spring Cloud Gateway,以及扩展了微服务网关的功能,包括限流过滤器、断路器过滤器等。然而很多读者在使用的时候反馈,使用POSTMAN发送GET请求测试断路器是正常的,然而POST请求会出现:{ "timestamp": "2018-10-...原创 2018-12-19 15:22:55 · 3105 阅读 · 0 评论 -
Spring Cloud OpenFeign集成Protocol Buffer
本文作者张天,著有《Spring Cloud 微服务架构进阶》一书。背景 在之前的文章中,我们介绍过基于Spring Cloud微服务架构,其中,微服务实例之间的交互方式一般为RESTful HTTP请求或RPC调用。Spring Cloud已经为开发者提供了专门用于RESTful HTTP请求处理的OpenFeign组件,但是并没有相关的RPC调用组件。今天,我们就要定制OpenFeig...原创 2018-10-07 16:15:55 · 2001 阅读 · 0 评论 -
Spring Cloud Stream应用与自定义RocketMQ Binder:编程模型
前言: 本文作者张天,节选自笔者与其合著的《Spring Cloud微服务架构进阶》,即将在八月出版问世。本文将其中Spring Cloud Stream应用与自定义Rocketmq Binder的内容抽取出来,主要介绍Spring Cloud Stream的相关概念,并概述相关的编程模型。概述Spring Cloud Stream 简介Spring Cloud Stream 是一...原创 2018-06-23 17:19:36 · 2463 阅读 · 1 评论 -
Spring Retry重试机制
在调用第三方接口或者使用mq时,会出现网络抖动,连接超时等网络异常,所以需要重试。为了使处理更加健壮并且不太容易出现故障,后续的尝试操作,有时候会帮助失败的操作最后执行成功。例如,由于网络故障或数据库更新中的DeadLockLoserException导致Web服务或RMI服务的远程调用可能会在短暂等待后自行解决。 为了自动执行这些操作的重试,Spring Batch具有RetryOperatio...原创 2018-05-09 16:34:34 · 6490 阅读 · 1 评论