公共基础服务
Nebula提供以下公共基础服务
- Nebula.Moon:配置服务
- Nebula.AdminUI:管理员配置界面
- Nebula.Neptune:数据查询服务
- Nebula.Mercury:实时指标统计服务
- Nebula.Venus:监控&日志展示站点
- Nebula.Ceres:WebHook服务
- Nebula.Juno:日志数据清理服务
- Nebula.Log2DB:日志同步工具
- Nebula.Metis:通知服务
Nebula.Moon
配置服务,主要提供以下配置管理能力:
- 数据库连接,例如:
- SQLSERVER
- MySQL
- PostgreSQL
- MongoDB
- InfluxDB
- VictoriaMetrics
- Elasticsearch
- 全局配置参数
- 普通的配置参数,即name=value
- 各种连接参数,例如:RabbitMQ, Redis, OSS
- 密码及敏感文本
- 各种服务地址/URL参数
- 独立配置文件
- xml
- json
- yam
- text
Nebula.AdminUI
后台配置界面,提供一种友好的方式维护一些后台配置参数。
Nebula.Neptune
一个通用的 数据查询服务,服务接口可以在Nebula.AdminUI中配置,
Nebula.Mercury
一个后台服务(没有界面),用于实时统计各个应用的各个节点的调用次数及性能/异常状况。
这个数据最后给Venus展示。
Nebula.Venus
监控展示站点,主要有以下功能:
- 实时汇总并展示 各个应用的整体运行状态
- 实时汇总并展示 各个应用的业务数据指标
- 实时展示 各个应用节点的技术指标
- 可用性监控 根据配置服务所管理中参数中自动发现
- 基于配置文件的 指标监控告警
主界面如下图:
Nebula.Cers
WebHook服务,主要有以下特性:
- 解耦合:应用程序(发布者)不需要与事件的订阅者交互,甚至可以不用知道事件的订阅者是否存在
- 易用性:应用程序(发布者)只负责发布事件,所有 注册/订阅/推送 过程全都不需要关注
- 通用性:Ceres接受多个应用程序的事件,并将事件发送到匹配的第三方程序订阅者
- 可靠性:内置复杂且可靠的重试机制,尽量保证事件能成功发送给第三方
Nebula.Juno
日志数据清理服务 是一个通用的数据表清理服务,它主要解决了以下问题:
- 日志表越来越大,需要清理【较老】的数据。
- 有可能一天就产生大量数据,所以需要及时清理。
- 避免人工执行大量DELETE语句产生大量数据库锁,影响业务系统稳定运行,甚至拖死数据库。
- 支持SaaS的多租户模式
Nebula.Log2DB
日志同步服务 用于将操作日志从ES中同步到RMDB。
按照默认的设置,程序产生的各种日志都会写入Elasticsearch,此时对于运营分析人员就不友好了,
他她们更愿意使用SQL查询来分析数据,因此Log2DB就是为这种需求而设计的。
Log2DB重点包含以下技术特性:
- 允许配置筛选日志范围
- 允许配置将日志同步到各种RMDB
- 后台持续/实时同步
Nebula.Metis
通知服务 主要解决以下问题:
- 应用程序与消息发送过程解耦:程序不需要关注消息发给谁,以及用什么方式发送
- 应用程序与消息内容编排解耦:程序只管提交消息数据,最终发出的消息格式由模板决定
- 消息的发送方式灵活可配置:消息可以用短信发出,或者邮件,或者聊天工具发出
- 发送方式多样性支持:目前已支持 12 种通知方式,4类消息格式