微服务实战(九):落地微服务架构到直销系统(回顾总结)

2018-10-25
阅读 3 分钟
1.8k
这个系列我们大概写了八篇文章,将微服务的最重要的内容过了一遍。当然其中有些内容还没有涉及到,比如Docker(不是微服务架构风格中必须的)等,关于Docker我们自己可以在网上找找其他文章。

微服务实战(八):落地微服务架构到直销系统(服务高可用性)

2018-10-10
阅读 6 分钟
1.8k
在微服务架构风格的系统中,如果单个微服务垮掉或地址不可访问,虽然对系统的影响是有限的,但我们也必须采取一定的手段来保证每个微服务尽量可用;并且在大并发的情况下,虽然可以通过EDA消息队列处理的方式提高吞吐量,但仍然需要WebApi能够更加高效的侦听用户请求,处理消息,即使在某个服务短暂不可用的情况下。本篇...

微服务实战(七):落地微服务架构到直销系统(实现命令与命令处理器)

2018-09-27
阅读 6 分钟
2.2k
我们先来看看CQRS架构,你对下图的架构还有印象吗?每个组件的功能都还清楚吗?如果有疑问,请查考文章《微服务实战(五):落地微服务架构到直销系统(构建高性能大并发系统)》。

微服务实战(六):落地微服务架构到直销系统(事件存储)

2018-09-06
阅读 5 分钟
2.7k
在CQRS架构中,一个比较重要的内容就是当命令处理器从命令队列中接收到相关的命令数据后,通过调用领域对象逻辑,然后将当前事件的对象数据持久化到事件存储中。主要的用途是能够快速持久化对象此次的状态,另外也可以通过未来最终一致性的需求,通过事件数据将对象还原到一个特定的状态,这个状态通常是通过对象事件的...

微服务实战(五):落地微服务架构到直销系统(构建高性能大并发系统)

2018-08-15
阅读 2 分钟
2.4k
在现代系统中,特别是互联网软件,通常会涉及到大量用户的并发访问,我们的系统一定要在架构上支持高性能、大并发的访问。一个高性能的系统通常由很多的方面组成,包括数据库高性能、Web服务器高性能、负载均衡、缓存、软件架构等。我们这篇文章先从软件开发架构的角度作为切入点来介绍如何构建高性能的系统。

微服务实战(四):落地微服务架构到直销系统(将生产者与消费者接入消息总线)

2018-08-14
阅读 4 分钟
2k
前一篇文章我们已经完成了基于RabbitMq实现的的消息总线,这篇文章就来看看生产者(订单微服务)与消费者(经销商微服务)如何接入消息总线实现消息的发送与消息的接收处理。

微服务实战(三):落地微服务架构到直销系统(构建基于RabbitMq的消息总线)

2018-08-14
阅读 5 分钟
2.1k
微服务实战(三):落地微服务架构到直销系统(构建基于RabbitMq的消息总线)从前面文章可以看出,消息总线是EDA(事件驱动架构)与微服务架构的核心部件,没有消息总线,就无法很好的实现微服务之间的解耦与通讯。通常我们可以利用现有成熟的消息代理产品或云平台提供的消息服务来构建自己的消息总线;也可以自己完全写一个消...

微服务实战(二):落地微服务架构到直销系统(构建消息总线框架接口)

2018-08-14
阅读 5 分钟
2.6k
从上一篇文章大家可以看出,实现一个自己的消息总线框架是非常重要的内容,消息总线可以将界限上下文之间进行解耦,也可以为大并发访问提供必要的支持。消息总线的作用:1.界限上下文解耦:在DDD第一波文章中,当更新了订单信息后,我们通过调用经销商界限上下文的领域模型和仓储,进行了经销商信息的更新,这造成了耦合...

微服务实战(一):落地微服务架构到直销系统(什么是微服务)

2018-08-13
阅读 3 分钟
3.4k
网上有很多关于微服务的文章,从不同的维度对微服务进行了相关的讲述;有些高屋建瓴,有些涉及细节,有些侧重理论,有些侧重代码,都是非常不错的了解微服务的文章。

