proginn08383927762022年10月08日
338阅读

作品详情

项目描述:该项目主要实现在线视频会议功能,包括门户网站、会议中心、微信小程序、公众号,用
户可以通过软终端或者硬终端入会,实现多画面、会场静音、会议录制、屏幕共享,小程序扫码会控
等会控操作。项目上线之后会议数量月均 4 万+,参会人数月均 42 万,会议时长月均 19 万小时,对
接第三方厂家 39 家。
云视讯 3.0 架构升级之后采用 Spring Cloud Alibaba 架构代替 Spring Cloud 架构。
工作亮点:改造流控组件 Sentinel 源码实现规则持久化,Sentinel 是面向分布式服务架构的高可用流
量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个
维度来帮助开发者保障微服务的稳定性。但是 Sentinel 规则不能持久化,一旦服务重启,之前配置的
规则都将消失,需要重新配置,基于这个问题改造 Sentinel 源码,基于 Push 模式,即 Sentinel-Dashboard
统一管理配置,将规则统一推送到 Nacos 并将 Sentinel 规则持久化到 Nacos 生成配置文件,生成 Rule
实现持久化。最后客户端监听 Nacos,当规则发生变动时拉去最新规则配置,在持久化 Sentinel 规则
基础上,配合微服务架构改造实现 Sentinel 集群化,将 Sentinel 内置到各个微服务模块中,动态设置
集群的服务端和客户端,在此之外又为 Sentinel 添加了流控预警功能,在流量达到一定值时,发送预
警短信或者邮件。
自研动态定时任务组件,之前项目中使用的定时任务组件为 Quartz,当会议数量并发值很大时会
偶现修改定时任务失败情况,基于这个问题通过 Redis 同步锁、Redis 广播机制、Mysql、Spring boot
ScheduledFuture 实现了集群化的动态定时任务。
在微服务中通过 SpringAop 和 Mybatis 拦截器 Interceptor 将一条请求的完整日志和对应的服务之
间互相调用结果以及数据库 SQL 语句及响应结果关联起来,做到根据唯一的请求标识分析出该条请求
所有涉及到的操作,增加了问题排查效率,方便了线上运维和故障处理。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论