本文中,Lublinsky 强调了 SOA 中的异常处理问题,并建议了一个基于 SOA 的解决方案:日志服务接收所有日志请求,将它们保存并转发给异常解决服务。异常解决服务负责执行与异常解决有关的规则,此外还包括,通知服务、异常 / 日志门户和服务管理等。
不论是简单的应用程序还是复杂的服务调用,在现实中都有可能失败,而失败的原因又有很多种。解决这类问题的一个被广泛采用的方法就是异常处理。虽然这一机制在应用程序和组件实现中已经得到很好的应用,但对于分布式系统,要实现这种异常处理方法就变得非常复杂。针对上述情况,作者提出对异常处理实现应用 SOA 的原则,从而使得主要的异常管理元素“服务化”。
本文所描述的异常管理方法,应用面向服务架构的原则为有效管理 SOA 实现中的异常提供了基础。它介绍了使用特殊化的基础设施来构建灵活、可扩展的异常处理解决方案。它通过提供整个企业统一的异常处理方法改善实现的一致性。通过提供横跨多个服务消费者和提供者之间的单一、统一的日志,它同样也简化了维护并改善了可测试性。
阅读全文:在 SOA 中实现异常
更多内容推荐
文章:使用 SCA 构建异步服务
在这篇InfoQ的独家文章中,Mike Edwards讨论了在服务组件架构中创建异步服务的方法。
文章: 在 SOA 中整合企业数据
Boris Lublinsky指出了在SOA实现中企业数据整合的重要性,以及需要解决的数据存取问题。给出了三种旨在使SOA实现支持企业数据的设计模式,并且分析了它们的优缺点。
现代化是种必然
大部分大的组织在没有良好的架构和管理方法的情况下放任系统演化。其结果是系统间的接口和依赖关系成了个毛线球,这大大增加了复杂性、风险和变更成本。系统现代化应该是业务管理部门与IT部门之间的协作,那么要怎么做呢?David Sprott对这一问题进行了描述。
弹力设计篇之“隔离设计”
软件设计当然也“漏水”,所以为了不让这个“故障”蔓延开来,需要使用“隔板”技术,来将架构分隔成多个“船舱”来隔离故障。
2018 年 2 月 22 日
进程管理:kill 命令之 -9 与 -15
kill -15向对应的程序发送SIGTERM(15)信号,该信号可以被执行、阻塞和忽略,所以应用程序接收到信号后,可以做一些准备工作,再进行终止。 kill -9,系统会发出SIGKILL(9)信号,该信号不允许忽略和阻塞,所以应用程序会立即终止。但会造成资源未释放问题
2021 年 2 月 18 日
为什么 Netflix 没有运维岗位?
在运维这个细分领域,Netflix是最佳实践的典范。今天我们一起来看Netflix是如何定义运维以及如何开展运维工作的。
2017 年 12 月 20 日
调查:实施 SOA 的企业中只有 37% 实现积极的 ROI
Research和KnowlegeStorm最近发布了一份调查报告,报告称在被调查的106家企业中,只有37%从他们的SOA部署中获得了积极的投资回报(ROI)。SOA的ROI是神话吗?
产品经理训练营笔记 - 产品思维和产品意识(上)
产品思维是用什么方法解决谁的什么问题
2021 年 1 月 23 日
SOA 与微服务的比较和对比
微服务与SOA这两种架构风格经常被人们拿来进行比较与对比,有些人认为这两者互不相干,而另一些人则相信他们具有密切的血缘关系。Matt Braiser最近在一篇文章中也对这一话题展开了讨论,他的观点倾向于后者,即两种架构具有很高的密切度。他相信,微服务的出现应当归功于SOA原则的成功,并在文章中给出了他的理由。
复合服务的设计和实现
在本文中,Boris Lublinsky分别从设计和实现两方面讨论了复合(Composition)服务的主要方式,并勾勒了采用编制(Orchestration)的优势。讨论的主题涵盖了分层(Hierarchical)复合与会话(Conversational)复合的对比、复合的拓扑、以及不同实现方式的优缺点。
分布式系统关键技术:服务调度
微服务是服务依赖最优解的上限,而服务依赖的下限是千万不要有依赖环。
2017 年 12 月 26 日
初探微服务架构
我想你一定很好奇微服务架构到底是什么样子的,接下来我们一起走进微服务架构,来看看它的各个组成部分。
2018 年 8 月 28 日
文章:实施 SOA 治理
Todd Biske是一位在世界500强企业任职的企业架构师。在这篇文章中,他为成功实施SOA治理提供了指导。他建议采用注重定义和贯彻策略的三个步骤。他还就SOA卓越中心在治理方面的作用发表了自己的观点。<a href="http://www.infoq.com/cn/articles/implementing-soa-governance" target="_blank">直接点击阅读完整文章</a>。
安装与部署:如何安装 Istio?它都支持哪些环境和部署方式?
2020 年 4 月 23 日
强化 Java EE 和 SCA 的同盟
开放SOA合作组织发表了SCA Java EE集成规范草案0.9版,该草案定义了在Java EE应用环境中如何集成SCA和Java EE。它使用Java EE组件作为服务组件实现,Java EE程序包既可部署到SCA部署单元(Contribution)内部,也可部署为SCA部署单元。
在.NET Core 环境下对日志和指标进行集中化管理
使用Amazon CloudWatch 来对日志进行集中化管理和监控各项指标使得这项工作变得尤为简单。
在 SOA 中实现异常
Lublinsky强调了SOA中的异常处理问题,并建议了一个基于SOA的解决方案:日志服务接收所有日志请求,将它们保存并转发给异常解决服务。异常解决服务负责执行与异常解决有关的规则,此外还包括,通知服务、异常/日志门户和服务管理。
定义边缘计算架构需考虑的三个方面
边缘计算和物联网的发展将需要重新构建IT基础设施。而没有一个体系结构计划来管理数据、应用程序和安全,也是没有意义的。需要考虑以下三个方面。
2021 年 4 月 2 日
分布式系统架构的冰与火
为什么需要分布式系统,而不是传统的单体架构。主要有两方面原因:增大系统容量和加强系统可用。
2017 年 12 月 12 日
架构方法 - 学习笔记
UML 类图
2020 年 11 月 29 日
推荐阅读
《SOA 治理》作者访谈
NLog 4.0 改进了异常日志,新增了 JSON/Zip 支持
处理微服务架构的内部架构和外部架构
架构书评:《应用 SOA》
配置及服务发现:解析 etcd 在 API Gateway 开源项目中应用
2021 年 3 月 12 日
可复用架构案例(一):如何设计一个基础服务?
2020 年 3 月 9 日
深入理解微服务架构:银弹 or 焦油坑?
2018 年 7 月 14 日
电子书
大厂实战PPT下载
换一换 茹炳晟 | 极客时间专栏《软件测试 52 讲》讲师
贺师俊(Hax) | 百姓网 技术顾问
付嘉兴 | 百度 技术经理
评论