ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

滴滴六大最受欢迎的开源项目!

2022-10-01 21:00:13  阅读:42  来源: 互联网

标签:


Nightingale - 企业级监控解决方案

夜莺(Nightingale)是一个企业级监控解决方案。旨在满足云原生时代企业级的监控需求。Nightingale 在产品完成度、系统高可用、以及用户体验方面,达到了企业级的要求,可满足不同规模用户的场景,小到几台服务,大到数十万都可以完美支撑。兼顾云原生和裸金属,支持应用监控和系统监控,插件机制灵活,插件丰富完善,具有高度的灵活性和可扩展性。

Nightingale 在 Open-Falcon 的基础上,结合滴滴内部的最佳实践,在性能、可维护性、易用性方面做了大量的改进,作为集团统一的监控解决方案,支撑了滴滴内部数十亿监控指标,覆盖了从系统、容器、到应用等各层面的监控需求,周活跃用户数千。

开源地址:https://n9e.didiyun.com/

tinyid - 分布式id生成系统

tinyid 是滴滴开发的 id 生成器 分布式id生成系统,简单易用、高性能、高可用的id生成系统。

提供的 REST API:

nextId:
curl http://localhost:9999/tinyid/id/nextId?bizType=test&token=0f673adf80504e2eaa552f5d791b644cresponse:{"data":[2],"code":200,"message":""}

nextId Simple:
curl http://localhost:9999/tinyid/id/nextIdSimple?bizType=test&token=0f673adf80504e2eaa552f5d791b644cresponse: 3

with batchSize:
curl http://localhost:9999/tinyid/id/nextIdSimple?bizType=test&token=0f673adf80504e2eaa552f5d791b644c&batchSize=10response: 4,5,6,7,8,9,10,11,12,13

Get nextId like 1,3,5,7,9...bizType=test_odd : delta is 2 and remainder is 1
curl http://localhost:9999/tinyid/id/nextIdSimple?bizType=test_odd&batchSize=10&token=0f673adf80504e2eaa552f5d791b644cresponse: 3,5,7,9,11,13,15,17,19,21

开源地址:https://gitee.com/didiopensource/tinyid

Chameleon - 滴滴跨端解决方案

软件架构设计里面最基础的概念“拆分”和“合并”,拆分的意义是“分而治之”,将复杂问题拆分成单一问题解决,比如后端业务系统的”微服务化“设计;“合并”的意义是将同样的业务需求抽象收敛到一块,达成高效率高质量的目的,例如后端业务系统中的“中台服务”设计。

而 Chameleon 属于后者,通过定义统一的语言框架统一多态协议,从多端(对应多个独立服务)业务中抽离出自成体系、连续性强、可维护强的“前端中台服务”。

开源地址:https://gitee.com/didiopensource/chameleon

Mpx - 小程序开发框架

Mpx 是滴滴开源的一款致力于提高小程序开发体验的增强型小程序框架,通过 Mpx ,我们能够最先进的 web 开发体验 (Vue + Webpack) 来开发生产性能深度优化的小程序,Mpx 具有以下一些优秀特性:

数据响应特性 (watch/computed)

增强的模板语法(动态组件/样式绑定/类名绑定/内联事件函数/双向绑定等)

深度性能优化(原生自定义组件/基于依赖收集和数据变化的 setData)

Webpack 编译 ( npm/循环依赖/Babel/ESLint/css 预编译/代码优化等)

单文件组件开发

状态管理 (Vuex 规范/多实例/可合并)

跨团队合作 (packages)

逻辑复用能力 (mixins)

脚手架支持

小程序自身规范的完全支持

支付宝小程序的支持

开源地址:https://gitee.com/didiopensource/mpx

RDebug - 基于真实流量的研发调试利器

RDebug 是滴滴开源的一款用于 RD 研发、自测、调试的实用工具,可以被用来提升 RD 研发效率、保障代码质量进而减少线上事故。

适用场景

适用于对已有接口进行代码重构、功能升级,且该接口已经有录制的流量。

不适合新开发的接口 或 未进行流量录制的接口。

支持新接口的方案在调研中。

技术方案

因为我们需要使用线上的真实流量来进行线下的回放测试,所以我们需要将线上的真实流量保存下来,然后将保存的真实流量在线下环境进行回放一遍。故 Rdebug 的核心技术方案就是 流量录制和流量回放。

流量录制: 即录制线上服务的真实请求,包括调用下游服务的 RPC 请求。流量录制的难点在于如何将上下游请求以及每次 RPC 的请求/响应一一对应。

流量回放: 即用线上录制的流量,对线下测试代码进行回放,通过流量匹配 mock 掉下游 RPC 请求。因此,流量回放的难点在于请求的拦截和匹配。

整体架构图:

开源地址:https://github.com/didi/rdebug

DDMQ - 基于 RocketMQ 的分布式消息队列

DDMQ 是滴滴出行架构部基于 Apache RocketMQ 构建的消息队列产品。作为分布式消息中间件,DDMQ 为滴滴出行各个业务线提供了低延迟、高并发、高可用、高可靠的消息服务。DDMQ 提供了包括实时消息、延迟消息和事务消息在内的多种消息类型以满足不同的业务需求。用户通过统一的 Web 控制台和傻瓜式的 SDK 即可轻松接入 DDMQ 生产和消费消息,体验功能丰富、稳定的消息服务。

开源地址:https://gitee.com/didiopensource/DDMQ


每个架构师都有个算法打怪之旅,飞哥给大家推荐一个算法中文小册,基本覆盖了所有算法核心及产能,包括:数据结构系列,算法必读系列,动态规划系列,算法思维系列,高频面试系列等等......

