华体会首页登录|微观服务、微观服务和宏观服务

本文摘要:

但是在开发过程中,并不是所有的开发人员都知道发布-订阅模式或者对功效缺乏了解,所以会犯以下错误:

现在,如果您的服务域中的所有服务共享一个数据库和应用程序服务器,并且因为它们都部署在同一个JVM中而通过直接挪用来挪用每个服务,那么您的应用程序是整体的(宏服务)。

但是在开发过程中,并不是所有的开发人员都知道发布-订阅模式或者对功效缺乏了解,所以会犯以下错误:

现在,如果您的服务域中的所有服务共享一个数据库和应用程序服务器,并且因为它们都部署在同一个JVM中而通过直接挪用来挪用每个服务,那么您的应用程序是整体的(宏服务)。

微服务

图3。集成架构

独立的开发、部署和治理不需要对周围的服务有任何了解。

通过发布-订阅模式相互连接。有单一责任。

松散耦合。

图1。微服务架构

在下列情况下,您可以将您的服务称为小型服务:

共享数据库(物理或逻辑)。以同步的方式相互连接(使用REST的服务到服务挪用)。

共享基础设施。了解你周围发生了什么,这样我们才能交流。迷你服务性价比高,而微型服务性价比低,因为我们要实时调配多功能人才来实现业务目标。

我不知道发布-订阅或者消息集成模式,所以他们快速切换到REST API以便服务可以联系。

不了解完整的业务,所以混淆了功效,忘记了微服的SRP。不是为每个服务物理隔离数据库,而是在同一个数据库中建立一个模式,许多微服务与同一个数据库交互。

迷你服务

那么什么是迷你服务呢?它就像一组以某种模式聚集的微服务,用来解决业务需求。它是一个单一的服务功能。

因此,如果您的服务不遵循这些原则中的任何一项,它就不是微服务,您可能会接触到微服务,这将在后面解释。

如果服务满足以下条件,则它们不是微服务:

如果多个应用程序共享同一个数据库。服务通过REST API相互连接,不试图为异步通信提供基于事件的架构。

共享用于部署的基础架构。

图2。

小型服务的体系结构

只有在下列情况下,您的服务才能称为微服务:

宏服务(整体式)

它只是一个集成的法语,其中所有的业务服务都作为一个单独的法语包部署在应用法语服务器中,并共享同一个数据库(物理上和逻辑上)。实现服务之间的精确耦合不会太大。

本文试图区分微观服务、微观服务和宏观服务。

何时使用什么哪种服务?

这完全取决于您的业务需求或项目需求。当您在多个代码库中有效率时,构建微服务是有意义的。另一方面,如果您在一个代码库中有多个功能,或者一个服务有多个功能,那么小型服务就是解决方案。

规模增大的时候,不需要联系其他服务,可以考虑写迷你服务。

如果您在项目中有独立的功能,并且需要它们之间的异步通信,请编写微服务。

毫无疑问,微服务是软件开发中的一个热门话题。每个组织都试图分析其应用方法/产品向微服务的转换,以便他们能够以基于微服务的体系结构的名义销售产品。

但是他们真的在构建真正的微服务吗?还是他们只是在构建另一套可以称为“小型服务”的服务来满足业务需求?

竣事语

团队和开发人员正在尽最大努力疏散应用程序,但可能没有您想象的那么多微服务。很多人还在写微服和微服结合版。

本文关键词:华体会网页版,华体会登录网址,华体会首页登录

本文来源:华体会网页版-www.dgrh0769.com

网站地图xml地图