领域驱动设计实战进阶第一波(八):开发一般业务的大健康行业直销系统(总结篇)

2018-08-10
阅读 4 分钟
2.5k
1、没有描述需求的设计模型;而是直接通过数据库表的方式体现,也就是需求与设计是脱节的。2、编码的架构也没有与设计和需求对应起来。3、业务逻辑与技术混在一起;业务逻辑可能直接调用的数据访问,这样把业务逻辑与数据访问的技术混在一起。4、开发没有层次感和节奏感;系统没有一个统一的约束,开发人员没有一个统一...

领域驱动设计实战案例(七):订单上下文应用服务用例与接口

2018-06-21
阅读 5 分钟
2.4k
上一篇文章我们主要讲了订单上下文的领域逻辑,在领域逻辑中完成了订单项的计算逻辑、订单的计算逻辑以及如何生成相应的实体code,这篇文章我们通过在应用服务中实现一个下单的用例,来将这些领域逻辑以及仓储整合起来,完成一个下单的用例。

领域驱动设计实战案例(六):订单上下文领域逻辑

2018-06-14
阅读 4 分钟
3.2k
DDD实战进阶第一波:开发一般业务的大健康行业直销系统 前一篇文章主要讲了订单上下文的POCO模型,其中订单与订单项中有大量的值对象。这篇文章主要讲讲这些值对象以及订单项、订单相关的领域逻辑。 1.ProductSKUs值对象领域逻辑: ProductSKUs值对象用于订单项实体中,它的信息应该来源于产品上下文的ProductSKU实体。 ...

领域驱动设计实战案例(五):订单上下文POCO模型

2018-06-07
阅读 4 分钟
6.5k
但是在这两个界限上下文中,业务逻辑很简单,也没有用到更多的值对象的内容。从这篇文章开始,我们来讲讲订单界限上下文实现的内容,里面的业务逻辑相对复杂一些,而且有大量值对象的引入来进行逻辑的处理。

领域驱动设计实战案例(四):实现经销商代注册用例与登录令牌发放

2018-06-07
阅读 6 分钟
2.8k
DDD实战进阶第一波:开发一般业务的大健康行业直销系统 前一篇文章主要实现了经销商代注册的仓储与领域逻辑、经销商登录的仓储与相关逻辑,这篇文章主要讲述经销商代注册的用例与经销商登录的查询功能。 一.经销商代注册用例 在经销商代注册用例中,我们需要传递经销商的基本注册信息,这个信息是做成了DTO对象。 1.经销...

领域驱动设计实战案例(三):实现经销商上下文领域层之POCO模型、 仓储与领域逻辑、经销商登录仓储与逻辑

2018-06-04
阅读 11 分钟
3.4k
先简单讲下业务方面的需求:直销系统会有一个顶级的经销商,经销商的基本信息中包括经销商的名字、联系人(因为在平台购买产品后,会寄送给联系人)、总的电子币(电子币是由经销商支付产生,购买产品后会扣减电子币)、总的奖金币(系统周期性根据经销商购买的东西来确定奖金币,奖金币可以购买东西,也可以提现)、总PV...

领域驱动设计实战案例(二):实现产品上下文领域层、仓储与应用服务层、接口与测试

2018-05-31
阅读 11 分钟
5.9k
先简单讲下业务方面的需求:产品SPU与产品SKU,产品SPU主要是产品的名字和相关描述,产品SKU包括产品SPU的多个规格,每个规格有不同的价格与PV值。从我们对DDD概念的理解,产品SPU与产品SKU属于同一个聚合,产品SPU是聚合根。

领域驱动设计实战案例(一):搭建支持DDD的轻量级框架

2018-05-14
阅读 7 分钟
27.3k
近年来,关于如何开发基于业务的软件系统与产品一直是软件行业的一个重要内容。对于架构师与软件开发人员来说,开发此类系统头痛的问题大概是以下几个方面: