我理解所谓的微服务,在底层这一块更多像微服务,微服务是不是拆分的越多越好,也不一定。比如说库存,如果看这个商品有没有库存,首先你调一个服
务看这个商品是不是在这个区域里卖,再调一个服务看商品是不是上架,再调一个服务看库存是不是大于0,那就太多了。
独立并不一定是最简单,它也要有自己完整的业务逻辑。比如库存并不是简单地看库存表里的数字是大于0还是小于0的问题。
举个例子,打开一个详情页会调用很多的服务,类目信息、商品信息、价格信息、库存信息、评论等等。这么多服务,怎么保证性能呢,如果拆的非常细的
话,仅一个库存服务就可以拆成7、8个子服务,这样的话服务就要调七八次,网络交互也是七八次,单个Service性能再好又怎么样呢?哪怕你的服务性能达
到1毫秒,够快了吧,你调用10次要10毫秒,调用100次要100毫秒,你的性能还是在下降,所以并不是越微越好,这个长和短的粒度要划分好。记住两个关键
词:边界和粒度。