阿里的这些开源软件,大家有趣了解过吗,其实有些还是挺不错的,或许你正在使用,或许你即将使用;作为互联网的龙头之一,前言技术的发展,是有目共睹的,今天一起来认知下呗。
分别介绍阿里对前端,Java,数据库,系统方面的开源贡献。
Let's go...
1、前端 设计语言 & 前端框架 Ant Design
Ant Design 是蚂蚁金服开发和正在使用的一套企业级的前端设计语言和基于 React 的前端框架实现。它的特性:企业级金融产品的交互语言和视觉体系;丰富实用的 React UI 组件;基于 React 的组件化开发模式;背靠 npm 生态圈;基于 webpack 的调试构建方案,支持 ES6。
可视化语法库 G2
G2是一套基于可视化编码的图形语法,以数据驱动,具有高度的易用性和扩展性,用户无需关注各种繁琐的实现细节,一条语句即可构建出各种各样的可交互的统计图表。
可视化图表库 BizCharts
BizCharts 是基于G2的 React 图表库,历经阿里两年打磨,覆盖数十个产品。
Node 应用框架 Egg
egg 是为企业级框架和应用而生的 Web 框架,使用 Node.js。
基于 React 的前端框架 umi
umi 是可插拔的企业级 React 框架,类似 Next.js。
通用渲染引擎 Rax
Rax 是阿里开源的一个通用的 JavaScript 库,主要有 React 兼容的 API 。 使用 React 的就应该已经知道如何使用 Rax。特性:快速:快速的虚拟 DOM;微型:min + gzip 之后仅 8.0kb;通用:跨浏览器、Weex 和 Node.js。
跨平台移动开发工具 Weex
Weex 是开源的跨平台移动开发工具,能够完美兼顾性能与动态性,让移动开发者通过简捷的前端语法写出Native级别的性能体验,并支持iOS、安卓、YunOS及Web等多端部署。
自动化测试解决方案 Macaca
Macaca是一套完整的自动化测试解决方案,支持移动端和PC端,支持Native, Hybrid, H5 等多种应用类型,并且提供客户端工具和持续集成服务。
前端物料库 ice
ice 是前端的海量可复用物料库,配套桌面工具极速构建前端应用,大幅提升开发效率。
HTML5 互动游戏引擎 Hilo
Hilo 是阿里巴巴集团开发的一款HTML5跨终端游戏解决方案,ta可以帮助开发者快速创建 HTML5 游戏。
JavaScript 模板引擎 Velocity.js
Velocity.js 是velocity模板语法的javascript实现。Velocity 是基于Java的模板引擎,广泛应用在阿里集 体各个子公司。Velocity模板适用于大量模板使用的场景,支持复杂的逻辑运算,包含 基本数据类型、变量赋值和函数等功能。Velocity.js 支持 Node.js 和浏览器环境。
基于 Node.js 的自动化持续集成 Reliable
Reliable 是分布式架构的持续集成系统,由Macaca 团队的成员开发。适用于集成构建、集成构建等场景。她是典型的主从结构,分为reliable-master 与 reliable-slave 两部分。
模拟数据生成器 Mock.js
Mock.js 是一款模拟数据生成器,旨在帮助前端攻城师独立于后端进行开发,帮助编写单元测试。提供了以下模拟功能:根据数据模板生成模拟数据,模拟 Ajax 请求,生成并返回模拟数据,基于 HTML 模板生成模拟数据。
2、Java JAVA 研发框架 SOFAStack
SOFAStack(Scalable Open Financial Architecture Stack)是用于快速构建金融级分布式架构的一套中间件,也是在金融场景里锤炼出来的最佳实践。
Java 诊断利器 Arthas
Arthas
是 Alibaba 开源的 Java 诊断工具,深受开发者喜爱。它可以实时监控JVM状态;线上诊断问题,无需重启;命令行交互模式,丰富的Tab
自动补全功能。
JDBC 连接池、监控组件 Druid
Druid是一个 JDBC 组件。
监控数据库访问性能。
提供了一个高效、功能强大、可扩展性好的数据库连接池。
数据库密码加密。
SQL执行日志。
Java 的 JSON 处理器 fastjson
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。
主要特点:快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson);强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum);零依赖(没有依赖其它任何类库除了JDK)。
服务框架 Dubbo
Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 spring 框架无缝集成。
企业级流式计算引擎 JStorm
JStorm 是参考 Apache Storm 实现的实时流式计算框架,在网络IO、线程模型、资源调度、可用性及稳定性上做了持续改进,已被越来越多企业使用。JStorm 可以看作是 storm 的 java 增强版本,除了内核用纯java实现外,还包括了thrift、python、facet ui。从架构上看,其本质是一个基于 zk 的分布式调度系统。
apns4j 是 Apple Push Notification Service 的 Java 实现!
分布式数据层 TDDL
TDDL 是一个基于集中式配置的 jdbc datasource实现,具有主备,读写分离,动态数据库配置等功能。
轻量级分布式数据访问层 CobarClient
Cobar Client是一个轻量级分布式数据访问层(DAL)基于iBatis(已更名为MyBatis)和Spring框架实现。
淘宝定制 JVM:TaobaoJVM
TaobaoJVM 基于 OpenJDK HotSpot VM,是国内第一个优化、定制且开源的服务器版Java虚拟机。目前已经在淘宝、天猫上线,全部替换了Oracle官方JVM版本,在性能,功能上都初步体现了它的价值。
Java 图片处理类库 SimpleImage
SimpleImage是阿里巴巴的一个Java图片处理的类库,可以实现图片缩略、水印等处理。
redis 的 java 客户端 Tedis
Tedis 是另一个 redis 的 java 客户端。Tedis 的目标是打造一个可在生产环境直接使用的高可用 Redis 解决方案。
3、数据库 开源数据库 AliSQL
AliSQL 是基于 MySQL 官方版本的一个分支,由阿里云数据库团队维护,目前也应用于阿里巴巴集团业务以及阿里云数据库服务。该版本在社区版的基础上做了大量的性能与功能的优化改进。尤其适合电商、云计算以及金融等行业环境。
分布式数据库 OceanBase
OceanBase是一个支持海量数据的高性能分布式数据库系统,实现了数千亿条记录、数百TB数据上的跨行跨表事务,由淘宝核心系统研发部、运维、DBA、广告、应用研发等部门共同完成。
分布式数据库同步系统 otter
otter 基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库. 一个分布式数据库同步系统。
Oracle 数据迁移同步工具 yugong
yugong 是阿里巴巴推出的去 Oracle 数据迁移同步工具(全量 + 增量,目标支持 MySQL/DRDS)。
分布式 SQL 引擎 Lealone
Lealone 为 HBase 提供一个分布式SQL引擎,尝试将BigTable(HBase)和 RDBMS (H2数据库) 结合的项目。
关系型数据的分布式处理系统 Cobar
Cobar 是关系型数据的分布式处理系统,它可以在分布式的环境下像传统数据库一样为您提供海量数据服务。以下是快速启动场景:
分布式关系数据库 Alibaba Wasp
Wasp 是类Google MegaStore & F1的分布式关系数据库。
4、系统 分布式文件系统 FastDFS
FastDFS 是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
消息中间件 Apache RocketMQ
RocketMQ 是一款分布式、队列模型的消息中间件,具有以下特点:
能够保证严格的消息顺序
提供丰富的消息拉取模式
高效的订阅者水平扩展能力
实时的消息订阅机制
亿级消息堆积能力
分布式 key/value 存储系统 Tair
Tair是一个Key/Value结构数据的解决方案,它默认支持基于内存和文件的两种存储方式,分别和我们通常所说的缓存和持久化存储对应。
系统信息采集和监控工具 Tsar
Tsar是淘宝的采集工具,主要用来收集服务器的系统信息(如cpu,io,mem,tcp等)以及应用数据(如squid haproxy nginx等),tsar支持实时查看和历史查看,方便了解应用和服务器的信息!
分布式消息中间件 Metamorphosis
Metamorphosis (MetaQ) 是一个高性能、高可用、可扩展的分布式消息中间件,类似于LinkedIn的Kafka,具有消息存储顺序写、吞吐量大和支持本地和XA事务等特性,适用于大吞吐量、顺序消息、广播和日志数据传输等场景。
淘宝Web服务器 TengineTengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。
分布式文件系统 TFS
TFS(Taobao FileSystem)是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,其设计目标是支持海量的非结构化数据。
异步任务处理系统 TBSchedule
tbschedule 是一个简洁的分布式任务调度引擎,目的是让一种批量任务或者不断变化的任务,能够被动态的分配到多个主机的JVM中,不同的线程组中并行执行。所有的任务能够被不重复,不遗漏的快速处理。
在线分析查询系统 mdrill
mdrill是一个分布式的在线分析查询系统,基于hadoop,lucene,solr,jstorm等开源系统作为实现,基于SQL的查询语法。 mdrill是一个能够对大量数据进行分布式处理的软件框架。mdrill是快速的高性能的,他的底层因使用了索引、列式存储、以及内存cache等技 术,使得数据扫描的速度大为增加。mdrill是分布式的,它以并行的方式工作,通过并行处理加快处理速度。
程序员是个什么物种?
没有什么职场精英,有的只是为了生活努力工作的人;没有什么商务风范,有的只是加班背后的辛酸。
网友评论文明上网理性发言已有0人参与
发表评论: