【开源】.net微服务开发引擎Anno 让复杂的事简单点- 日志、链路追踪一目了然 (上)
1、Anno简介?
Anno是一个微服务框架引擎。入门简单、安全、稳定、高可用、全平台可视化监控、依赖第三方框架少。详情请查看《【开源】.net微服务开发引擎Anno开源啦》
本章主题:.net微服务开发引擎Anno 让复杂的事简单点- 日志、链路追踪一目了然


1、链路追踪和用户自定义日志挂钩
在前面我们已经了解到Anno 可以监控整个微服务集群的状态,包括CPU、内存、硬盘、访问量等等。一个不可监控的微服务平台是可怕的,出了问题 难以准确定位问题的根源。在市面上微服务框架很多都没有链路追踪功能,或者需要集成第三方的服务插件。让整个微服务变的复杂、不可控。我们用微服务的目的是解决问题的,不是让问题变的更复杂的。因此Anno则有一套自己的链路追踪服务,不依赖地方,简单好用。好了不吹牛逼了,上图。

NewApi 是微服务网关的名称(可以自定义),从上图我们可以清晰的看到用户admin 在2020-07-10T15:26:33.155 通过网关(NewApi)访问了微服务PlatformService(名称可以自定义)的插件Anno.Plugs.Logic 的模块 Platform 的方法 InvokeTest 总耗时 111毫秒。接下来我们点击详情去查看这个请求 PlatformService 是不是又调用了其他服务

在这个调用链里面我们清晰的看到,用户Admin通过NewAPI网关调用了PlatformService服务的 InvokeTest方法
PlatformService 的InvokeTest方法又调用了 App001微服务的 InvokeTest1 方法。
App001 又同时调用了自己(App001)的 GetList_IndexViewModel方法和 PlatformService服务的CreateSdaNum 方法。
从我的文字描述估计看着有点费劲,不过我们通过上图可以清晰的看到这个调用链都发生了什么事。
此时可能喜欢琢磨的你已经想到,只看到这个链路还不行。我还想再链路上记录一些我自己的日志方便我调试和日后排查问题。(如果你用了第三方的链路追踪组件可能这个功能做起来就有点费劲了)那么Anno也已经帮我们处理好了。细心的你估计也已经看到 调用链上的每一个调用都有一个系统日志的文字按钮。点击它我们就可以清晰的看到我们再这个调用中自己写的日志。
我们开查看这个调用链的日志

点击查看:

根据调用链的追踪Id我们找到了三条日志。
也可以点击日志里面的链路文字按钮反向查找调用链。

至此本章我们要说的东西也已经大概结束了,后面我会写一下链路追踪和自定义日志的代码怎么写。还不了解Anno、Viper的小伙伴可以访问我的Git仓库关注我了解更多内容
文档地址:
https://duyanming.github.io/
Anno核心源码:https://github.com/duyanming/Anno.Core
Viper示例项目:https://github.com/duyanming/Viper
体验地址:http://140.143.207.244/Home/Login
QQ交流群:478399354

