三层架构
- 网关层
- 业务逻辑层
- 数据访问层
服务拆分
- 水平拆分
- 垂直拆分
三层架构是水平拆分
微服务是垂直拆分,把原来的单体服务拆分成多个服务,至于怎么拆分服务就看具体的拆法了
微服务的落地究竟要不要水平拆分成三层,这个要看具体情况,也可以选择不拆,那就是业务逻辑层和数据访问层耦合在一起,每个微服务有自己的数据库,这里数据库指的是逻辑数据库,可能有多个数据库,多个表,其他服务如果想获取这些数据,只能通过调用该服务来获取,如果按照水平拆分三层,如图如下,二层自行脑补
可以看出微服务和SOA其实是没太大区别的,思想有些是相通的,本质都是一个单体拆分成多个服务嘛
讨论了上面,可以看出微服务与三层架构没有半毛钱关系,三层架构是水平拆分,微服务是垂直拆分。单体垂直拆分成微服务,每个微服务还可以再水平拆分,拆成业务逻辑层和数据访问层两层,
中台是什么?中台可以理解认为最开始也是一个微服务,被其他的服务调用,但随着公司业务的发展,会有其他的系统也需要调用这个微服务,就把它抽取出来,形成一个平台,也叫中台