microservices - 词汇问题:我是在做微服务还是只是 SOA?
问题描述
假设我有几个单一的 Web 应用程序。在它们中的每一个中,都必须根据一定的参数,或者根据应用程序本身,找到相同类型的业务数据。因此,我到处重复相同的逻辑,在我的情况下这很乏味。
因此,我希望开发另一个内部 Web 应用程序,它将具有:
- 允许您定义所有业务数据恢复方案的管理界面
- REST API 将被我的 Web 应用程序用于根据传入场景查找业务数据
这个新应用程序将拥有自己的数据库,并且可能部署在另一台服务器上。为方便起见,我正在考虑使用相同的技术(在我的例子中,C# + Angular)
因此,我要开发所谓的微服务吗?还是只谈论面向服务的架构更好?还是我会做一些不起眼的恶作剧?
感谢您的关注 !
解决方案
在这种情况下是 SOA。因为
- 您的主要目标是倾向于 SOA 而不是微服务的企业级代码/逻辑共享。
- 在微服务架构的情况下,服务处于粒度级别,使应用程序松散耦合。在您的情况下,我认为您不会通过引入可以在应用程序内使用的较小服务来分解应用程序的每个主要功能,而不必跨应用程序使用。
对于现有应用程序,如果要引入微服务,通常不应该是一次性的过程。您总是可以逐渐将部分分解为对特定应用程序有意义的服务。
你可以看看一些文章 -
推荐阅读
- docker - 如何为所有 pod 创建和挂载公共数据
- docker - 如何在 Pod 间广播 gRPC 流
- node.js - 如何在网站 json api 中获取第一个 json 文件?
- javascript - 发出请求时 GCF 超时
- pyqt5 - 如何在关闭所述弹出窗口的弹出窗口内制作一个按钮?
- android - 尝试单击单选按钮时如何解决 Robo 测试失败?
- python - Python iloc给出indexError:单个位置索引器在简单的for循环中超出范围
- java - 通过具有字符限制的 JOptionPane 输入字符串
- server - Nestjs prod jwt auth 在本地工作,但不在服务器上工作
- python - 如何使用 pendulum 作为 Django 的基本日期时间库?