Seata

Windows下搭建Nacos及Seata

若如初见. 提交于 2020-05-05 13:50:12
一、简介 本文主要描述Nacos及Seata在Windows环境下环境搭建 下载相关软件: Nacos-1.1.4 Seata-0.9.0 二、安装 2.1安装Nacos 解压nacos-server-1.1.4.zip,进入nacos/bin,双击运行startup.cmd,如果是在Linux下,则sh startup.sh -m standalone 在浏览器打开Nacos web 控制台:http://localhost:8848/nacos/index.html,输入nacos的账号和密码,分别为nacos:nacos 2.2安装Seata 解压seata-server-0.9.0.zip,进入seata/conf,修改registry.conf配置 目前seata支持如下的file、nacos 、apollo、zk、consul的注册中心和配置中心。这里使用nacos。将type改为nacos registry { # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa type = "nacos" nacos { serverAddr = "localhost" namespace = "public" cluster = "default" } eureka { serviceUrl = "http://localhost

参与 Seata 社区到 go 与 Seata 的邂逅

百般思念 提交于 2020-04-28 12:44:03
  众所周知,这几年微服务、云原生提得很火热。2017年,当时公司的领导刘巍,敏锐得提出公司转型微服务。那时,提到微服务大家一头雾水,经过两年的实践,逐渐有了一些心得。但有个问题始终萦绕在微服务开发者的头上,分布式事务到底如何解决,有没有比较完美的方案?二阶段提交、柔性事务、最终一致性?   2019 年,我注意到阿里巴巴的同学在社区调研分布式事务需求,立即加入了社区群。在 seata 0.2 版本的时候,当时还不叫 seata,叫 fescar,我看到 seata 代码仓库里只有 dubbo 结合 seata 的 sample,随即在博客园写了一篇 spring boot 如何结合 seata 的博文 Spring Boot微服务如何集成seata解决分布式事务问题? ,这篇文章后来被收录到 seata wiki 里面,收获到了 18000+ 的阅读量,是我阅读量最高的一篇博客。   后来,由于工作比较忙,屡次想参与 seata 贡献,发现了几个 bug,本来想修改来着,结果看社区里边已经有人在做了😂。   由于接触微服务,自然而然接触到 k8s 技术,接触到云原生,接触到 golang。个人对 golang 比较感兴趣,比较看好它的未来。看到社区里面也有关于 seata go client 的呼声,遂萌生了打造 golang 版 seata 的想法。   有人问:喂,同学

seata demo之springcloud-eureka-feign-mybatis-seata

南笙酒味 提交于 2020-04-25 17:01:57
说明 这篇文章主要将seata 提供的demo中 seata-samples\springcloud-eureka-feign-mybatis-seata项目运行起来 seata 一个高性能的分布式事务解决方案,易于和微服务架构整合 github https://github.com/seata/seata 中文wiki https://github.com/seata/seata/wiki/Home_Chinese seata-server运行 下载 https://github.com/seata/seata/releases/download/v0.9.0/seata-server-0.9.0.zip https://github.com/seata/seata/releases/download/v0.9.0/seata-server-0.9.0.tar.gz seata-server搭建可以参考别人的这篇博客 https://www.cnblogs.com/wintersoft/p/10548177.html seata-server建表SQL seata-server-0.9.0\seata\conf\db_store.sql seata-server-0.9.0\seata\conf\db_undo_log.sql 修改数据库名 账号密码 seata-server-0

springcloud基于seata的分布式事务解决方案(转载)

此生再无相见时 提交于 2020-04-08 17:53:08
这篇博文写的不错,基于此简单实现了一下,没什么坑。 https://juejin.im/post/5d7838d65188254917372a69 当然可以参照官网的示例文档: https://github.com/seata/seata-samples/tree/master/springcloud-nacos-seata 来源: oschina 链接: https://my.oschina.net/u/3734816/blog/3224854

【Seata微服务分布式事务】1. Seata服务端环境搭建

拥有回忆 提交于 2020-04-05 18:44:32
seata-serve安装包 下载seata-server包,我所有的是0.9.0版本 https://github.com/seata/seata/releases wget https://github.com/seata/seata/releases/download/v0.9.0/seata-server-0.9.0.tar.gz 链接:https://pan.baidu.com/s/1jlBwCEYM3hn7zQiSpwRijg 密码:56vm 官网0.9.0版本以后conf文件已经没有SQL文件 执行SQL脚本 数据库名称:seata -- the table to store GlobalSession data drop table if exists `global_table`; create table `global_table` ( `xid` varchar(128) not null, `transaction_id` bigint, `status` tinyint not null, `application_id` varchar(32), `transaction_service_group` varchar(32), `transaction_name` varchar(128), `timeout` int, `begin_time`

蚂蚁金服分布式事务实践解析 | SOFAChannel#12 直播整理

