每日一博 | 微服务时代组件化和服务化的抉择
随着业务系统的复杂性越来越高,系统之间的调用也越来越多,在微服务拆分和迭代过程中,是不断的拆分出新的独立的服务还是封装独立的组件以jar包依赖的方式提供服务是我们经常需要面对的问题,本文将详细探讨这两种不同的方式区别、各自的优劣势及适用的场景,希望能够对大家有所启发。 一、组件化&服务化定义 随着公司互联网业务发展越来越迅速,系统的复杂性越来越高,系统之间的调用也越来越多,在微服务拆分和迭代过程中,经常会遇到两种场景问题: 自己系统内部的一些公共功能模块到底以什么形式提供服务,是封装好所有逻辑和方法然后以jar包的形式提供,还是独立拆分出一个服务然后通过接口的方式来提供; 涉及对外部系统服务的调用,系统内部可能有很多的服务都需要调用外部服务,但是调用逻辑都是一样的,那么针对外部系统的接口调用逻辑和方法是封装成一个jar包给内部各个服务依赖调用,还是把对外部系统的接口调用逻辑和方法独立拆分成一个服务,然后内部各服务通过调用这个独立拆分出来的服务去调用外部系统服务。 针对以上两种场景,我们可以总结概括为组件化和服务化两种不同的服务提供形式: 组件化定义:即把系统内部的一些公共功能...
