服务框架的几种服务调用形式

1. 同步调用

同步服务调用是最常用的一种服务调用方式,它的工作原理和使用都非常简单,分布式服务框架默认都需要支持这种调用形式。

它的工作原理如下:客户端发起远程服务调用请求,用户线程完成消息序列化之后,将消息投递到通信框架,然后同步阻塞,等待通信线程发送请求并接收到应答之后,唤醒同步等待的用户线程,用户线程获取到应答之后返回。

它的工作原理图如图:

消费者调用服务端发布的接......

使用Hystrix完成熔断、限流和降级

1. 介绍

为了保证系统不被突发流量击垮,进行容量保障是十分有必要的。从架构的稳定性角度看,在有限资源的情况下,所能提供的单位时间服务能力也是有限的。假如超过承受能力,可能会带来整个服务的停顿,应用的Crash,进而可能将风险传递给服务调用方造成整个系统的服务能力丧失,进而引发雪崩。另外,根据排队理论,具有延迟的服务随着请求量的不断提升,其平均响应时间也会迅速提升,为了保证服务的SLA,有必要控制单位时间的请求量。这就是限流为什么愈发重要的原因。

本文主要讨论内容为:

解决容量保障(雪崩效应)问题的三大方法——熔断、限流和降级相关的概念

Hystrix的基本原理

2......

阿里双11背后的技术

1. 介绍

近期阿里出了一本电子书阿里双11背后的技术

本文仅做下目录的记录,对某些章节感兴趣的同学可以直接点击链接访问查看。

PS: 有些章节需要登入后才能查看

第一章 基础设施

1.1 万亿交易量级下的秒级监控

1.2 双11背后基础设施软硬结合实践创新

1.3 阿里视频云ApsaraVideo是怎样让4000万人同时狂欢的

第二章 存储

2.1 数据库优化之路

2.2 AliCloudDB--双11商家后台数据库的基石

第三章 中间件

3.1 万亿级数据洪峰下的分布式消息引擎

第四章 电商云化

4.1 17.5W秒级交易峰......

冗余表数据一致性

本文转自公众号——架构师之路

作者:58沈剑

本文主要讨论这么几个问题:

本文主要讨论四个问题:

(1)为什么会有冗余表的需求

(2)如何实现冗余表

(3)正反冗余表谁先执行

(4)冗余表如何保证数据的一致性

一、需求缘起

互联网很多业务场景的数据量很大,此时数据库架构要进行水平切分,水平切分会有一个patition key,通过patition key的查询能够直接定位到库,但是非patition key上的查询可能就需要扫描多个库了。

例如订单表,业务上对用户和商家都有订单查询需求:

Order(oid, info_detail)

T(buyer_i......

缓存架构设计细节二三事

本文转自公众号——架构师之路

作者:58沈剑

本文主要讨论这么几个问题:

(1)“缓存与数据库”需求缘起

(2)“淘汰缓存”还是“更新缓存”

(3)缓存和数据库的操作时序

(4)缓存和数据库架构简析

一、需求缘起

场景介绍

缓存是一种提高系统读性能的常见技术,对于读多写少的应用场景,我们经常使用缓存来进行优化。

例如对于用户的余额信息表account(uid, money),业务上的需求是:

(1)查询用户的余额,SELECT money FROM account WHERE uid=XXX,占99%的请求

......