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 让复杂的事简单点- 日志、链路追踪一目了然 (上)的更多相关文章

  1. 【开源】.net微服务开发引擎Anno开源啦

    1.Anno是什么? Anno是一个微服务框架引擎.入门简单.安全.稳定.高可用.全平台可监控.依赖第三方框架少.底层通讯RPC(Remote Procedure Call)采用稳定可靠经过无数成功项 ...

  2. .netcore 微服务快速开发框架 Anno&Viper -分布式锁是个什么鬼

    1.什么是锁 锁是为了解决多线程或者多进程资源竞争的问题. 同一进程的多个线程资源竞争可以用lock解决. lock 关键字可确保当一个线程位于代码的临界区时,另一个线程不会进入该临界区. 如果其他线 ...

  3. 黑少微服务商店之Iron Cloud微服务开发云

    近日,由黑少微服务研发团队推出的Iron Cloud微服务开发云已经正式对外提供服务,这是国内第一家基于云端操作的微服务专业开发工具. Iron Cloud 微服务开发云(www.ironz.com) ...

  4. mPass多租户系统微服务开发平台

    目录 项目总体架构图 基于SpringBoot2.x.SpringCloud并采用前后端分离的企业级微服务,多租户系统架构微服务开发平台 mPaaS(Microservice PaaS)为租户业务开发 ...

  5. python 微服务开发书中几个方便的python框架

    python 微服务开发是一本讲python 如果进行微服务开发的实战类书籍,里面包含了几个很不错的python 模块,记录下,方便后期回顾学习 处理并发的模块 greenlet && ...

  6. 【新书推荐】《ASP.NET Core微服务实战:在云环境中开发、测试和部署跨平台服务》 带你走近微服务开发

    <ASP.NET Core 微服务实战>译者序:https://blog.jijiechen.com/post/aspnetcore-microservices-preface-by-tr ...

  7. 基于 abp vNext 微服务开发的敏捷应用构建平台 - 项目介绍

    缘起 目前使用ABP框架已经将近3年了,大大小小的项目也陆陆续续做了很多.由于现有信息系统的架构模式是在底层的技术平台上直接构建信息系统并采用技术主导,使用业务无关的编程工具来开发信息系统的缺陷使得系 ...

  8. 微服务开发的最大痛点-分布式事务SEATA入门简介

    前言 在微服务开发中,存在诸多的开发痛点,例如分布式事务.全链路跟踪.限流降级和服务平滑上下线等.而在这其中,分布式事务是最让开发者头痛的.那分布式事务是什么呢? 分布式事务就是指事务的参与者.支持事 ...

  9. .netcore 微服务快速开发框架 Anno&Viper 注册中心 (服务上线下线预警通知)

    1.微服务时代,服务上线先预警通知 在微服务大行其道的今天,相信很多人都用上了微服务或者是微服务的概念也已经有了一个深刻的了解.今天我们不在这里展开阐述,今天我们要说的是微服务伴侣预警通知. 2.注册 ...

随机推荐

  1. vue后台管理系统遇到的注意事项以及总结

    地址栏加#号问题:Vue-router 中有hash模式和history模式,vue的路由默认是hash模式,一般开发的单页应用的URL都会带有#号的hash模式第一步在router/index.js ...

  2. 【poj 1182】食物链(图论--带权并查集)

    题意:有3种动物A.B.C,形成一个"A吃B, B吃C,C吃A "的食物链.有一个人对N只这3类的动物有M种说法:第一种说法是"1 X Y",表示X和Y是同类. ...

  3. Educational Codeforces Round 96 (Rated for Div. 2) D. String Deletion (思维)

    题意:有一个\(01\)串,每次操作要先删除一个位置上的元素,然后删除相同前缀和,直到字符串被删完,问最多能操作多少次. 题解: 对于一个长度大于\(1\)的相同前缀,我们最多只能对它操作一次,然后就 ...

  4. 2017, X Samara Regional Intercollegiate Programming Contest E. Bonuses and Teleports (思维,模拟)

    题意:在\(x\)轴上有很多传送点和钻石,当位于传送点上时,可以传送到其他任意传送点(不记操作数),位于钻石上时可以吃掉它,每次可以移动一个单位,问最少多少次可以吃掉所有的钻石. 题解:对于某个位置上 ...

  5. 4.PowerShell DSC核心概念之配置

    什么是配置 DSC 配置是定义某一特殊类型函数的 PowerShell 脚本. 配置的语法 Configuration MyDscConfiguration { #配置块 Import-DscReso ...

  6. 使用 Typecho 搭建博客

    nginx 配置文件 [root@dbtest ~]# cat /etc/nginx/conf.d/www.typecho.com.conf server { listen 80; server_na ...

  7. 鸟哥的linux私房菜——第五章学习(Linux的文件权限与目录配置)

    ******************第五章学习****************** 1.[重要的三个概念] 1).文件拥有者(使用者):User,该文件/文件夹只能我来读写: 2).群组:Group, ...

  8. javascript和XML

    一,浏览器对XML DOM的支持1,DOM2级核心 var xmldom = document.implementation.createDocument("","roo ...

  9. 记一次FreeRTOS错误配置导致无法进入临界区

    最近项目用到FreeRTOS,在实际调试中发现我自己的一段代码本来好用的(在无RTOS的情况下),但是当我在带RTOS的情况下把代码放到一个单独的任务中运行时我发现本来好用的代码莫名其妙的出现问题,有 ...

  10. git push bug

    git push bug fast-forwards $ git push $ git push --help # git pull $ gp To http://git.xgqfrms.xyz:88 ...