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=0f673adf80504e2eaa552f5d791b644c'response:{"data":[2],"code":200,"message":""}
nextId Simple:
curl 'http://localhost:9999/tinyid/id/nextIdSimple?bizType=test&token=0f673adf80504e2eaa552f5d791b644c'response: 3
with batchSize:
curl 'http://localhost:9999/tinyid/id/nextIdSimple?bizType=test&token=0f673adf80504e2eaa552f5d791b644c&batchSize=10'response: 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=0f673adf80504e2eaa552f5d791b644c'response: 3,5,7,9,11,13,15,17,19,21
开源地址:https://gitee.com/didiopensource/tinyid
Chameleon - 滴滴跨端解决方案
研发同学在端内既追求 H5 的灵活性,也要追求性能趋近于原生。面对入口扩张,主端、独立端、微信小程序、支付宝小程序、百度小程序、安卓厂商联盟快应用,单一功能在各平台都要重复实现,开发和维护成本成倍增加。迫切需要维护一套代码可以构建多入口的解决方案,历经近 20 个月打磨,滴滴跨端解决方案 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://i-blog.csdnimg.cn/blog_migrate/0efb640d58f86ebd7ee0d834b614d9c2.png)
开源地址:https://github.com/didi/rdebug
DDMQ - 基于 RocketMQ 的分布式消息队列
DDMQ 是滴滴出行架构部基于 Apache RocketMQ 构建的消息队列产品。作为分布式消息中间件,DDMQ 为滴滴出行各个业务线提供了低延迟、高并发、高可用、高可靠的消息服务。DDMQ 提供了包括实时消息、延迟消息和事务消息在内的多种消息类型以满足不同的业务需求。用户通过统一的 Web 控制台和傻瓜式的 SDK 即可轻松接入 DDMQ 生产和消费消息,体验功能丰富、稳定的消息服务。
![](https://i-blog.csdnimg.cn/blog_migrate/7da18f612f3dc05b673fb60fe15ae173.png)
开源地址:https://gitee.com/didiopensource/DDMQ
每个架构师都有个算法打怪之旅,飞哥给大家推荐一个算法中文小册,基本覆盖了所有算法核心及产能,包括:数据结构系列,算法必读系列,动态规划系列,算法思维系列,高频面试系列等等......
点击下方 小卡片 回复 算法 即可获取