SpringCould的发展由来以及基本概念介绍
架构的进展
单体架构
单体架构典型的代表就是一个应用、一个数据库、一个web容器就可以跑起来
垂直架构
在单体架构发展一段时间后,公司的业务模式得到了认可,交易量也慢慢的变得大起来,这时候有些企业为了应对更大的流量,就会对原有的业务进行拆分,比如说:后台系统、前端系统、交易系统等等,在这一阶段,会将系统拆分为不同的层级,每个层级都有对应的职责,UI层负责和用户进行交互,业务逻辑层负责具体的业务功能,数据库层负责和上层进行数据交换和存储。类似:SSH, SSM
服务化架构
如果公司进一步的做大,垂直子系统会变的越来越多,系统和系统之间的调用关系呈指数上升的趋势。在这样的背景下,很多公司都会考虑服务的 SOA 化。SOA 代表面向服务的架构,将应用程序按照不同的职责划分为不同的模块,不同的模块直接通过特定的协议和接口进行交互。SOA 服务化的优点是,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。在这个阶段可以使用 Web Service 或者 Dubbo 来服务治理。
微服务架构
微服务架构是 SOA 架构思想的一种扩展,更加强调服务个体的独立性、拆分粒度更小。
SOA 和微服务的区别
服务化架构已经可以解决大部分企业的需求了,那么我们为什么要研究微服务呢?
先说说它们的区别,如下几点:
1、微服务架构强调业务系统需要彻底的组件化和服务化,一个组件就是一个产品,可以独立对外提供服务。
2、微服务不再强调传统 SOA 架构里面比较重的 ESB 企业服务总线。
3、微服务强调每个微服务都有自己独立的运行空间,包括数据库资源。
4、微服务架构本身来源于互联网的思路,因此组件对外发布的服务强调了采用 HTTP Rest API 的方式来进行。
5、微服务