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