点击下方 小卡片 回复 算法 即可获取

Nightingale - 企业级监控解决方案 夜莺(Nightingale)是一个企业级监控解决方案。旨在满足云原生时代企业级的监控需求。Nightingale 在产品完成度、系统高可用、以及用户体验方面,达到了企业级的要求,可满足不同规模用户的场景,小到几台服务,大到数十万都可以完美支撑。兼顾云原生和裸金属,支持应用监控和系统监控,插件机制灵活,插件丰富完善,具有高度的灵活性和可扩展性。 Nightingale 在 Open-Falcon 的基础上,结合滴滴内部的最佳实践,在性能、可维护性、易用性方面做了大量的改进,作为集团统一的监控解决方案,支撑了滴滴内部数十亿监控指标,覆盖了从系统、容器、到应用等各层面的监控需求,周活跃用户数千。 开源地址:https://n9e.didiyun.com/ tinyid - 分布式id生成系统 tinyid 是滴滴开发的 id 生成器 分布式id生成系统,简单易用、高性能、高可用的id生成系统。 提供的 REST API: nextId: curl http://localhost:9999/tinyid/id/nextId?bizType=test&token=0f673adf80504e2eaa552f5d791b644cresponse:{"data":[2],"code":200,"message":""} nextId Simple: curl http://localhost:9999/tinyid/id/nextIdSimple?bizType=test&token=0f673adf80504e2eaa552f5d791b644cresponse: 3 with batchSize: curl http://localhost:9999/tinyid/id/nextIdSimple?bizType=test&token=0f673adf80504e2eaa552f5d791b644c&batchSize=10response: 4,5,6,7,8,9,10,11,12,13 Get nextId like 1,3,5,7,9...bizType=test_odd : delta is 2 and remainder is 1 curl http://localhost:9999/tinyid/id/nextIdSimple?bizType=test_odd&batchSize=10&token=0f673adf80504e2eaa552f5d791b644cresponse: 3,5,7,9,11,13,15,17,19,21 开源地址:https://gitee.com/didiopensource/tinyid Chameleon - 滴滴跨端解决方案 软件架构设计里面最基础的概念“拆分”和“合并”,拆分的意义是“分而治之”,将复杂问题拆分成单一问题解决,比如后端业务系统的”微服务化“设计;“合并”的意义是将同样的业务需求抽象收敛到一块,达成高效率高质量的目的,例如后端业务系统中的“中台服务”设计。 而 Chameleon 属于后者,通过定义统一的语言框架统一多态协议,从多端(对应多个独立服务)业务中抽离出自成体系、连续性强、可维护强的“前端中台服务”。 开源地址:https://gitee.com/didiopensource/chameleon Mpx - 小程序开发框架 Mpx 是滴滴开源的一款致力于提高小程序开发体验的增强型小程序框架,通过 Mpx ,我们能够最先进的 web 开发体验 (Vue + Webpack) 来开发生产性能深度优化的小程序,Mpx 具有以下一些优秀特性: 数据响应特性 (watch/computed) 增强的模板语法(动态组件/样式绑定/类名绑定/内联事件函数/双向绑定等) 深度性能优化(原生自定义组件/基于依赖收集和数据变化的 setData) Webpack 编译 ( npm/循环依赖/Babel/ESLint/css 预编译/代码优化等) 单文件组件开发 状态管理 (Vuex 规范/多实例/可合并) 跨团队合作 (packages) 逻辑复用能力 (mixins) 脚手架支持 小程序自身规范的完全支持 支付宝小程序的支持 开源地址:https://gitee.com/didiopensource/mpx RDebug - 基于真实流量的研发调试利器 RDebug 是滴滴开源的一款用于 RD 研发、自测、调试的实用工具,可以被用来提升 RD 研发效率、保障代码质量进而减少线上事故。 适用场景 适用于对已有接口进行代码重构、功能升级,且该接口已经有录制的流量。 不适合新开发的接口 或 未进行流量录制的接口。 支持新接口的方案在调研中。 技术方案 因为我们需要使用线上的真实流量来进行线下的回放测试,所以我们需要将线上的真实流量保存下来,然后将保存的真实流量在线下环境进行回放一遍。故 Rdebug 的核心技术方案就是 流量录制和流量回放。 流量录制: 即录制线上服务的真实请求,包括调用下游服务的 RPC 请求。流量录制的难点在于如何将上下游请求以及每次 RPC 的请求/响应一一对应。 流量回放: 即用线上录制的流量,对线下测试代码进行回放,通过流量匹配 mock 掉下游 RPC 请求。因此,流量回放的难点在于请求的拦截和匹配。 整体架构图: 开源地址:https://github.com/didi/rdebug DDMQ - 基于 RocketMQ 的分布式消息队列 DDMQ 是滴滴出行架构部基于 Apache RocketMQ 构建的消息队列产品。作为分布式消息中间件,DDMQ 为滴滴出行各个业务线提供了低延迟、高并发、高可用、高可靠的消息服务。DDMQ 提供了包括实时消息、延迟消息和事务消息在内的多种消息类型以满足不同的业务需求。用户通过统一的 Web 控制台和傻瓜式的 SDK 即可轻松接入 DDMQ 生产和消费消息,体验功能丰富、稳定的消息服务。 开源地址:https://gitee.com/didiopensource/DDMQ 每个架构师都有个算法打怪之旅,飞哥给大家推荐一个算法中文小册,基本覆盖了所有算法核心及产能,包括:数据结构系列,算法必读系列,动态规划系列,算法思维系列,高频面试系列等等...... 点击下方 小卡片 回复 算法 即可获取

标签:
来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有