多点生活的分布式服务框架DSF(下)

简介: 多点生活的分布式服务框架DSF(下)

3、监控与报警 [新增]

监控对于一个系统来说是就像人的耳目,不可或缺。我们就在框架层无侵入的采集服务调用的关键指标:调用次数、响应时间、错误率等,然后基于开源的监控系统open-falcon来存储监控数据,通过内部的DMC报警平台通知应用负责人。对于监控数据,我们还从两个维度去监控数据:服务提供方维度,服务使用方维度。这样我们就可以在监控数据报警时,发现是哪一方出现问题了。比如,调用方发现响应时间很高,但是服务提供方的响应时间很低,那么问题就出在服务调用方或提供方到调用方的网络有问题。


微信图片_20220121145327.jpg


6、基于Open-falcon的服务调用监控

 

4、服务依赖管理 [新增]

作为分布式服务平台,我们迫切需要知道服务的部署情况,服务的依赖情况,需要很直观的查看和搜索。这样就能清楚明白服务的调用关系,在升级服务之前可以一键邮件通知依赖方。同时还可以通过不同维度查看服务依赖:服务提供方视角、服务使用方视角、应用视角、服务视角、机器视角,以满足不同场景的需求。




微信图片_20220121145341.jpg


7、可视化的服务依赖关系

 


微信图片_20220121145354.jpg


8、服务依赖的明细

 

5、鉴权控制 [新增]

很多时候有些服务是不希望别人随意调用的,就需要增加鉴权管理。dubbo本身只提供服务注册层面的管理,没有提供服务级别的健全管理。我们就在框架层统一增加了鉴权token支持,通过简单的xml配置,只有提供了鉴权token key的调用方才能正常调用,否则会被拒绝。

 

6、动态配置 [改进]

有时候业务需要在不重启服务的情况下动态调整参数,比如:权重、超时时间等。dubbo原生的动态配置很简陋,几乎不太可能直接拿到生产环境使用。于是我们做了不少改进,在web页面上可视化动态调整参数,还可以指定参数生效的scope:服务提供方,服务调用方,全局配置,单一实例配置,应用级别,服务级别等,极大方便了线上发布调整。


微信图片_20220121145413.jpg


9、在线动态参数调整

 

7、在线验证 [新增]

因为我们用的是基于二进制协议的RPC调用,要想像rest api一样用postman之类的工具简单方便地无client调用验证服务API,其实是很麻烦的。为了解决有些纯后台的服务发布上线验证,我们就增加了在线验证功能,通过泛化调用,无需写调用方代码,直接在线可视化调用服务进行验证,极大地方便了研发测试验证。


image.png


10、在线服务验证

 

8、调用链跟踪 [待实现]

作为分布式系统,服务的调用链跟踪对于问题的排查是非常有帮助的,鉴于开发人手不足,我们暂时没有提供这个功能,后续计划整合pinpoint,提供完善的调用链跟踪。

 

总结

通过这一系列的减法和加法,很快就打造出了多点生活自己的分布式服务化平台,其实市面上很多的服务化框架只提供了基本的RPC调用和服务注册,对于服务治理和监控,以及动态管理和鉴权控制几乎很少有开源的。在大家选择开源产品的时候,需要根据自己的实际情况,做必要的改造才能打造出真正适合自己的产品。

