开源社区必备:30 个优秀的蚂蚁源码推荐

开源社区必备:30 个优秀的蚂蚁源码推荐

蚂蚁金服是一家具有全球影响力的金融科技公司,其在国内外金融行业均占有重要地位。近年来,蚂蚁金服不断开源其技术,并且在 Github 上积极维护和分享自己的开源项目,为广大开发者提供了丰富的资源和灵感。本文将为大家推荐 30 个在蚂蚁金服 GitHub 上开源的优秀项目,涵盖了蚂蚁金服在网络安全,前端开发,Java 开发,云计算等各个领域的技术积累,有了这些源码,我们在相应的领域中无疑能事半功倍。

网络安全

1. Canaries:Canaries是蚂蚁金服开发的一款基于 LD_PRELOAD 技术的 Linux 软件,可在进程内部预留一定的缓冲区,当有缓冲区溢出行为发生时,Canaries 会触发运行时检测,发现攻击并终止程序。

2. Seata:Seata 是蚂蚁金服自主研发的一款开源的分布式事务解决方案,支持 Dubbo/RPC、Spring Cloud、HTTP、RestTemplate、Mybatis 等多种应用场景,并且支持多语言。该项目已经在多个蚂蚁金服的内部应用场景中取得了良好的效果。

3. Sentinel:Sentinel 是蚂蚁金服开源的一款高可用性和高扩展性的分布式实时流量控制框架。它可以帮助用户在面对高并发流量时,做到实时的流量控制并保证线程的高可用性。

前端开发

4. antd:Ant Design 是一个面向企业级开发的 UI 组件库,它是一套基于 React 技术栈的 UI 组件,提供诸如按钮、表格、对话框、表单等各种常用的组件,而且易于扩展和配置。

5. UmiJS:UmiJS 是一个可插拔的企业级前端应用框架,专注于解决路由、权限、数据流等复杂的应用场景。它是基于 React 技术栈构建的,并且提供了开箱即用的路由约定、插件机制、开发的约束规范等。

6. G2Plot:G2Plot 是基于 G2 的二次封装,提供了一套简单易用的图表组件库,可以快速搭建各种常见的图表场景。它不仅支持常规的柱状图、折线图、饼图等,更提供了更加新颖的图表类型。

Java 开发

7. spring-cloud-alibaba:Spring Cloud Alibaba 是 Alibaba 开源团队采用 Spring Cloud 体系打造的微服务产品套件,全面接入了 Alibaba 常用基础服务。它提供了微服务发现、配置管理、流量管理、服务容错等功能,并且对 Spring Cloud 生态无缝集成。

8. tddl:TDDL 是蚂蚁金服自主开发的关系型数据库分布式中间件,它能够实现数据在逻辑上的分片,并对数据读写进行路由。它支持多种数据库,包括 MySQL、Oracle、SQLServer 等。

9. SofaRPC:SofaRPC 是蚂蚁金服推出的一款高性能 Java RPC 框架,它的核心特点是高性能、低延迟、易扩展。它支持多种协议,包括 Dubbo 协议、HTTP/REST 协议等。

云计算

10. Arthas:Arthas 是一款基于 Java 诊断系统的命令行工具,可用于在生产环境中定位和诊断 Java 应用程序的故障。它提供了 jvm、线程、类、实例、日志等一系列的诊断命令,功能十分强大。

11. Sentinet:Sentinet 是蚂蚁金服开源的一款企业级 API 网关,提供了统一的 API 接入、权限控制、流量管控、IP 白黑名单、灰度发布等功能。它具有异步高并发、低延迟的特点,适用于高流量的企业级 API 网关场景。

12. Dubbo Mesh:Dubbo Mesh 是一款分布式服务网格,它为服务之间的通信提供了支持,同时也提供了负载均衡、故障转移、熔断降级、限流等功能。借助 Dubbo Mesh,用户不必关心服务之间的通信以及服务治理相关的问题。

容器化技术

13. PouchContainer:PouchContainer 是蚂蚁金服基于容器化技术自研的一款轻量级容器引擎,支持 OCI 标准规范,适用于云原生场景,可以支持多种操作系统。

14. Kruise:Kruise 是蚂蚁金服自研的一款 Kubernetes Operator 应用,它能够自动化的进行容器的弹性伸缩、滚动升级、灰度发布等操作,为 Kubernetes 用户提供一键“智能化”体验。

