微服务监控与安全保障
1. 微服务监控
在微服务架构中,监控服务的性能和状态至关重要。我们可以从代码层面和Web服务器层面进行监控,以下是具体介绍。
1.1 代码指标监控
对于某些微服务,获取代码内部的性能指标是很有用的。例如,New Relic可以通过包装Flask中的一些调用,来跟踪Jinja2和数据库调用的性能,从而测量生成模板或执行数据库调用所需的时间。
但在生产环境中添加代码级别的监控需要谨慎,因为很容易导致服务变慢。例如,Python内置的分析器会带来显著的开销,因此不适合在生产环境使用。
一个简单的模式是显式地测量某些函数的执行时间。以下是一个示例代码:
import functools
import logging
import graypy
import json
import time
import random
from collections import defaultdict, deque
from flask import Flask, jsonify, g
app = Flask(__name__)
class Encoder(json.JSONEncoder):
def default(self, obj):
base = super(Encoder, self).default
# specific encoder for the timed functions
if isinstance(obj, deque):
calls = lis
超级会员免费看
订阅专栏 解锁全文
1136

被折叠的 条评论
为什么被折叠?