我与影子孤独终老i 提交于 2020-03-13 17:39:23
SOFA:Channel/ ,有趣实用的分布式架构频道。 本文根据 SOFAChannel#12 直播分享整理,主题:蚂蚁金服分布式事务实践解析。 回顾视频以及 PPT 查看地址见文末。欢迎加入直播互动钉钉群 : 30315793,不错过每场直播。 大家好,我是今天分享的讲师仁空,目前是蚂蚁金服分布式事务产品的研发。今天跟大家分享的是蚂蚁金服分布式事务实践解析,也就是分布式事务 Seata 在蚂蚁金服内部的实践。 今天我们将从以下 4 个主题进行详细介绍: 为什么会有分布式事务产品的需求; 理论界针对这个需求提出的一些理论和解决方案; 蚂蚁金服在工程上是如何解决这个问题的; 针对蚂蚁金服业务场景的性能优化; 分布式事务产生背景 首先是分布式事务产生的背景。 支付宝支付产品在 2003 年上线的时候,那时候的软件形态是单体应用,在一个应用内完成所有的业务逻辑操作。随着软件的工业化,场景越来越复杂,软件也越做越大,所有的业务在一个应用内去完成变的不可能,出现了软件模块化、服务化。 在从单体应用升级到分布式架构过程中,很自然得需要进行业务服务拆分,将原来糅在一个系统中的业务进行梳理,拆分出能独立成体系的各个子系统,例如交易系统、支付系统、账务系统等,这个过程就是服务化。业务服务拆分之后,原来一个服务就能完成的业务操作现在需要跨多个服务进行了。 另一个就是数据库拆分,分库分表

Spring Boot 集成 Seata 解决分布式事务问题

柔情痞子 提交于 2020-02-28 08:56:46
seata 简介 Seata 是 阿里巴巴2019年开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。在 Seata 开源之前,Seata 对应的内部版本在阿里内部一直扮演着分布式一致性中间件的角色,帮助阿里度过历年的双11,对各业务进行了有力的支撑。经过多年沉淀与积累,2019.1 Seata 正式宣布对外开源 。目前 Seata 1.0 已经 GA。 微服务中的分布式事务问题 让我们想象一下传统的单片应用程序,它的业务由3个模块组成,他们使用单个本地数据源。自然,本地事务将保证数据的一致性。 微服务架构已发生了变化。上面提到的3个模块被设计为3种服务。本地事务自然可以保证每个服务中的数据一致性。但是整个业务逻辑范围如何? Seata怎么办? 我们说,分布式事务是由一批分支事务组成的全局事务,通常分支事务只是本地事务。 Seata有3个基本组成部分: 事务协调器(TC):维护全局事务和分支事务的状态,驱动全局提交或回滚。 事务管理器TM:定义全局事务的范围:开始全局事务,提交或回滚全局事务。 资源管理器(RM):管理正在处理的分支事务的资源,与TC对话以注册分支事务并报告分支事务的状态,并驱动分支事务的提交或回滚。 Seata管理的分布式事务的典型生命周期: TM要求TC开始一项新的全局事务。TC生成代表全局事务的XID。

有效的微服务:10 个最佳实践

流过昼夜 提交于 2020-02-27 08:17:06
推荐阅读: 架构设计原则 - 高并发 使用 Canal 实现数据异构 MySQL中一条SQL语句是如何执行的? 阿里开源的分布式事务框架 Seata ZooKeeper 并不适合做注册中心 1. 领域驱动设计 微服务开发的首要挑战: 把大的、复杂的应用拆分为小的、自治的、可独立部署的模块。 如果没有正确的拆分,那么结果就是一堆浆糊,有着单体结构的缺点,和微服务结构的复杂度,可以称之为 分布式单体 。 幸运的是,Eric Evans 为领域驱动设计提出了大量的最佳实践和经验技巧,有3个核心思维: 开发团队要和业务部门、业务领域专家紧密合作。 架构师、开发人员、领域专家应该先做出战略设计:找出边界上下文、核心域、子域、上下文映射关系。 架构师、开发人员根据战略设计梳理出一套核心构造块:实体、值对象、聚合等等。 把一个大型系统划分为核心域、子域,再把核心域、子域映射为微服务,这样我们就可以得到一个理想的松耦合微服务体系。 2. 每个微服务一个数据库 微服务模块结构设计好了,下面一个重要问题就是怎么处理数据库,各个微服务是否共享数据库呢? 如果共享,将导致微服务之间紧耦合,违背了微服务的松耦合原则。数据库中一个小小的变动就需要各个团队同步修改。 如果每个微服务都有自己的数据库,那么微服务之间的数据交换将非常麻烦,就像打开了潘多拉魔盒,跑出一堆问题,例如在多个服务中管理事务。 所以

SEATA 分布式事务入门DEMO

寵の児 提交于 2020-02-27 05:12:16
Simple Extensible Autonomous Transacation Architecture,seata是简单的、可扩展、自主性高的分布式架构 SEATA Server Configure 因我们使用正式的1.0.0-GA 版本,网上大多数找到的说明都是0.X版本,有不少变动,比如,在server中取消了db_store.sql的脚本,如找不到相关内容,可以通过源码来查找,比如db脚本源码: mysql db script 1.下载 seata-server 2.创建数据库(seata),可自定义,在file.conf中要用到。 -- -------------------------------- The script used when storeMode is 'db' -------------------------------- -- the table to store GlobalSession data CREATE TABLE IF NOT EXISTS `global_table` ( `xid` VARCHAR(128) NOT NULL, `transaction_id` BIGINT, `status` TINYINT NOT NULL, `application_id` VARCHAR(32), `transaction_service