在这里插入图片描述

什么是微服务

服务之间无依赖,可插拔

  • 不主动(不主动提供数据/上下线不通知/不告诉你服务内容)
  • 不拒绝(只要遵循接口规范,任何客户端都可以调用。应该由注册中心负责负载均衡。)
  • 不负责(A调用B,如果没有调通,B不负责将失败的请求转发至另外的节点上,应该由A进行服务降级。)
    例如,菜单列表服务需要提供大按钮。如果提供菜单数据的服务挂了,或者超时了,此时前端需要数据的一方进行降级,去缓存中调基本菜单(兜底数据)。

A服务调用B服务,如果调用失败,需要A服务处理。

单体应用向微服务异构平台架构演变

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

SpringCloud Netflix/Alibaba

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
流量分发指标:
TPS:动态处理用户的请求,带有事务
QPS:单纯的query,理解为纯静态请求(css,js文件等)。静态资源一般放在前端高性能服务器上,如CDN服务器,或Nginx做动静分离
如何分辨哪些是静态请求,哪些是带有事务的请求?
不连接数据库的,不进行加减乘除的,落地到本地磁盘地址的,都是静态请求。

实战Spring Cloud微服务注册中心

注册中心需要记录:
“服务名称”:“对应的所有可用服务IP:port列表”

注册中心需要提供:
1、接受注册的接口
2、获取注册表功能
3、注销、下线
4、心跳
5、定时剔除没有心跳的服务
6、注册中心集群之间注册表的同步

同步:
1、注册中心启动的时候,去其他注册中心拉取已经有的注册表,注册到自身
2、当有注册表的操作时(注册、更新、下线、同步到集群中),将操作广播到集群中的其他节点。
在这里插入图片描述
在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