一、微服务架构概述

1、微服务架构

中间键对微服务的作用 微服务的中间件_中间件

中间键对微服务的作用 微服务的中间件_链路_02

2、微服务解决方案

中间键对微服务的作用 微服务的中间件_中间键对微服务的作用_03

二、Spring Cloud与中间件

1、Spring Cloud项目模块

中间键对微服务的作用 微服务的中间件_中间键对微服务的作用_04

2、Spring Cloud与网关中间件

 

中间键对微服务的作用 微服务的中间件_运维_05

 

第一代网关zuul

当后端服务出现异常。服务不可用时,需要网关进行熔断和服务降级,
在异地多活场景中需要根据请求流量进行分片,路由到不同的机房
分别给每个请求分配一个线程来梳理,根据参考数据统计,
目前最多达到1000至5ao6,在高并发的场景下,不推荐使用zuul作为网关

第二代网关Netflix zuul

Netty的线程模型是多线程reactor模型,使用boss线程和worker线程接收并异步梳理请求,

关于Netty相关知识学习(疑难点需要延伸了解)

具有很大的高并发处理能力(在本书的第十七、十八章)

3、Spring Cloud与全链路监控中间件

此时就需要利用全链路监控中间件手机、汇总并分析日志信息,进行可视化展示和监控告警,
全链路监控中间应该提供的主要功能包括:

1、定位慢调用
  1、包括慢Web服务
  2、慢REST或RPC服务
  3、慢SQL
2、定位各种错误
  1、4.x
  2、5.x
  3、Service Error
3、定位各种异常
  1、Error Exception
  2、Fatl Exception
4、展现依赖和拓扑
  1、域拓扑
  2、服务拓扑
  3、trace拓扑
  5、Trace调用链
将端到端的调用,以及附加在这次调用的上下文信息、异常日志信息
每一个调用点的耗时都呈现给用户进行展示
6、应用告警
  根据运维设定的告警规则,扫描指标数据,如违反告警规则
  则将告警信息上报道中央改经平台

全链路监控中间件相关产品发展至今,百花齐放



1、阿里的Eagleye
2、京东的Hydra

如果使用Java技术栈 非浸入式的监控,推荐使用Pinpoint或者SKywalking

对于第二个问题,现有的方法和手段显然是不太好解决的。互联网公司运维的目标始终是自动化运维,不以自动化运维为目标的运维就不是互联网运维