一、微服务架构概述
1、微服务架构
2、微服务解决方案
二、Spring Cloud与中间件
1、Spring Cloud项目模块
2、Spring Cloud与网关中间件
第一代网关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
对于第二个问题,现有的方法和手段显然是不太好解决的。互联网公司运维的目标始终是自动化运维,不以自动化运维为目标的运维就不是互联网运维