微服务是基于分而治之的思想演化出来的。过去传统的一个大型而又全面的系统,随着互联网的发展已经很难满足市场对技术的需求,于是我们从单独架构发展到分布式架构,又从分布式架构发展到 soa 架构,服务不断的被拆分和分解,粒度也越来越小,直到微服务架构的诞生。
微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。
微服务架构强调的重点是业务系统需要彻底的组件化和服务化。微服务是真正的分布式的、去中心化的。把所有的逻辑、路由、消息解析等放在服务内部,去掉一个大一统的 esb,服务间轻通信,是比 soa 更彻底的拆分。
横向拆分
:按照不同的业务域进行拆分,例如订单、营销、风控、积分资源等。形成独立的业务领域微服务集群。纵向拆分
:把一个业务功能里的不同模块或者组件进行拆分。例如把公共组件拆分成独立的原子服务,下沉到底层,形成相对独立的原子服务层。这样一纵一横,就可以实现业务的服务化拆分。