框架内的服务模型(ServiceModel)用于处理各类业务逻辑(如最简单的CRUD操作),在设计时以类似于伪代码的形式存在,发布时后端会通过Roslyn转换并编译为运行时代码。为了方便开发者作者初步实现了在线调试服务与监测服务调用性能的功能,下面分别介绍。
原本想参照VSCode实现调试功能,但VSCode使用的vsdbg调试器有许可限制,无法用于第三方IDE,好在GitHub上的netcoredbg项目使用MIT许可且支持VSCode的调试协议。作者画了个流程图简要说明一下调试流程:
VSCode调试协议参考:
作为一名程序员,系统性能优化是一场持久战,目标是追求用更少的资源来满足系统的运行要求。作者在设计之初就定下了整个架构必须包含完整的系统监控功能,以方便快速定位系统瓶颈。因此作者在服务端的服务实例容器内埋了监测点(Pormetheus的Histogram指标类型),用以监测服务实例的调用次数与响应时间。集群内的Prometheus节点定期采集与存储监测指标,通过运维管理系统的“服务监控”面板(如下图所示)可以查看某一时间范围内服务调用次数与耗时的排名,这样程序员就可以重点分析与优化这些服务模型的代码。
运维管理系统由框架本身实现,入口为http://地址:5000/ops
本篇介绍了如何实现IDE的服务模型调试与性能监测功能,GitHub上的运行时已更新可供测试。一边码代码一边码文实属不易,作者需要您的支持请您多多点赞推荐!
手机扫一扫
移动阅读更方便
你可能感兴趣的文章