“微服务”的定义?

时间:2018-10-29 01:47:52

标签: architecture microservices

我已经看到很多关于“微服务架构”的参考。在这些讨论中,他们几乎从不提及“微服务”,而是称其为“服务”。

为了使我的公司正确使用术语,我是否正确地说“微服务”不是真的?

5 个答案:

答案 0 :(得分:3)

我认为大多数人将a microservice称为可运行实例,端点,并将其直接与SOA(业务能力的自主技术机构)中的Service相关联...

但是它应该只是一个端点,我们应该尝试在我们的系统中定义business boundariesService Boundaries,否则我们将得到一个分布式的整体式文件...

因此,我建议您所说的a microservice并没有任何意义...

post might对您来说是一本好书吗?

答案 1 :(得分:1)

我认为微服务应该具有一些特征:

  • 以最小的方式解决单个业务问题(只能解决一个问题,而且效果很好)
  • 该操作的执行是幂等的(给定相同的输入数据,可以多次调用该操作,而不会影响数据一致性)
  • 操作是无状态的(所有状态都作为输入参数提供)。这将使该操作在开发人员看来是纯功能性的
  • 该操作对其他操作的依赖性最小

答案 2 :(得分:0)

在微服务体系结构的环境中,a servicea microservice就像a configa configuration一样,这是日常使用的常见缩写。

微服务方法是将您的系统(“代码堆”)分成许多小服务,每个小服务通常都有自己的:

  • 清除与业务相关的责任
  • 运行过程
  • 数据库
  • 代码版本控制(例如git)存储库
  • API(其他服务/客户端如何与微服务联系的协议)
  • UI

服务本身保持很小,因此随着系统的发展,会有更多的服务-而不是更大的服务。

值得一提的是,这些天(2018年),“微服务方法”仍然是嗡嗡声。因此,人们倾向于将系统的体系结构描述为“微服务”,即使实际上只有一个方面与该方法相匹配。

答案 3 :(得分:0)

微服务一词的初衷是为每个开发的服务定义了一个明确的域,并且超越了服务。

理想情况下,微服务只能执行一项职责,因此应避免承担非常小的职责(反纳米模式)。微服务体系结构称为软件系统,是一组独立的(松散的,独立的(编程语言选择,开发,部署和扩展)的服务)集合。它使您能够按需水平扩展,并且可以使用它们之间的多种通信方式,而不受SOA体系结构等通信方式的限制。

每项服务的职责是仅专注于其创造的业务价值,而其他职责也可以使用侧车模式来确定。

答案 4 :(得分:0)

我见过的最简洁的定义来自 Sam Newman

“微服务是协同工作的小型自治服务”