rpc调用设计经验.md

2016-08-05  本文已影响795人  jey恒

rpc服务设计

包的划分

接口设计原则:

异常区分

接口设计

基于dubbo的问题

A服务--> B服务

dubbo服务为例,默认重试2次,如果有多个提供值默认随机选另外一个,重试之内在调不通调用b服务跑出RpcException,如果配置上mock降级,返回null,看业务

dubbo服务化最佳实战

服务分为:原子服务(订单的crud等),核心(业务)服务,只做查询的查询服务等,接口 入参 出参 要明确 拒绝:Map query(Map)

RpcException问题看业务A---->B--->C,业务场景是否可以降级等

接口方法的是否重试,并发量,超时时间,是否mock, 复杂均衡策略,失效转移策略,综合接口是查询,幂等等考虑

分布式rpc调用分析

电商常用的 优惠券,订单服务, 支付服务

Paste_Image.png

三个独立的服务,单独的db库;先来考虑下单的服务调用

这里可以利用,消息队列的特性(保证消息至少成功消费一次),发一条添加刚才扣掉的优惠券消息

支付失败,提示支付失败即可

分布式调用

非实时、非强一致性

实时,强一致性

Paste_Image.png
上一篇下一篇

猜你喜欢

热点阅读