前言
盼望着,盼望着,春天来了。万物复苏,我也该从安逸的工作和生活中苏醒了。机会总是留给有准备的人,我也该成为一个时刻能抓住机会的“有准备的人”。从今天起,开始学习微服务,并且复习/补习基础知识吧!
1.什么是微服务?
微服务是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分成一组小的服务,每个服务运行在其独立的自己的进程中,服务之间互相协调、互相配合,为用户提供最终价值。 服务之间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,各服务可以由不同语言编写,数据存储在不同的数据库,并且能够被独立地部署到生产环境、类生产环境等。
微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事,从技术角度看就是一种小而独立的处理过程,类似进程概念,能够自行单独启动或销毁,拥有自己独立的数据库。
2.什么是分布式?
分布式不是开发方式,而是一种部署方式,就是说,在分布式服务中,一个服务可能负责几个功能,系统应用部署在超过一台服务器或虚拟机上,服务之间通过rpc来交互或者是webservice来交互的。生产环境下的微服务肯定是分布式部署的,但是分布式部署的应用不一定是微服务架构的,比如集群部署,它是把相同应用复制到不同服务器上,但是逻辑功能上还是单体应用。