监控系统实战-05-分布式调度等如何实现 HA? 跨机房
背景
分布式调度,要如何保证多机房可用?
HA
高可用篇之异地多活异地双活入门介绍
拓展阅读
schedule-00-任务调度整体概览
分布式锁-02-SQL 数据库实现分布式锁
分布式锁-01-基于 Zookeeper 实现分布式锁
分布式锁-03-基于 mysql 实现分布式锁
项目
基于数据库最简单的分布式任务调度。(The simplest distributed...
2018-11-25 01:14:43 |
Devops
监控系统实战-05-任务的分布式调度
背景
在单机时代,我们如果想实现一个调度系统,那么并不难。
但是在分布式服务的今天,如何实现一个分布式调度的服务呢?
拓展阅读
schedule-00-任务调度整体概览
分布式锁-02-SQL 数据库实现分布式锁
分布式锁-01-基于 Zookeeper 实现分布式锁
分布式锁-03-基于 mysql 实现分布式锁
项目
基于数据库最简单的分布式任务调度。(The simp...
2018-11-25 01:14:43 |
Devops
监控系统实战-04-SQL 指标的数据源
背景
我们可以考虑设计一套 SQL 指标。
不过SQL指标个人感觉设计的比较好的就是类似于 grafana 这种,可以内置支持常见的数据源最好。
拓展阅读
grafana stack grafana-01-The open and composable observability and data visualization platform.
整体思路
核心能力
基础指标信息...
2018-11-25 01:14:43 |
Devops
监控系统实战-04-05-SQL 指标应该有哪些核心能力?
背景
我们如果想设计一个 SQL 指标/规则 系统,应该有哪些核心能力?
基础
用户+权限管理
系统设置
一些系统级别的常量+枚举
app 管理
相关应用管理
数据源管理
人工维护数据源
前期不失为一种过渡方案
告警模板
所有的模板支持自定义
日志记录
审计日志留痕
方便查问题+找出变更记录
进阶
报警+报表+直发
报警就是报警
报表,额外查询内容
直...
2018-11-25 01:14:43 |
Devops
监控系统实战-04-04-SQL 指标的数据源表的基本增删改查 v1.1.0
背景
上一节我们初步定义了相关的数据库表,这一节我们一起来看一下,如何实现对应的表信息管理。
基础管理
我们针对上述的 4 张表,实现最基础的增删改查功能。
调整一下 admin 的实现
todo…
测试验证功能
SQL 脚本还是使用以前的,将新增的部分拆分出来。
数据库备份
完整版本的
mysqldump -u root -p sql_execute > "D:\...
2018-11-25 01:14:43 |
Devops
监控系统实战-04-03-SQL 指标的数据源表设计 v1.1.0
背景
我们希望存储对应的数据源信息,这里我们设计一下对应的数据源表。
初期可以简单些,只管理基本的信息,不做应用间的引用关系限制。
建表语句
这里以 mysql 为例
数据源基本信息
清空
drop table if exists jdbc_datasource_info;
CREATE TABLE jdbc_datasource_info (
id bigint(20...
2018-11-25 01:14:43 |
Devops
监控系统实战-04-02-SQL 指标的数据源从哪里来?
背景
我们在配置数据源的时候,希望可以默认加载好一些内置的数据源。
一个是为了方便,一个是为了安全。
安全层面可以是避免密码的泄露,或者是用户手动连接一些业务主库之类的。
如果我们可以控制这些,那么就会方便很多。
v1-用户自己填写
流程
最简单的思路就是我们让用户可以提前配置一些数据源。
这个数据源隶属于某一个业务域之类的。这个限制信息可选。
如果想控制,可以在数据层加一...
2018-11-25 01:14:43 |
Devops
监控系统实战-03-实时链路配置加载与2层缓存
背景
我们一般的控台系统,实时查询接口/数据库,返回对应的配置信息等,一般时间上都是可以接受的。
但是如果是一个实时链路,那么就必须尽可能的降低这种耗时的远程访问。比如查询数据库
比较自然的思考方式就是引入 redis 之类的缓存。
不过真的只有这一种方式吗?redis 有什么缺点?
redis/memcache 远程缓存的缺点
网络耗时真的快吗?
redis 快,那也只是相对...
2018-11-25 01:14:43 |
Devops