一.背景 在微服务架构中,我们常常使用异步化的手段来提升系统的 吞吐量 和 解耦 上下游,而构建异步架构最常用的手段就是使用 消息队列(MQ),那异步架构怎样才能实现数据一致性呢?本文主要介绍如何使用RocketMQ的事务消息来解决一致性问题. RocketMQ 是阿里巴巴开源的分布式消息中间件,目前已成为 Apache 的顶级项目.历经多次天猫双十一海量消息考验,具有高性能.低延时和高可靠等特性 PS:同步场景怎样保证一致性?请看文章<Spring Cloud同步场景分布式事务怎样做?试试Se…
一.概述 在微服务架构下,虽然我们会尽量避免分布式事务,但是只要业务复杂的情况下这是一个绕不开的问题,如何保证业务数据一致性呢?本文主要介绍同步场景下使用Seata的AT模式来解决一致性问题. Seata是 阿里巴巴 开源的 一站式分布式事务解决方案 中间件,以 高效 并且对业务 0 侵入 的方式,解决 微服务 场景下面临的分布式事务问题   二.Seata介绍 整体事务逻辑是基于 两阶段提交 的模型,核心概念包括以下3个角色: TM:事务的发起者.用来告诉 TC,全局事务的开始,提交,回滚.…
一.说明 网关的核心概念就是路由配置和路由规则,而作为所有请求流量的入口,在实际生产环境中为了保证高可靠和高可用,是尽量要避免重启的,所以实现动态路由是非常有必要的:本文主要介绍 Spring Cloud Gateway 实现的思路,并且以Nacos为数据源来讲解 PS:关于 Spring Cloud Zuul 的动态路由请看文章<Spring Cloud Zuul的动态路由怎样做?集成Nacos实现很简单>   二.实现要点 要实现动态路由只需关注下面4个点 网关启动时,动态路由的数据怎样加…
​ ​本文是Spring Cloud专栏的第九篇文章,了解前八篇文章内容有助于更好的理解本文: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring Cloud第二篇 | 使用并认识Eureka注册中心 Spring Cloud第三篇 | 搭建高可用Eureka注册中心 Spring Cloud第四篇 | 客户端负载均衡Ribbon Spring Cloud第五篇 | 服务熔断Hystrix Spring Cloud第六篇 | Hystrix仪表盘监…
Spring Cloud Config 实现分布式配置中心 一.分布式配置中心 分布式系统中,往往拥有大量的服务应用,而每个应用程序都需要有对应的配置文件来协助完成服务环境初始化.运行.因此生产了大量的服务配置文件,Spring Cloud Config 可以实现配置文件的统一管理,它支持将配置服务放置在服务端的内存中(即服务端的本地内存),并且它也默认支持 git,所以我们也可将配置文件放置在 git 仓库,以便于我们的访问和开发. 二.Spring Cloud Config 起步 实现管理配…
我们平时的工作中用到的Spring事务管理是管理一个数据源的.但是如果对多个数据源进行事务管理该怎么办呢?我们可以用JTA和Atomikos结合Spring来实现一个分布式事务管理的功能.了解JTA可以看一下这篇文章.下面我们看怎么实现分布式事务的. 步骤一:添加pom.xml依赖 步骤二:准备配置文件.jdbc.properties,jta.properties jdbc.properties jdbc.driver=com.mysql.jdbc.Driver jdbc.one.url=jdb…
我们在Spring Cloud(七):使用SVN存储分布式配置中心文件和实现refresh中讲到,如果需要客户端获取到最新的配置信息需要执行refresh,我们可以利用webhook的机制每次提交代码发送请求来刷新客户端,当客户端越来越多的时候,需要每个客户端都执行一遍,这种方案就不太适合了.使用Spring Cloud Bus可以完美解决这一问题. Spring Cloud Bus Spring cloud bus通过轻量消息代理连接各个分布的节点.这会用在广播状态的变化(例如配置变化)或者其…
1.事务的定义:事务是指多个操作单元组成的合集,多个单元操作是整体不可分割的,要么都操作不成功,要么都成功.其必须遵循四个原则(ACID). 原子性(Atomicity):即事务是不可分割的最小工作单元,事务内的操作要么全做,要么全不做: 一致性(Consistency):在事务执行前数据库的数据处于正确的状态,而事务执行完成后数据库的数据还是应该处于正确的状态,即数据完整性约束没有被破坏:如银行转帐,A转帐给B,必须保证A的钱一定转给B,一定不会出现A的钱转了但B没收到,否则数据库的数据就处于…
原创说明:本文为本人原创作品,绝非他处转载,转账请注明出处 1.事务的定义:事务是指多个操作单元组成的合集,多个单元操作是整体不可分割的,要么都操作不成功,要么都成功.其必须遵循四个原则(ACID). 原子性(Atomicity):即事务是不可分割的最小工作单元,事务内的操作要么全做,要么全不做: 一致性(Consistency):在事务执行前数据库的数据处于正确的状态,而事务执行完成后数据库的数据还是应该处于正确的状态,即数据完整性约束没有被破坏:如银行转帐,A转帐给B,必须保证A的钱一定转给…
大型企业分布式微服务云架构服务组件 实现模块化.微服务化.原子化.灰度发布.持续集成 commonservice zipkinSpring 日志收集工具包,封装了Dapper和log-based追踪以及Zipkin和HTrace操作,为SpringCloud应用实现了一种分布式追踪解决方案. commonservice turbineNetflix 聚合服务器发送事件流数据的一个工具,用来监控集群下hystrix的metrics情况.. commonservice cachecache 独立分布…