【开源】.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 #627 (Div. 3) A - Yet Another Tetris Problem(逻辑)
题意 : 有n个高度,可以使任一高度加二任意次,问最终n个高度可否相同. 思路: 因为添加的2x1的方块不可旋转,只需考虑所有高度是否为同一奇偶性即可. #include <bits/stdc+ ...
- Codeforces Round #647 (Div. 2) A. Johnny and Ancient Computer
题目链接:https://codeforces.com/contest/1362/problem/A 题意 有一个正整数 $a$,可选择的操作如下: $a \times 2$ $a \times 4$ ...
- Codeforces Testing Round #16 C.Skier
题意: 一个人在雪地上滑雪,每次可以向上下左右四个方向移动一个单位,如果这条路径没有被访问过,则需要5秒的时间,如果被访问过,则需要1秒(注意:判断的是两点之间的距离,不是单纯的点).给你他的行动轨迹 ...
- JavaScript_继承
- Linux系统编程【2】——编写who命令
学到的知识点 通过实现who命令,学到了: 1.使用man命令寻找相关信息 2.基于文件编程 3.体会到c库函数与系统调用的不同 4.加深对缓冲技术的理解 who命令的作用 who命令的使用 在控制终 ...
- 使用 Nginx 在 Linux 上托管 ASP.NET Core
server { listen 80; server_name example.com *.example.com; location / { proxy_pass http://localhost: ...
- GDKOI2021 爆炸记
@ 目录 GDKOI2021 爆炸记 前言 普及(Day 1~3) Day one 比赛 赛后聊天 下午讲题 下午讲课 晚上 Day two 比赛 赛后聊天 下午讲题 下午讲课 晚上 Day thre ...
- 对模拟器虚假设备识别能力提升15%!每日清理大师App集成系统完整性检测
前言 每日清理大师是一款智能便捷的手机清理软件,可快速清理无用缓存.垃圾文件和应用残留,还可深度清理如社交软件中的无用缓存等,有效解决手机卡顿.耗电快.内存不足等问题.每日清理大师App在结合了系统完 ...
- Zabbix 部署配置
监控基本概述 主要的监控工具 1.CACTI:网络监控,Cacti是一套基于PHP,MySQL,SNMP 及 RRDTool 开发的网络流量监测图形分析工具 2.NAGIOS:系统监控,很久之前使用的 ...
- 牛年 dotnet云原生技术趋势
首先祝大家:新年快乐,牛年大吉,牛年发发发! 2020年的春节,新冠疫情使得全球业务停滞不前,那时候,没有人知道会发生什么,因此会议被取消,合同被搁置,项目被推迟,一切似乎都停止了.但是我们却见证了I ...