通信协议:
- Dubbo是基于RPC远程过程调用
- 微服务是基于RESTful调用
微服务是什么?
Ⅰ、微服务作者(马丁福勒)的博客中提到:
- 就目前而言,对于微服务业界并没有一个统一的,标准的的定义
- 但通常而言,微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分成一组小的服务,每个服务运行在其独立的自己的进程中,服务之间互相协调,互相配合,为用户提供最终价值,服务之间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTfulAPI),每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境,类生产环境等,应尽量避免统一的,集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言,工具对其进行构建,可以有一个非常轻量级的集中式管理来协调这些服务,可以使用不同的语言来编写服务,也可以使用不同的数据存储
Ⅱ、从技术方面理解微服务:
- 微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底的去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事,从技术角度看就是一种小而独立的处理过程,类似进程概念,能够自行单独启动或销毁,拥有自己独立的数据库