Skip to content

Latest commit

 

History

History
46 lines (25 loc) · 1.27 KB

README.md

File metadata and controls

46 lines (25 loc) · 1.27 KB

微服务

好处:不限地点。不限语言。服务分治,提升单个服务的可用性。

不同服务可以在不同地方,可以使用不同的技术语言。

单服务器只服务一个服务,提升服务的性能。

服务通讯(调用)

RPC

实质是socket+序列化,但是socket部分除了与服务调用方通讯外,还包含服务治理:服务的注册发现,服务负载均衡,服务重连等等

RPC框架

rpc框架的作用是封装rpc的复杂性,使得client和server调用远程服务像调用本地服务一样简单。

分布式事务

由于服务可能在不同地域,使用不同语言,甚至不同数据库。所以需要关注数据的一致性

如付款服务和优惠券服务,使用优惠券付款时需要确保付款成功和扣除优惠券成功。

这时候就需要分布式事务。

MQ + TCC

使用MQ来确保消息的送达

TCC:try,confirm,cancel

try阶段,先进行数据检查,(如,库存是否充足等等)。

confirm阶段:当所有检查通过,进行执行事务。

cancel阶段:取消执行操作。事务出错,回滚。

服务的注册发现

ZooKeeper, Etcd, Consul

负载均衡

多个相同服务,要均衡请求,需要使用到负载均衡。