微服务(一) —— 概念
目录
- 1. 什么是微服务
- 2. springcloud
- 3. 服务提供者、服务消费者
1. 什么是微服务
微服务: 分布式架构的一种。
-
服务集群:将一个功能复杂的项目拆分成许多个独立的项目(称为服务,每部分完成一定的功能),并进行独立部署。
-
注册中心:所有服务在此注册信息,服务中心会记录每一个服务的ip、端口、功能等信息,当服务A需要调用服务B的接口时,只需要在注册中心拉取服务信息即可。
-
配置中心:将所有服务的配置信息存储在此,服务可以去拉取配置信息。
-
服务网关:身份校验、将请求路由到具体的服务。
-
分布式缓存:随着服务集群规模的扩大,数据库无法承载高并发,因此加入缓存(分布式缓存),将数据库数据放入内存。请求到了,先去缓存,缓存未命中再去数据库。
-
分布式搜索:简单查询可以走缓存,但海量数据的复杂搜索、统计、分析缓存无法实现,就需要加入分布式搜索。
-
数据库:数据库只需要做写操作和一些对事务要求较高的数据的存储。
-
消息队列:在分布式里面,一个业务往往会跨越多个服务才能实现,这就会导致服务链路很长,其执行时长就会较长,性能下降。而消息队列就是实现异步通信,请求来了之后就不需要服务A去调用服务B了,服务A只需要通知服务B去执行任务,服务A执行完任务就直接结束,而不必去等待其他服务返回。
-
分布式日志服务:统计整个集群之中的服务的运行日志。
-
系统监控链路追踪:统计每一个服务节点的运行状态,可快速定位问题所在。
-
持续集成:实现自动化部署微服务集群。
2. springcloud
SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配(这是其使用最广泛的主要原因),从而提供了良好的开箱即用体验。
springboot 与 springcloud 的版本对应关系
点击图片跳转
3. 服务提供者、服务消费者
服务提供者: 暴露接口给其他微服务调用。
服务消费者: 调用其他微服务提供的接口。
一个服务既可以是提供者,也可以是消费者,根据具体的业务判断。