如何使用 SOA 架构实现松耦合

2024-01-08

我最近做了很多关于 SOA 和 ESB 等的研究。

我现在正在工作中重新设计一些遗留系统,并希望使用比目前更多的 SOA 架构来构建它。我们在大约 5 个网站中使用这些服务,而我们的遗留系统目前面临的最大问题之一是,几乎每次我们进行错误修复或更新时,我们都需要重新部署我们的 5 个网站,这可能是一个相当耗时的过程。

我的目标是使服务之间的接口松散耦合,以便无需重新部署所有依赖的服务和网站即可进行更改。

我需要能够扩展现有的服务接口,而不破坏或更新其任何依赖项。你们中有人以前遇到过这个问题吗?你是怎么解决的?


我建议您考虑一下与您迄今为止所做的不同风格的服务。考虑使用事件而不是请求/响应相互协作的服务。多年来,我一直在为各个垂直领域的客户使用这种方法,并取得了巨大的成功。在过去的四年里,我写了很多关于这些主题的文章。您可以从这里开始:

http://www.udidahan.com/2006/08/28/podcast-business-and-autonomous-components-in-soa/ http://www.udidahan.com/2006/08/28/podcast-business-and-autonomous-components-in-soa/

希望有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 SOA 架构实现松耦合 的相关文章

随机推荐

  • var_dump() 不显示受保护和私有财产

    是否有任何函数或如何 var dump 对象而不显示它的受保护和私有财产 example class foo public public public protected protected protected private privat
  • 如何使用 .htaccess 禁用代理缓存

    我遇到一个问题 公司代理服务器为不同的登录用户提供页面 我认为我可以通过禁用代理缓存来解决这个问题 这一页 http drupal org node 32109建议在 htaccess 中包含以下代码片段 ExpiresDefault A0
  • 有人使用 JRuby-Rack 和 Rails 3 吗?

    还有其他人在运行 Rails 3 和 JRuby Rack 或者 Jetty 和 Rails 3 吗 有什么技巧吗 我对一些调试感到疯狂 此时我只想知道这是可能的 这些说明对我有用 http mathias biilmann net 201
  • 如何找到OpenSSL可信证书的路径?

    如何找出我的 OpenSSL 安装在哪里寻找已安装 受信任 的证书 有时是这样 etc ssl cert 但我有一个新系统 它不适用于此路径 查找证书的默认路径在每个平台上可能有所不同 您可以使用以下命令查找系统配置 openssl ver
  • MediaRecorder 捕获的音频文件在使用 Retrofit 2 发送到服务器后被破坏

    我的应用程序录制一个音频片段 并在录制完成后使用Retrofit2将片段发送到服务器 服务器收到文件 但文件已损坏 我所说的损坏是指无法播放 我使用以下 URL 示例 url mydomain co audio myaudio mp4 播放
  • 独立 IntelliJ 解析器中的符号解析

    我尝试使用 IntelliJ SDK 作为独立的 java 解析器 它在大多数情况下工作正常 但无法解析泛型方法的返回类型 当我调试时resolveMethod for verify mock simpleMethod 在 IntelliJ
  • Chrome 开发者扩展中的 CORS 问题

    我是 Chrome 扩展开发的新手 我正在开发一个 Chrome开发商扩展 作为开发人员工具的一部分出现 此要求是进行外部服务 某些 URL 调用 该调用可能位于也可能不在同一服务器 原始服务器 中 从文档中我看到扩展不受同源策略的限制 h
  • 字符串有多少个参数

    在C 中使用String Format格式化字符串之前 我想知道该字符串接受多少个参数 例如 如果字符串是 0 与 1 不同 我想知道该字符串接受两个参数 例如 如果字符串为 0 与 1 和 2 不同 则该字符串接受 3 个参数 我怎样才能
  • SQL Server Compact 文件在哪里?

    我有一个使用 SQL Server Compact 数据库的 ASP NET MVC 项目 我有以下连接字符串FoobarContext
  • PHP str_replace 无法正常工作

    我正在使用 str replace 但它无法正常工作 我有一个文本区域 其输入通过表单发送 当服务器接收到数据时 我想将新行更改为 teams GET teams teams str replace n teams echo teams 奇
  • 如何对 Firebase.functions().httpsCallable 执行 GET?

    如何对 Firebase functions httpsCallable 执行 GET 我不断收到 POST 错误 404 但这是对我的服务器的 GET 请求 我应该不传递任何内容 还是需要更改此 httpsCallable 来获取函数 C
  • 您的语言在实践中对 unicode 的支持程度如何?

    我正在研究新的语言 有点渴望一种我不再需要担心字符集问题以及我在新项目中使用 PHP 遇到的大量其他问题的语言 我倾向于认为 Java 过于冗长和混乱 而且我不想用 6 英尺长的杆子接触 Windows 因此倾向于排除 Net 这就剩下了基
  • 如何在 SASS 中使用父选择器将类链接到元素[重复]

    这个问题在这里已经有答案了 我正在尝试使用 SASS scss 执行以下操作 class Base class styles a Additions for when applied to a link 但我收到编译器错误 Invalid
  • Flutter windows:获取flutter应用程序的win32窗口句柄

    如果我没记错的话 flutter 目前是使用 win32 库在 Windows 上实现的 尽管一些文档页面指出这可能会更改为 NET 或其他一些框架 因为 flutter windows 处于非常早期的开发阶段 并且可能随时更改 时间而不保
  • 如何在hive中添加jar文件

    我正在尝试使用 hive contrib 0 10 0 jar 在 hive 中添加添加 JAR hive contrib 0 10 0 jar命令但它总是说 hive contrib 0 10 0 jar 不存在 我现在使用的是 HDP
  • vim:更改默认粘贴寄存器

    当我在 vim 中拉取或删除文本并运行时 reg 我看到它要进去注册 但是当我粘贴时 我看到 E353 寄存器中没有内容 我从中得到的是 vim 正在拉动 但粘贴自 set clipboard clipboard echo version
  • 带进度对话框的 Android 下载管理器

    我已经使用 Android 下载管理器编写了一个 Android 应用程序 并且尝试使用下面的代码显示下载进度 myTimer schedule new TimerTask public void run try DownloadManag
  • 如果字段是实例成员,则回调处理程序会出现异常

    希望有人帮助我解决这个问题 If CallbackHandler proxy是静态的 那么一切正常 using System using System ServiceModel namespace ConsoleApplication5 D
  • Boost heap 设置用户定义的比较函数

    最近 我发现 Boost Heap 在我的项目中非常有用 但我找不到任何示例代码来显示如何设置任意比较函数 include boost heap fibonacci heap hpp using boost heap fibonacci h
  • 如何使用 SOA 架构实现松耦合

    我最近做了很多关于 SOA 和 ESB 等的研究 我现在正在工作中重新设计一些遗留系统 并希望使用比目前更多的 SOA 架构来构建它 我们在大约 5 个网站中使用这些服务 而我们的遗留系统目前面临的最大问题之一是 几乎每次我们进行错误修复或