微服务架构核心知识学习笔记下

10 微服务的API网关原理

微服务引入网关也屏蔽内部服务实现细节,对外部提供统一的入口,如下图所示。
在这里插入图片描述
网关主要职责:反向路由(通过网关反向找到的内部的具体服务,反向代理)、安全认证、限流熔断(突发流量限流熔断)、日志监控。
在这里插入图片描述

11 Netflix Zuul 网关架构

前置路由过滤器:在请求被路由之前调用,比如:请求身份验,选择微服务实例,日志埋点等
路由过滤器:负责转发到具体的微服务。
后置路由过滤:目标服务调用后,将会转到后置路由过滤器,比如:统计、审计等。
错误过滤器:调用过程中产生错误,对错误统一处理。
在这里插入图片描述

在这里插入图片描述

12 Netflix 路由服务发现体系

在这里插入图片描述

13 微服务配置中心原理

为什么要引入配置中心,主要原因:
● 在单块应用只需要管理一套配置(放在应用配置文件中);而拆分为微服务后,配置都散落在各个应用中,维护成本较高
● 配置没有统一标准,格式不统一,而且没有审计功能;
● 修改周期比较长,可能需要发布
● 而且因为微服务治理的需要,有些配置还需要能够动态的改变,已达到动态扩容、切流量等目的
配置中心简单的原理图如下:
在这里插入图片描述
Apollo配置中心的架构如下:
在这里插入图片描述

14 微服务两种典型的通信方式(RPC和REST)

在这里插入图片描述

15 微服务框架和治理

一个国家人多了需要政府来管理,微服多了同样也需要管理和治理能力,一个好的微服务体系需要关注如下 治理环节:
在这里插入图片描述

16 微服务监控系统分层和监控架构

体系化分层监控,端到端全方位监控体系:
在这里插入图片描述

17 微服务调用链监控如何选型

微服务是复杂的分布式系统,如果没有一套好的调用链系统,服务间依赖出了问题就会很难定位,目前在各大主流的互联网公司都有配套调用链监控系统。调用链最早是谷歌提出2010年提出的,发表在<<Dapper, a Large-Scale Distributed Systems Tracing Infrastructure>>论文上。如下图所示,有个web 前端调用Service1 和cache,调用链有个span概念,span主要有spanId和traceId,root span 比较特殊启动时候除了会生成spanId 和traceId,其它的span只会生成spanId会记录其parent spanId。
在这里插入图片描述
开源界常用的调用链工具,具体如下:
在这里插入图片描述

18 微服务限流熔断

分布式微服务系统依赖服务错综复杂,如果不做好限流熔断措施,可能导致客户体验下降,严重情况可能会出现整个雪崩。为了提升系统稳定性常见做法:熔断(设置超时时间、快速失败)、隔离、限流(保护好自己)、降级。Netflix Hystrix 断路器原理如下图所示。
在这里插入图片描述

19 Docker容器部署技术&持续交付流水

容器技术区别于传统交付技术的最显著的特性:
● 环境一致性问题,传统使用war或者jar包去部署,可能会因为依赖问题在A机器是好的在B机器就不行了
● 镜像部署,只需要在每个机器部署docker运行实例,只管运行标准容器镜像(有操作系统、应用程序、应用程序依赖的包等),并不关心镜像是java写的服务还是python服务。

基于镜像治理和多环境的持续交付流⽔水线
在这里插入图片描述

20 容器集群调度和基于容器的发布体系

有了容器技术的交付手段,单独容器的能力是比较有限的,希望能够有一种容器资源的调度平台能够统一的管控容器资源,开源的技术有Mesos和Kubernetes等。下图给是资源调度框架 Mesos 架构,master(使用zk做高可用)负责管理slave机器,slave可以运行容器物理机和虚拟机,Framework负责具体调度。

在这里插入图片描述
在这里插入图片描述
参考文献
[1] 极客时间-微服务架构核心20讲

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值