前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微服务框架saf-6:saf-http之度量

微服务框架saf-6:saf-http之度量

作者头像
千里行走
发布2020-02-20 10:08:55
3730
发布2020-02-20 10:08:55
举报
文章被收录于专栏:千里行走千里行走

目录

(1).关于saf

(2).前置准备

(3).saf-http之度量原理

(4).开启访问流量

(5).度量体验

1.SAF Incoming HTTP Dashboard

2.SAF Incoming HTTP Detail Dashboard

3.SAF Outcoming HTTP Dashboard

4.SAF Outcoming HTTP Detail Dashboard

5.其他

(6).相关文章

架构实战交流钉钉群号:23394754

(1).关于saf

项目地址:

https://github.com/saf-group

1.一个微服务框架,完全基于注解的方式开发。

2.适用于云原生(K8S)下的微服务体系搭建,为技术中台提供底层支撑。

3.解放业务,使业务方专注于业务逻辑本身:通过注解以搭积木方式引入各式资源,每个资源都是一行注解,极大提升业务方产出效率。

(2).前置准备

需要完成一个saf-http-demo的容器化部署,要准备很多准备,详情参见:

微服务框架saf-5:saf-http与demo的解析与体验,以及容器化部署

参考下述文章,完成prometheus-saf的部署,这样可以抓取demo的metrics:

grafana&prometheus生产级容器化监控-1:生产级容器化

(3).saf-http之度量原理

如下图所示:

显然分两部分,对于web服务来说一方面会接受http,另一方面会发出http。

http-in:通过HttpMetricFilter拦截http请求,进行度量处理。

http-out:封装httpclient,加入度量处理。

并且对于http-out场景,使用注解与apollo结合的方式做到本地0配置,与0成本使用httpclient。

httpclient使用举例:

一个EnableHttpBioClient对应一个httpclient/httppool实例,这样做到资源隔离,防止某个域名不稳定冲垮整个服务。

beanNamePrefix:指定不同httpclient实例的beanName前缀,这样使用时才可以区分。

instance:apollo配置中心配置前缀中的部分标示,这样才可以针对不同httpclient实例做配置。

project:也是apollo配置中心配置前缀中的部分标示,表示这个配置属于哪个服务,不会造成不同服务之间的混淆。

(4).开启访问流量

开一个任意支持curl的pod,启动访问脚本,给demo服务一定压力好观测数据。

代码语言:javascript
复制
#!/bin/bash

for((i=1;i<=100000000;i++));  
do
    curl http://saf-sample-http-apache-httpcomponents-web-send-prod/shop/getShop?shopId=1
done

(5).度量体验

http度量目前只有4个dashboard,还可拓展出p99同比等。

dashboard

用途

SAF Incoming / HTTP

度量http-in,如qps, lantency, p99等。

SAF Incoming / HTTP / Detail

SAF Incoming / HTTP更细粒度的度量。

SAF Outcoming HTTP

度量http-out,如qps, lantency, p99等。

SAF Outcoming HTTP / Detail

SAF Outcoming / HTTP更细粒度的度量。

1.SAF Incoming HTTP Dashboard

注意上图,大家很容易有一个疑惑,就是并发为什么非0即1,是不是有问题。实际上没有问题,因为访问脚本是单线程的,所以并发不可能超过1,大多数时间为0是因为30秒抓取一次,不一定能抓到的。

点击具体的url可以进入SAF Incoming HTTP Detail Dashboard。

2.SAF Incoming HTTP Detail Dashboard

支持每个http host更细粒度的度量:

注意,支持多个url同时展示的度量,选择多个url:

3.SAF Outcoming HTTP Dashboard

点击具体的url可以进入SAF Outcoming HTTP Detail Dashboard。

4.SAF Outcoming HTTP Detail Dashboard

5.其他

根据现有metrics,还可以定制出p99同比等dashboard;

另外,关于熔断限流(属于sidecar的范畴)的度量,另开文章,本文涉及部分,如httpclient detail中的http容量算是其中的部分;

另外,还有非常关键的APM度量,这个以后有时间另开文章陈述:

(6).相关文章

微服务框架saf-5:saf-http与demo的解析与体验,以及容器化部署

grafana&prometheus生产级容器化监控-1:生产级容器化

K8S&微服务&阿里云生产实践-1:整体架构

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 千里行走 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档