前面的章节都是围绕这微服务的安全在讲一些东西,包括微服务本身api的安全、网关的安全、怎么去做安全中心,包括认证服务器,权限的服务。权限的设计,怎么来实现SSO。然后sentinel来实现统一的熔断,限流,这些都是和安全相关的知识点。前面讲的这些东西都是保证你的服务不出问题的。但是一个永远不出现问题的服务是不可能存在的,这时候我们就需要一些可见性的保证,让我来及时的发现问题,然后去排查这些问题。

本节会讲三套系统分别对应调用链监控、指标监控、日志监控

各自的特点,
Metrics:所有可以用数字表示的都可以用Metrics来追踪,比如说你现在内存的使用情况,cpu使了几个核,当前的qps是多少,服务的响应时间是多少,等等这些可以用一个数字或者是几个数字来表示的信息都可以用Metrics来追踪。
Metrics在时间上是聚合的,例如可以统计在一分钟之内系统流量是多少,或者一小时你的系统流量是多少,一分钟内你系统的平均响应时间是多少,可以按照一定的时间维度把这些数据来聚合。
Logging:描述一些离散的不连续的事件,它里面是一些文字的信息。比如说一个用户下了一个订单,几点几分下的这个订单,下的订单买的是什么东西,订单金额是多少,下单成功了还是失败了。这些信息都是可以用日志来追踪的,
Tracing:最大的特点是,针对单次请求的,追踪的是在这一次请求里面,发生了什么事情,比如说你调了一个下单的服务,那么在调用这个下单服务一次请求里面,发生了什么事情,指从订单服务又调用了哪个服务,比如说从订单服务又调用了用户服务,又调用了商品服务、价格服务,然后你访问了哪个数据库,执行了什么sql,发了什么消息,消息又被谁消费了。在这一个下单服务,一次请求里面,发生了什么事,然后这些信息你可以通过一个Tracing系统来它展示出来,让你可以非常清晰的来看到。

从重要性上来说,最重要的应该是Logging,它是我们系统或者应用的一个记录。问题排查取证的依据,它的优先级是最高的。出了问题我们马上第一反应就是看日志。

优先级第二高的就是Metrics,度量系统是我们关注事件的聚合,比如说你的服务是不是健康,响应时间是不是在你希望的时间之内,这些都是你要关注的事情。当达到一定指标的时候,我们会争对这个关注的事情指标设置一个告警,然后会有自适应的机制,争对Metrics可以有很多自动化的东西,比如说当我的系统响应时间到了一定程度以后,我就报警,或者是自动扩容,加一些机器来分担我的压力。

最后是tracing。主要是优化系统,排插问题的一个高阶的方法,通过tracing我们可以发现在一次请求之中,它的瓶颈在哪里,比如说刚才举的例子,你调了订单服务,你又调了用户服务,商品服务,价格服务,那么现在你订单服务响应时间变慢了,那么问题到底出在哪里,是出在订单服务本身还是出在我依赖的商品服务,或者价格服务。tracing是帮我们定位问题,优化系统的一个手段。

下面从Metrics来开始。

结束

