浅谈微服务的粒度

2017-03-02  本文已影响0人  imnx
服务化是很多互联网公司发展中不得不面临的选择,原因很简单,因为随着公司业务不断的发展,如果不对服务进行拆分,你会很痛苦,各种耦合,各种代码拷贝,改不动,不敢上,有木有,我司就有!

肿么办?资源隔离+业务拆分+服务化。资源隔离和业务拆分就不说了。服务化的粒度呢?怎么确定一个新的微服务?就我司的业务场景,可以简单介绍下,我们是个视频网站,所以有最基础的视频数据,播放和视频有关,评论、播放历史、收藏、等等,所以我们有个稿件服务,你可以认为是基于一个数据库实例。那么这些业务还有个共同点,都依赖账号,我们主站的很多业务会调用账号部门的接口,所以整理了一个账号微服务,你可以认为是基于一个子业务。还有其他场景吗?有!我们的评论业务,本来是个web服务,因为又接入了话题、直播、xx等等其他业务需求,所以也可以服务化。这种就是随着业务不断发展,才确定下来的。

综上,服务的粒度一般有这几种选择,它是一个数据库实例,或者一个子业务,或者其他部门的一个入口,或者等等看先作为一个普通业务。粒度划分过粗的结果是,感觉还要拆。划分过细的后果是,搞太复杂了。。。我个人建议在不明确划分的情况下,是晚点拆比早点拆好,至少给足够时间想好怎么拆。
上一篇 下一篇

猜你喜欢

热点阅读