王强-Apache RocketMQ事务消息## Apache RocketMQ 事务消息 王强 (辽天) 阿里巴巴 中间件技术专家 ## QCon 全球软件开发大会 北京·2019 更多技术干货分享,北京站精彩继续 提前参与,还能享受更多优惠 识别二维码 查看了解更多 2019.qconbeijing.com  ## TABLE OF CONTENTS 大纲 • Apache RocketMQ 简介 • Apache RocketMQ 存储设计 • 事务消息的演进与Apache RocketMQ的实现 • Cloud Native时代下消息系统的挑战 ## Apache RocketMQ  金融交易 分布式事务  电子商务 异步解耦  ## 微信号: ## scottlewis ## 分布式事务框架 Seata-Golang  刘晓敏 QA 05 目录 ## 什么是分布式事务问题? 分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。 ## Demo 演示 1997-1998 1997-1998 1 ## Seata 原理 ## 整体机制: • 一阶段:业务数据和回滚日志记录在同一个本地事务中提交,释放本地锁和连接资源。 • 二阶段: • 提交异步化,非常快速地完成。 • 回滚通过一阶段的回滚日志进行反向补偿。 BranchSession Lock BranchSession Lock  王启军,华为云PaaS团队架构师,负责微服务框架的开发。曾任当当网架构师,主导电商平台架构设计;曾就职于搜狐负责手机微博的研发。《持续演进的Cloud Native》作者,微信公众号“奔跑中的蜗牛”博主。 [Image](/uploads/documents/4/f/c/1/4fc1dac86fed58e3630871012bbe2224/p5_1.jpg) |方案\\指标|2PC 传统事务|可靠事件|TCC 柔性事务|SAGA 补偿事务| |---|---|---|---|---| |数据一致性|强一致|最终一致|最终一致|最终一致| |总体性能|低|高|取决于实现|取决于实现| |业务侵入性|较低侵入|高侵入|高侵入|高侵入| |产品成熟度|高|高|一般|低|  ## 分布式事务管理中间件 (Distributed Transaction Management, DTM) ## DTM总体架构(TCC) 用户侧 系统侧  • 分布式事务和两阶段提交的原理 Greenplum两阶段提交协议的实现 Greenplum两阶段提交协议的优化 ## 事务的属性:ACID |属性|含义|数据库系统的实现| |---|---|---| |Atomic原子性|事务中的操作要么全部正确执行,要么完全不执行。|Write 完全不执行。|Write Ahead Logging,分布式事务:两阶段提交协议| |Consistency一致性|数据库系统必须保证事务的执行使得数据库从一个一致性状态转移到另一个一致性状态。(满足完整性约束)|实现对A、I、D三个属性的支持| |Isolation隔离性|多个事务并发地执行,对每个事务来说,它并不会感知系统中有其他事务在同时执行。|多版本并发控制Multi-Version Concurrency0 码力 | 42 页 | 2.12 MB | 2 年前3
Greenplum开源MPP数据库介绍/p1_1.jpg) ## Agenda Greenplum简介 Greenplum的MPP架构 > 分布式优化器: Postgres planner 和 ORCA > 分布式事务和执行 Greenplum存储 Greenplum生态 Greenplum 7 Greenplum简介:什么是Greenplum? 基于PostgreSQL、开源、分布式MPP、ACID完备、为OLAP优化的关系型数据仓库。 Parallel: ☐ 数据并行处理计算 ☐ 通过网络进行数据交换和汇总 ## 执行架构 ## ➤ Coordinator: ☐ 管理其它节点 ☐ 生成分布式计划 ☐ 下发计划和汇总结果 ☐ 管理分布式事务 ## > Segments: ☐ 存储数据,share-nothing ☐ 产生计算进程 Libpq:控制信道 ➢ Interconnect: 数据交换信道 ;  ## 分布式执行和事务 ➢ 火山/流水线模型 ➢ QD(query dispatcher)负责下发查询,QE(query executor)负责执行查询 查询的生命周期: 1)客户端连接coordinator, coordinator0 码力 | 23 页 | 4.55 MB | 2 年前3
使用JDBC连接数据库## ☐ ## 使用JDBC连接数据库 北京理工大学计算机学院金旭亮 ## Java数据库应用程序全局视图 Java应用程序 JDBC数据库驱动(*.jar) JDBC规定了一整套访问数据库的标准API,所有数据库都需要实现它,因此,使用JDBC访问数据库的Java应用程序,是很容易切换底层数据库的。 ## JDBC核心类型一览表 |核心类型 (java.sql)|说明| |---|---| |Connection|与数据库建立连接| |Statement|在一个给定的连接中执行SQL语句| |PreparedStatement|用于执行预编译的SQL命令| |CallableStatement|用于调用数据库中存储过程| |ResultSet|保存SQL命令的执行结果| 上述组件是独立于底层数据库的,也就是说,只要连接上了数据库,相同的代码,就可以顺利工作..... ## JDBC访问数据库的基本步骤 JDBC访问数据库的基本步骤 加载JDBC驱动程序 创建数据库连接 执行SQL语句 接收并处理SQL的返回结果 关闭创建的各个对象 对于有可视化界面的应用程序,或者是Server端应用程序,应该在独立的线程中完成这些步骤。 出于精简学习负担的目的,我们将以SQLite为例介绍JDBC的基本使用,在此基础之上,后面选择微软的SQL Server来介绍JDBC的高级特性……  张颖峰 英飞流(上海)信息科技有限公司创始人  RAG技术实践 01 Infinity系统架构 02 ## 第一部分 RAG技术实践 ## 基于向量数据库的RAG解决方案 文档 文本块 LLM  提示词 ## LLM对企业信息架构的改变  网站  数据库  文档  - 计算机畅销书作家 贵州省省管专家 国家首批大数据高级职称 • 出版了技术专著《Oracle数据库精讲与疑难解析》 确认防火墙是否关闭 ## 2 )确认数据库是否在运行,端口号是否正确 ps -ef | grep post [root@tar1 log]# ps -ef lgrep post postgres 4138 1 0 09:52 ? postgres0 码力 | 84 页 | 12.61 MB | 2 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













