最近在看SOA相关的东西,综合看下来,发现几乎所有教材都在讲解正常流程;但是个人感觉下来,觉得
SOA的实施真正的问题反而是在服务的治理方面。遗憾的是教程几乎都着眼于基于ACID的分布式事务——实际上在现实世界里面,比如在淘宝,EBay里面,这种强一致性的两阶段事务根本就是被抛弃的,例如淘宝,用的是Best Efforts 1 Phase Commit .也就是说,是一种最终一致性模型。 当然,在一个所谓的事务(或者原子服务)里面,涉及到的数据源可能是数据库,Message,也可能是其他服务的某个服务。既然是非强一致性(实际上,因为涉及到WebService或者Restful这种服务调用,想做到强一致性几乎也是不可能的),那么就必须考虑异常情况。这些异常的治理对于一个SOA是非常重要的。
大家接下来可以考虑一下这种情形下的异常处理或者治理吧~
先抛砖引玉,看到一篇文章,讲可以抽象出单独的异常处理的服务。但是感觉还是不够细,比如下面一个流程:
在上面的四步操作中,每步都有可能产生问题。那么在每一步的时候,应该是怎么处理的呢?
当然也要考虑到,服务A本身就有可能是某个服务(例如T)的系列调用中的一个,A的结果可能对T的调用产生影响。大家在工作中有没有遇到过类似的案例,一般是怎么处理的呢?
欢迎大家拍砖和分享。
当然,如果这个场景大家觉得有问题,也欢迎完善场景。
PS: Iteye貌似越来越冷清了,不知道还能不能像以前一样有一群同学积极参与。。。。
相关推荐
这种方式虽然比JTA简单,但在分布式环境中可能会遇到事务隔离级别的问题。 在多数据源和分布式事务的场景下,我们需要特别关注以下几点: 1. 事务的隔离级别:不同数据库的默认隔离级别可能不同,需要根据业务需求...
4. 数据库架构优化策略:在分布式环境下,如何构建高效的数据库架构,包括数据模型设计、索引优化、查询优化等。 5. 未来发展方向:探索分布式数据库技术的发展趋势,比如人工智能在数据库管理中的应用、云原生...
Java作为分布式数据库服务的重要开发语言,其性能优化、并发控制和内存管理在分布式环境下显得尤为重要。例如,使用Java的NIO(非阻塞I/O)可以提高网络通信效率,而线程池管理和锁的使用则有助于提升并发处理能力。...
4. **数据一致性与事务处理**:在分布式环境下,如何保证数据的一致性和事务处理的正确性是重要的技术挑战,例如通过Paxos、Raft等一致性算法来实现。 5. **安全性与隐私保护**:在分布式存储中,数据安全和用户...
第一代DDB主要研究如何在分布式环境下实现单机数据库的基本功能,包括数据分布、事务管理和查询优化等。新一代DDB的研究重点转向动态数据复制、缓存技术和基于网络的系统结构体系,例如P2P架构,从而提高了系统的...
此章讲解了分布式事务的ACID(原子性、一致性、隔离性和持久性)属性,以及在分布式环境下如何保证这些属性。介绍了两阶段提交、三阶段提交等事务协议,以及他们在并发控制中的应用。 第四章:数据分布与复制 本章...
3. **数据一致性与分布式事务**:在分布式环境中,保持数据的一致性是一项挑战。CAP定理(一致性、可用性、分区容错性)和BASE理论(基本可用、软状态、最终一致性)是讨论的重点。同时,分布式事务处理,如两阶段...
【标题】"开源分布式事务管理Jtom"是一个关键的话题,主要关注的是在Java环境中...开发者可以通过阅读"jotm.pdf"来深入理解Jtom的工作原理和使用方法,将其有效地应用于实际项目中,以解决分布式环境下的事务处理问题。
8. 关键技术的应用:在关键词中提到了分布式虚拟化、服务组合、服务替换以及事务和补偿等技术。这些关键词指向了现代分布式系统设计与开发中的核心问题和解决方案。尤其是在服务组合中,事务和补偿机制的应用,为...
在单机环境中,事务处理相对简单,但在分布式系统中,由于多节点间的协调,事务处理变得复杂。分布式事务要求在多个操作之间保持ACID(原子性、一致性、隔离性和持久性)特性,确保整个业务流程的一致性状态。这在...
3. **服务发现**:在分布式环境中,服务发现机制是必不可少的,它使服务消费者能够找到并连接到服务提供者。可能涉及的协议有DNS、Zookeeper、Eureka等。 4. **负载均衡**:为了确保服务的高可用性,负载均衡策略会...
4. **事务管理**:分布式环境中的事务一致性是挑战,可能会介绍两阶段提交(2PC)、补偿事务(Saga)等策略。 5. **服务治理**:包括服务版本控制、熔断、限流、降级等,以确保服务的稳定性和可用性,可能会用到...
《SOA实践者说:分布式环境下的系统集成实例源码》是关于企业服务总线(Service-Oriented Architecture,简称SOA)在分布式系统集成中的实际应用案例集。本章节,即第七章,可能深入探讨了如何在分布式环境中通过SOA...
下面将详细讨论分布式操作系统的关键组件、工作原理以及相关知识点。 一、分布式操作系统组件 1. **资源管理器**:在分布式系统中,资源管理器负责调度和分配分布在不同节点上的硬件资源,如CPU、内存和存储空间,...
3. **分布式存储**:书中会详细介绍分布式数据库、分布式文件系统(如HDFS)以及NoSQL数据库等,讨论如何在分布式环境下保证数据的一致性、可用性和持久性。 4. **服务化与微服务**:服务化是大型网站架构的重要...
在IT行业中,分布式事务是大型系统中不可或缺的一部分,特别是在微服务架构中,多个服务之间...在这个过程中,你可以逐步掌握如何在实际项目中解决分布式环境下的事务一致性问题,这对于提升你的IT专业技能至关重要。
5. 分布式事务处理:介绍ACID(原子性、一致性、隔离性、持久性)事务属性,以及BASE事务处理模型在分布式环境下的应用。 6. 容错与恢复:讨论分布式系统中的故障模型,包括拜占庭错误,以及如何通过备份、冗余、...
5. **事务管理**:在分布式环境中,确保事务的一致性是巨大的挑战。两阶段提交(2PC)、补偿事务(Saga)等模式可能会被讨论,以解决跨服务的事务一致性问题。 6. **安全性**:SOA服务间的通信需要考虑认证、授权和...
学生需要理解如何在分布式环境中实现进程间的通信,以及如何利用MQ实现异步处理和解耦服务。此外,负载均衡、服务发现和故障恢复也是这一阶段的重点,例如使用Nginx进行负载均衡,Zookeeper或Consul进行服务发现。 ...
在分布式环境中,通常很难同时实现这三个特性。CAP理论指出,一个分布式系统最多只能同时满足其中的两个特性。例如: - **CP**:如果选择一致性和分区容忍性,则可能牺牲可用性。在出现网络分区时,部分节点可能无法...