【开源】.net微服务开发引擎Anno 让复杂的事简单点- 日志、链路追踪一目了然 (上)的更多相关文章
- 【开源】.net微服务开发引擎Anno开源啦
1.Anno是什么? Anno是一个微服务框架引擎.入门简单.安全.稳定.高可用.全平台可监控.依赖第三方框架少.底层通讯RPC(Remote Procedure Call)采用稳定可靠经过无数成功项 ...
- .netcore 微服务快速开发框架 Anno&Viper -分布式锁是个什么鬼
1.什么是锁 锁是为了解决多线程或者多进程资源竞争的问题. 同一进程的多个线程资源竞争可以用lock解决. lock 关键字可确保当一个线程位于代码的临界区时,另一个线程不会进入该临界区. 如果其他线 ...
- 黑少微服务商店之Iron Cloud微服务开发云
近日,由黑少微服务研发团队推出的Iron Cloud微服务开发云已经正式对外提供服务,这是国内第一家基于云端操作的微服务专业开发工具. Iron Cloud 微服务开发云(www.ironz.com) ...
- mPass多租户系统微服务开发平台
目录 项目总体架构图 基于SpringBoot2.x.SpringCloud并采用前后端分离的企业级微服务,多租户系统架构微服务开发平台 mPaaS(Microservice PaaS)为租户业务开发 ...
- python 微服务开发书中几个方便的python框架
python 微服务开发是一本讲python 如果进行微服务开发的实战类书籍,里面包含了几个很不错的python 模块,记录下,方便后期回顾学习 处理并发的模块 greenlet && ...
- 【新书推荐】《ASP.NET Core微服务实战:在云环境中开发、测试和部署跨平台服务》 带你走近微服务开发
<ASP.NET Core 微服务实战>译者序:https://blog.jijiechen.com/post/aspnetcore-microservices-preface-by-tr ...
- 基于 abp vNext 微服务开发的敏捷应用构建平台 - 项目介绍
缘起 目前使用ABP框架已经将近3年了,大大小小的项目也陆陆续续做了很多.由于现有信息系统的架构模式是在底层的技术平台上直接构建信息系统并采用技术主导,使用业务无关的编程工具来开发信息系统的缺陷使得系 ...
- 微服务开发的最大痛点-分布式事务SEATA入门简介
前言 在微服务开发中,存在诸多的开发痛点,例如分布式事务.全链路跟踪.限流降级和服务平滑上下线等.而在这其中,分布式事务是最让开发者头痛的.那分布式事务是什么呢? 分布式事务就是指事务的参与者.支持事 ...
- .netcore 微服务快速开发框架 Anno&Viper 注册中心 (服务上线下线预警通知)
1.微服务时代,服务上线先预警通知 在微服务大行其道的今天,相信很多人都用上了微服务或者是微服务的概念也已经有了一个深刻的了解.今天我们不在这里展开阐述,今天我们要说的是微服务伴侣预警通知. 2.注册 ...
随机推荐
- Codeforces Round #682 (Div. 2)【ABCD】
比赛链接:https://codeforces.com/contest/1438 A. Specific Tastes of Andre 题意 构造一个任意连续子数组元素之和为子数组长度倍数的数组. ...
- Codeforces Round #647 (Div. 2) A. Johnny and Ancient Computer
题目链接:https://codeforces.com/contest/1362/problem/A 题意 有一个正整数 $a$,可选择的操作如下: $a \times 2$ $a \times 4$ ...
- 【uva 1610】Party Games(算法效率--构造 dfs)
题意:有一个N个字符串(N≤1000,N为偶数)的集合,要求找一个长度最短的字符串(可不在集合内)S,使得集合中恰好一半的串小于等于S,另一半大于S.如果有多解,要求输出字典序最小的解. 解法:本来我 ...
- hdu 6795 Little W and Contest 并查集+排列组合
题意: t组输入,有n个人,刚开始谁也不认识谁.每一个人有一个权值w[i](1<=w[i]<=2),你要挑选3个互相不认识的人组成一个队,且要保证3个人权值之和大于等于5(也就意味着最少要 ...
- Codeforces Round #481 (Div. 3) F. Mentors (模拟,排序)
题意:有一个长度为\(n\)的序列\(a\),求这个序列中有多少比\(a_{i}\)小的数,如果某两个位置上的数有矛盾,则不能算小. 题解:用\(pair\)来记录序列中元素的位置和大小,将他们升序排 ...
- 二、Python基础(input、变量名、条件语句、循环语句、注释)
一.input用法 input在Python中的含义为永远等待,直到用户输入了值,从而将所输入的值赋值另外的一个东西. n=input('请输入......') 接下来用一个例子学习input的用法 ...
- 二进制安装kubernetes(三) kube-controller-manager组件安装
Controller Manager简介 详细介绍请参考链接:Kubernetes组件之kube-controller-manager Controller Manager作为集群内部的管理控制中心, ...
- KafkaConsumer 简析
使用方式 创建一个 KafkaConsumer 对象订阅主题并开始接收消息: Properties properties = new Properties(); properties.setPrope ...
- scu-4440 rectangle (非原创)
Rectangle frog has a piece of paper divided into nn rows and mm columns. Today, she would like to dr ...
- Leetcode(32)-最长有效括号
给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度. 示例 1: 输入: "(()" 输出: 2 解释: 最长有效括号子串为 "()&quo ...