Sentinel生产环境实践(一)

导读:本篇文章讲解 Sentinel生产环境实践(一),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

一.Sentinel是什么

按照官方文档所说,Sentinel是分布式流量防卫兵。随着微服务的流行,大型互联网系统一般会按功能划分成很多比较小,自治的微

服务,服务之间通过相互调用协同让整个系统运转起来,所以就要保证每个微服务的稳定性。Sentinel以流量为切入点,从流量控

制,熔断降级,系统负载保护等多维度保护服务的稳定性。

简而言之,Sentinel是一个从流量切入来保护分布式系统稳定的开源中间件。详细介绍

Sentinel主要特性:

Sentinel-features-overview

Sentinel生态系统:

Sentinel-opensource-eco

Sentinel的源代码是完全开源的,下方截图是Sentinel源码的模块结构,简单说下主要模块的功能

1.adapter模块主要是对一些主流的框架(dubbo,grpc,zuul等)做的适配封装,方便轻松接入使用

2.cluster模块是处理集群流控相关功能

3.core模块是Sentinel的核心模块,基本所有功能都在这里实现

4.dashboard是管理台模块,是个springboot项目,主要就是负责规则的配置以及监控指标的可视化查看等

5.extension是扩展模块,sentinel是一个提供很多扩展点的系统,我们可以按所需扩展自己的功能,如已提

供持久化规则的DataSource和ParameterFlow(热点参数流控)扩展

6.transport主要是用于dashboard和client通信的一个模块,有netty和http两种实现方式

Sentinel生产环境实践(一)

以下是Sentinel生态系统建设以及多语言版本支持

sentinel-group

sentinel-awesome

sentinel-golang

sentinel-cpp

sentinel-php-client

 

二.开源Dashboard存在的问题

开源的dashboard功能是很弱的,因为所有数据都是存在内存中的,客户端重启规则就丢失了,监控数据也是存近5分钟数据在

dashboard内存中,自己搭建玩玩是可以的,但是不能用于生产环境的,想要在生产环境大规模使用,需要对dashboard做定制化

改造,就我的改造过程来说,需要完成以下几点:

1.鉴权,可以接入公司内部sso系统

2.规则持久化 —> apollo,nacos,consul,zk,redis等

3.监控数据持久化 —-> influxdb

4.监控大屏  —-> 开发监控页面嵌入内部系统 or Grafana

5.报警  —-> 收集sentinel-block.log日志实现报警

当然了,如果你公司比较有钱,也可以直接用阿里云上Sentinel控制台,功能也是比较完备的,基本上能满足日常需求

Sentinel生产环境实践(一)

Sentinel生产环境实践(一)

Sentinel生产环境实践(一)

 

这篇文章主要介绍了Sentinel的主要功能以及Dashboard需改进的地方,下篇文章主要介绍如何实现规则持久化到Apollo。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/10250.html

(0)
小半的头像小半

相关推荐

半码博客——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!