Category: microservice

0

Domain-Driven Design在微服务中的使用

一般来说在我们在讨论如何设置微服务的boundaries的时候,会围绕domain来进行考虑。因此Domain-Driven Design(DDD)在这个过程中就可以提供很不错的帮助,本文就来聊聊我们在微服务中是如何使用DDD的。DDD其实包含了很多内容,我们这里主要关注两个重要的思想:聚合(Aggregate)以及界限上下文(Bounded context)。 聚合(Aggregate) DDD中的聚合有时候也让人confuse,不是很明确究竟是什么意思。一个比较简单的理解就是我们可以认为它是一个真实domain概念的展现,就是说它通常有一个生命周期,我们可以通过一个状态机来实现它。...

7

微服务基础介绍之耦合

我们在之前的文章中对微服务进行了概述,相信大家对微服务也有了一定的了解。有很多人会问,我们该怎么来把一个系统拆分成多个微服务呢?要想回答这个问题,就需要知道各个微服务之间都有哪些类型的耦合,本文就来和大家聊一聊微服务的耦合类型。 Domain Coupling 所谓Domain的coupling其实很简单,就是一个微服务和另外一个微服务之间耦合的原因就是因为一个微服务需要使用另外一个微服务的功能。 我们来看一个简单的例子,我们下单购买某一个物品,这里涉及几个模块,一个是Order...

0

微服务概述

我们都知道微服务现在越来越流行,关于微服务有很多内容可以讨论,笔者最近也阅读了很多相关资料,准备开始一个关于微服务的系列文章,今天就先来和大家来聊一聊什么是微服务。 概述 所谓微服务简单来说就是围绕一个business domain来实现的可以独立release的各种服务。每个服务都有各自的功能,并且能够被别的服务通过网络来进行访问,从而构建一个整体完整的功能。就像我们在淘宝购物,一个服务显示当前的库存,一个服务管理相应的订单,一个服务管理订单的发货,然后他们整合在一起构成了我们一个购物的系统(只是随便说了几个服务,显然现实中的淘宝要比这个复杂得多)。 从另外一个角度来说,我们也可以认为微服务是一个面向服务的架构。每一个“微服务”本身我们可以认为是一个黑盒,它实现了某些特定的功能,外面对它是如何实现的并不需要关心,只关心它的网络接口(REST...