相关文章
|
9月前
|
数据采集 存储 数据可视化
分布式爬虫框架Scrapy-Redis实战指南
本文介绍如何使用Scrapy-Redis构建分布式爬虫系统,采集携程平台上热门城市的酒店价格与评价信息。通过代理IP、Cookie和User-Agent设置规避反爬策略,实现高效数据抓取。结合价格动态趋势分析,助力酒店业优化市场策略、提升服务质量。技术架构涵盖Scrapy-Redis核心调度、代理中间件及数据解析存储,提供完整的技术路线图与代码示例。
951 0
分布式爬虫框架Scrapy-Redis实战指南
|
7月前
|
监控 Java 调度
SpringBoot中@Scheduled和Quartz的区别是什么?分布式定时任务框架选型实战
本文对比分析了SpringBoot中的`@Scheduled`与Quartz定时任务框架。`@Scheduled`轻量易用,适合单机简单场景,但存在多实例重复执行、无持久化等缺陷;Quartz功能强大,支持分布式调度、任务持久化、动态调整和失败重试,适用于复杂企业级需求。文章通过特性对比、代码示例及常见问题解答,帮助开发者理解两者差异,合理选择方案。记住口诀:单机简单用注解,多节点上Quartz;若是任务要可靠,持久化配置不能少。
701 4
|
9月前
|
消息中间件 人工智能 监控
文生图架构设计原来如此简单之分布式服务
想象一下,当成千上万的用户同时要求AI画图,如何公平高效地处理这些请求?文生图/图生图大模型的架构设计看似复杂,实则遵循简单而有效的原则:合理排队、分工明确、防患未然。
355 14
文生图架构设计原来如此简单之分布式服务
|
12月前
|
存储 监控 数据可视化
常见的分布式定时任务调度框架
分布式定时任务调度框架用于在分布式系统中管理和调度定时任务,确保任务按预定时间和频率执行。其核心概念包括Job(任务)、Trigger(触发器)、Executor(执行器)和Scheduler(调度器)。这类框架应具备任务管理、任务监控、良好的可扩展性和高可用性等功能。常用的Java生态中的分布式任务调度框架有Quartz Scheduler、ElasticJob和XXL-JOB。
4422 66
|
11月前
|
数据采集 人工智能 分布式计算
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
阿里云推出的MaxFrame是链接大数据与AI的分布式Python计算框架,提供类似Pandas的操作接口和分布式处理能力。本文从部署、功能验证到实际场景全面评测MaxFrame,涵盖分布式Pandas操作、大语言模型数据预处理及企业级应用。结果显示,MaxFrame在处理大规模数据时性能显著提升,代码兼容性强,适合从数据清洗到训练数据生成的全链路场景...
589 5
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
|
11月前
|
人工智能 分布式计算 大数据
MaxFrame 产品评测:大数据与AI融合的Python分布式计算框架
MaxFrame是阿里云MaxCompute推出的自研Python分布式计算框架,支持大规模数据处理与AI应用。它提供类似Pandas的API,简化开发流程,并兼容多种机器学习库,加速模型训练前的数据准备。MaxFrame融合大数据和AI,提升效率、促进协作、增强创新能力。尽管初次配置稍显复杂,但其强大的功能集、性能优化及开放性使其成为现代企业与研究机构的理想选择。未来有望进一步简化使用门槛并加强社区建设。
515 8
|
11月前
|
SQL 分布式计算 DataWorks
MaxCompute MaxFrame评测 | 分布式Python计算服务MaxFrame(完整操作版)
在当今数字化迅猛发展的时代,数据信息的保存与分析对企业决策至关重要。MaxCompute MaxFrame是阿里云自研的分布式计算框架,支持Python编程接口、兼容Pandas接口并自动进行分布式计算。通过MaxCompute的海量计算资源,企业可以进行大规模数据处理、可视化数据分析及科学计算等任务。本文将详细介绍如何开通MaxCompute和DataWorks服务,并使用MaxFrame进行数据操作。包括创建项目、绑定数据源、编写PyODPS 3节点代码以及执行SQL查询等内容。最后,针对使用过程中遇到的问题提出反馈建议,帮助用户更好地理解和使用MaxFrame。
|
11月前
|
SQL 分布式计算 数据处理
云产品评测|分布式Python计算服务MaxFrame | 在本地环境中使用MaxFrame + 基于MaxFrame实现大语言模型数据处理
本文基于官方文档,介绍了由浅入深的两个部分实操测试,包括在本地环境中使用MaxFrame & 基于MaxFrame实现大语言模型数据处理,对步骤有详细说明。体验下来对MaxCompute的感受是很不错的,值得尝试并使用!
283 1
|
11月前
|
分布式计算 数据处理 MaxCompute
云产品评测|分布式Python计算服务MaxFrame
云产品评测|分布式Python计算服务MaxFrame
226 2
|
11月前
|
人工智能 分布式计算 数据处理
有奖评测,基于分布式 Python 计算服务 MaxFrame 进行数据处理
阿里云MaxCompute MaxFrame推出分布式Python计算服务MaxFrame评测活动,助力开发者高效完成大规模数据处理、可视化探索及ML/AI开发。活动时间为2024年12月17日至2025年1月31日,参与者需体验MaxFrame并发布评测文章,有机会赢取精美礼品。