微服务到底有多微?How big is a microservice?

关于这个问题,有人说用代码行数来衡量微服务到底有多微,我们都知道不同语言写的微服务行数肯定都不统一,这个显然行不通;还有人说用重写时间来衡量,什么意思呢?就是说一个微服务如果拉倒重来得多长时间,这个显然不是一个衡量标准。既然有的书籍提到了,我们在这里就提一下。

那么究竟用什么来划分微服务的边界呢?

我们认为应该从 具体的业务来考虑。其实还是和我们传统的一体化架构思维角度是一样的。总是先从业务功能去考虑一定不会出错的。

我们划分微服务首先应该要保证微服务的业务对立性。 那么这个独立性怎么去保证呢?也有很多的做法。

1、领域模型角度:

其中一种就是从领域模型角度考虑,就是将一个个领域模型作为独立的模块(或者叫单元)。比如产品、订单、客户。

2、业务行为角度:

还有一种角度是从业务行为考虑,比如 单点登录,生成全局唯一序列号,发送邮件等等。就是从业务使用场景来考虑。

关于这个从业务独立性划分,

Sam Newman强调说我们划分微服务应该基于Domain-Driven Design里的Bounded Context的概念。

那么我们的每个微服务对应的人力是多少呢?

关于这个,martin folwer说了这些话:

根据我们和一些微服务的从业者的交谈后得出,我们看到了很多不同size的微服务。根据Amazon的概念,微服务的最大尺寸遵循两个比萨团队(即整个团队可以用两个比萨饼喂食),意思是不超过12人。比较小的微服务size的规模是,我们看到有公司是这样的配置:一个6人团队支持6个服务。

本文分享自微信公众号 - ImportSource(importsource)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-05-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大闲人柴毛毛

常用的分布式事务解决方案

众所周知,数据库能实现本地事务,也就是在同一个数据库中,你可以允许一组操作要么全都正确执行,要么全都不执行。这里特别强调了本地事务,也就是目前的数据库只能支持...

3.9K110
来自专栏Linyb极客之路

微服务架构:spring cloud简介

1.什么是微服务(Microservice) 微服务英文名称Microservice,Microservice架构模式就是将整个Web应用组织为一系列小的We...

44780
来自专栏Java技术栈

34张架构史上最全技术知识图谱

高清图片版已上传到java群:274435854。 1.1 架构师图谱 ? 1.2 Java架构师图谱 ? 1.3 微服务架构秘籍 ? 1.4 一致性图谱 ? ...

75460
来自专栏SDNLAB

保护微服务架构的10个有效方式

微服务是一种创新的方式来加速和改进软件开发。该术语是指可以单独开发的应用程序子组件,并且通常专注于一个特定功能。例如,用于在线购物的电子商务应用需要具备订单收集...

37340
来自专栏微服务

基于STS和JWT的微服务身份认证

自 Martin Fowler 提出微服务架构的概念后,这个名词就一直比较流行,总是成为众多技术论坛和公众号的讨论热点。很多互联网和软件公司都在将原有的整体架构...

52150
来自专栏开源项目

Java 微服务从源码实战开始 | 码云周刊第 49 期

在软件开发的不同时期、阶段,对技术架构的理解、选择和应用都有着不一样的诉求。微服务架构是当前互联网业界的一个技术热点,它的思想也更符合我们的目标: 根据业务模块...

42770
来自专栏云计算D1net

成功实施DevOps的七个有力工具

现如今,每个软件企业都在谈论DevOps,他们希望从DevOps中获得好处。DevOps本身不是开发工具,而是开发文化的一次革新,为了能够成功地实施DevOps...

37990
来自专栏EAWorld

【超详解PPT】元数据驱动的微服务架构(下)

上次分享了两个部分:微服务架构需要元数据,微服务与元数据的关系,那么微服务中的元数据中具体如何应用,有哪些应用场景?我们接下来看一下——微服务中元数据的价值...

40730
来自专栏开源项目

还有这种操作?构建高性能微服务架构 | 码云周刊第 29 期

高性能微服务架构 码云项目推荐 1基于 Java 8 的微服务框架 Redkale 项目简介:Redkale (中文名: 红菜苔,湖北武汉的一种特产蔬菜) 是基...

518130
来自专栏NetCore

给Ocelot做一个Docker 镜像

写在前面 在微服务架构中,ApiGateway起到了承前启后,不仅可以根据客户端进行分类,也可以根据功能业务进行分类,而且对于服务调用服务也起到了很好的接口作用...

307100

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励