15. AdvancedArthas:AdvancedArthas 是蚂蚁金服自研的一款针对 Java 容器化场景下的开发调试工具,它可以通过 Arthas 命令来实现容器内的 Java 应用程序的诊断和调试。

数据科学和人工智能

蚂蚁源码

16. FlinkSQL:FlinkSQL 是蚂蚁金服自主研发的一款 SQL 引擎,它是适用于 Apache Flink 的 SQL 解析器和优化器,提供了标准 SQL 支持。它可以方便用户将 SQL 语句转化为 Flink 的数据流程序。

17. SparkTraceViewer:SparkTraceViewer 是一款 Spark 任务日志查看工具,使用者可以在 Web 页面直观地查看 Spark 作业的运行状态、性能瓶颈、任务依赖图等信息。该工具还可以输出 DOT 格式的 Dag 图,方便用户进行任务分析。

18. EasyDL:EasyDL 是蚂蚁金服开源的一款深度学习平台,提供一站式的深度学习训练和部署服务。它可以通过简单的 API 调用,将深度学习应用于企业应用场景。由于风险控制原因,EasyDL 仅能在蚂蚁全球开放平台上使用。

小程序云开发

19. umi-plugin-mp:umi-plugin-mp 是一款基于 UmiJS 的小程序开发插件,它可以帮助用户快速地开发出一款高质量的小程序。该插件提供了路由、事件、绑定、代码片段等多种开发功能。

20. mp-pusher:mp-pusher 是蚂蚁金服推出的一款面向小程序的实时数据推送服务,它基于 HTTP 长轮询技术,可以在推送消息时降低服务器负载,在小程序中更加稳定。

21. miniprogram-ci:miniprogram-ci 是一款专门用于开发和部署微信小程序的命令行工具,使用者可以通过该工具快速、方便地进行小程序上传、审核和发布等流程。

区块链

22. Ant Blockchain:Ant Blockchain 是蚂蚁金服自主研发的一款可扩展的区块链解决方案,它在完全去中心化的情况下支持高性能和高可扩展性。Ant Blockchain 还提供了一个友好的 Web UI 界面,便于用户管理和使用所创建的链。

23. Ant Financial 算法公链的界面:Ant Financial 算法公链的界面是蚂蚁金服在区块链领域的又一力作,它提供了友好的用户交互界面和强大的区块链底层支持,能够帮助用户构建高性能的区块链应用程序。

24. Antshares-java-sdk:Antshares-java-sdk 是蚂蚁金服基于 Antshares 开发的、支持 JAVA 语言开发的 SDK。使用该 SDK,开发者可以快速、方便地通过 JAVA 语言构建 Antshares 区块链应用程序。

大数据

25. alibaba-flink-connectors:alibaba-flink-connectors 是蚂蚁金服自主研发的 Flink 连接器集合。它提供了多种数据源/数据流与 Flink 的集成方案,包括 Kafka、HBase、Hive、JDBC、Elasticsearch 等多种数据源。

26. AlibabaJavaSenior:阿里巴巴Java高级开发手册,旨在提供阿里巴巴 Java 开发者更加健康、高效、规范的开发体验。这个项目包括了代码开发、部署、代码维护等各个方面的规范,是一份非常权威的 Java 开发指南。

27. Fastjson:Fastjson 是一款高性能的 Java 语言 JSON 解析器/生成器。它提供了数据处理、反序列化和支持 Java Bean、集合类、Map 等数据格式,性能相当高效。

其他

28. jstorm:JStorm 是一款开源的、分布式的实时计算引擎,可以在大规模数据处理场景下快速高效的处理数据。它借助 Apache Storm 的框架,提供了和 Storm 相似的编程方式和类似的架构,同时提供更高的并发量和更少的延迟。

29. Gaea:Gaea 是一个基于 Git 的前后端协作开发平台,它提供了从开发、测试、构建到部署的全套解决方案。用户可以通过 Gaea 方便地进行多人协作、版本控制、代码审查等操作。

30. AntUI:AntUI 是一套基于 Ant Design 设计语言的移动端 UI 组件库,提供了各种移动 UI 组件,如按钮、导航、轮播图、Tab 组件等,支持多设备适配。它基于 React 技术栈驱动,同时也支持 Vue。