19、响应式微服务入门

响应式微服务入门

在企业级基于微服务的系统中,往往包含大量的微服务,其规模和复杂性难以在一篇文章中全面呈现。在这种情况下,跟踪一组微服务并与它们进行通信会变得极具挑战性。

微服务的自主性与隔离性

在从单体应用向微服务架构过渡时,我们了解到微服务具有隔离性。通过接缝识别,我们将模块隔离成独立的服务集,这些服务拥有自己的数据,不允许其他微服务或进程直接访问。通过专注于单一业务功能并处理好数据和封装的业务功能等方面,我们实现了微服务的自主性。异步性也是微服务的一个重要特性,它使得对微服务的调用是非阻塞的。

微服务的自主性非常重要,如果一个微服务的故障导致其他服务延迟或产生多米诺效应,那就说明我们的设计存在问题。如果微服务的隔离做得正确,并且对每个微服务要执行的功能进行了合理分解,那么整个设计就能更好地处理各种冲突、通信和协调问题。

一个设计良好的微服务,其消费者不必担心微服务失败或抛出异常。如果在规定时间内没有响应,只需重试即可。

消息驱动:响应式微服务的核心

消息驱动是响应式微服务的核心。所有响应式微服务都会定义它们可能产生的任何事件,这些事件可能包含也可能不包含额外的信息负载,这取决于单个事件的设计。事件的生成者并不关心该事件是否被处理,在该特定服务的范围内,事件生成后的行为没有进一步的定义。

这些生成的事件可以通过异步监听来捕获,没有其他服务会以阻塞模式等待这些事件。监听这些事件的服务称为订阅者,监听事件的行为称为订阅。订阅这些事件的服务称为观察者,生成事件的源服务称为可观察对象,这种模式就是观察者设计模式。

在实现每个观察者时,具体的实现方式可能与我们设计松耦合微服务的理念不

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值