Spring cloud微服务安全实战-7-1章节概述的更多相关文章

  1. Spring cloud微服务安全实战-6-1本章概述

    这一章来讲一下,微服务之间的通讯安全. 当前这个架构还存在的问题 在网关上做限流还是有一些问题的.例如我的订单服务限流是100,库存服务限流也是100.但是我的订单服务会调用我的库存服务.那么在网关这 ...

  2. Spring cloud微服务安全实战_汇总

    Spring cloud微服务安全实战 https://coding.imooc.com/class/chapter/379.html#Anchor Spring Cloud微服务安全实战-1-1 课 ...

  3. 《Spring Cloud微服务 入门 实战与进阶》

    很少在周末发文,还是由于昨晚刚收到实体书,还是耐不住性子马上发文了. 一年前,耗时半年多的时间,写出了我的第一本书<Spring Cloud微服务-全栈技术与案例解析>. 时至今日,一年的 ...

  4. Spring Cloud微服务安全实战_00_前言

    一.前言: 一直以来对服务安全都很感兴趣,所以就学习.这是学习immoc的 jojo老师的 <Spring Cloud微服务安全实战课程>的笔记,讲的很好. 课程简介:  二.最终形成的架 ...

  5. Spring Cloud微服务安全实战_4-5_搭建OAuth2资源服务器

    上一篇搭建了一个OAuth2认证服务器,可以生成token,这篇来改造下之前的订单微服务,使其能够认这个token令牌. 本篇针对订单服务要做三件事: 1,要让他知道自己是资源服务器,他知道这件事后, ...

  6. Spring Cloud微服务安全实战_4-3_订单微服务&价格微服务

    实现一个场景: 订单微服务: POM: <?xml version="1.0" encoding="UTF-8"?> <project xml ...

  7. Spring cloud微服务安全实战 最新完整教程

    课程资料获取链接:点击这里 采用流行的微服务架构开发,应用程序访问安全将会面临更多更复杂的挑战,尤其是开发者最关心的三大问题:认证授权.可用性.可视化.本课程从简单的API安全入手,过渡到复杂的微服务 ...

  8. Spring cloud微服务安全实战-6-8sentinel限流实战

    阿里2018年开源的. 简单来说就是干三件事,最终的结果就是保证你的服务可用,不会崩掉.保证服务高可用. 流控 先从最简单的场景来入手. 1.引用一个依赖, 2,声明一个资源. 3.声明一个规则 注意 ...

  9. Spring cloud微服务安全实战-6-4权限控制改造

    授权,权限的控制 令牌里的scope包含fly就有权限访问.根据Oauth的scope来做权限控制, 要让@PreAuthorize生效,就要在启动类里面写一个注解. 里面有一个属性叫做,就是在方法的 ...

  10. Spring cloud微服务安全实战-6-2JWT认证之认证服务改造

    首先来解决认证的问题. 1.效率低,每次认证都要去认证服务器调一次服务. 2.传递用户身份,在请求头里面, 3.服务之间传递请求头比较麻烦. jwt令牌. spring提供了工具,帮你在微服务之间传递 ...

随机推荐

  1. golang方法和接口

    一.  go方法 go方法:在函数的func和函数名间增加一个特殊的接收器类型,接收器可以是结构体类型或非结构体类型.接收器可以在方法内部访问.创建一个接收器类型为Type的methodName方法. ...

  2. mysql表的连接

    目录 1.笛卡尔积:将两表所有的数据一一对应,生成一张大表 2.连表查询 1.inner join 内连接 2.left join 左连接(left join左边的表为主表,主表记录必须全部显示,辅表 ...

  3. spring cloud (七) Config server基于svn配置

    1 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...

  4. jni接口

    https://www.jianshu.com/p/d4a502420a89 #pragma once /*DO NOT EDIT THIS FILE - it is machine generate ...

  5. 使用CefSharp在C#访问网站,支持x86和x64

    早已久仰CefSharp大名,今日才得以实践,我其实想用CefSharp来访问网站页面,然后抓取html源代码进行分析,如果使用自带的WebBrowser控件,可能会出现一些不兼容js的错误. Cef ...

  6. P1505 [国家集训队]旅游[树剖]

    题目描述 Ray 乐忠于旅游,这次他来到了T 城.T 城是一个水上城市,一共有 N 个景点,有些景点之间会用一座桥连接.为了方便游客到达每个景点但又为了节约成本,T 城的任意两个景点之间有且只有一条路 ...

  7. VUE之路

    最近研究了下Vue这个前端框架,不得不说这个前端框架很是厉害.不过对于习惯了jQuery的我来说,刚上手那会儿还是踩了很多的坑啊.那会儿觉得天啊,这个Vue框架特别的绕,并且也更复杂.不过待我写了几天 ...

  8. SQL异常总结

    1.resultType和resultMap写错时,启动时就会报错 原因: 2.The error occurred while handling results ### SQL: select US ...

  9. Dubbo源码分析:Server

    Server接口是开启一个socket服务.服务实现有netty,mina,grizzly的. 抽象时序图 获取NettyServer时序图 Transporter类图 Server 类图

  10. [Debug] How to Debug a NestJs Backend using the Chrome Dev Tools

    TO debug NestJS code with Chrome dev tool, we can run: node --inspect-brk dist/rest-api/src/main.js ...