浅谈微服务的粒度

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

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

综上,服务的粒度一般有这几种选择,它是一个数据库实例,或者一个子业务,或者其他部门的一个入口,或者等等看先作为一个普通业务。粒度划分过粗的结果是,感觉还要拆。划分过细的后果是,搞太复杂了。。。我个人建议在不明确划分的情况下,是晚点拆比早点拆好,至少给足够时间想好怎么拆。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容