700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 开源公司黄页之阿里巴巴开源软件推荐(一)

开源公司黄页之阿里巴巴开源软件推荐(一)

时间:2023-06-11 23:14:54

相关推荐

开源公司黄页之阿里巴巴开源软件推荐(一)

Dubbo——服务框架

Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。

主要核心部件:

Remoting:网络通信框架,实现了 sync-over-async 和 request-response 消息机制.

RPC:一个远程过程调用的抽象,支持负载均衡、容灾和集群功能

Registry:服务目录框架用于服务的注册和服务事件发布和订阅

Dubbo工作原理

Provider

暴露服务方称之为“服务提供者”。

Consumer

调用远程服务方称之为“服务消费者”。

Registry

服务注册与发现的中心目录服务称之为“服务注册中心”。

Monitor

统计服务的调用次调和调用时间的日志服务称之为“服务监控中心”。

>>>源码地址:/alibaba/dubb

Druid——JDBC连接池、监控组件

Druid是一个JDBC组件,它包括三部分:

DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。

DruidDataSource 高效可管理的数据库连接池。

SQLParser

Druid可以做什么?

1) 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。

2) 替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。

3) 数据库密码加密。直接把数据库密码写在配置文件中,这是不好的行为,容易导致安全问题。DruidDruiver和DruidDataSource都支持PasswordCallback。

4) SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-Logging、Log4j和JdkLog,你可以按需要选择相应的LogFilter,监控你应用的数据库访问情况。

扩展JDBC,如果你要对JDBC层有编程的需求,可以通过Druid提供的Filter-Chain机制,很方便编写JDBC层的扩展插件。

如下是一个基于Druid内置扩展StatFilter的监控实现:

>>>源码地址:/wenshao/druid

fastjson——Java的JSON处理器

fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。

主要特点:

快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson)

强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum)

零依赖(没有依赖其它任何类库除了JDK)

>>>源码地址:/wenshao/fastjson

FastDFS——分布式文件系统

FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。

存储节点存储文件,完成文件管理的所有功能:存储、同步和提供存取接口,FastDFS同时对文件的meta data进行管理。所谓文件的meta data就是文件的相关属性,以键值对(key value pair)方式表示,如:width=1024,其中的key为width,value为1024。文件meta data是文件属性列表,可以包含多个键值对。

FastDFS系统结构如下图所示:

>>>源码地址:/happyfish100/fastdfs

宙斯Zeus——淘宝Hadoop作业平台

宙斯是一个完整的Hadoop的作业平台,从Hadoop任务的调试运行到生产任务的周期调度。宙斯支持任务的整个生命周期。

从功能上来说,支持:

Hadoop MapReduce任务的调试运行

Hive任务的调试运行

Shell任务的运行

Hive元数据的可视化查询与数据预览

Hadoop任务的自动调度

完整的文档管理

>>>源码地址:/alibaba/zeus

OceanBase——淘宝分布式数据库

OceanBase是一个支持海量数据的高性能分布式数据库系统,实现了数千亿条记录、数百TB数据上的跨行跨表事务,由淘宝核心系统研发部、运维、DBA、广告、应用研发等部门共同完成。在设计和实现OceanBase的时候暂时摒弃了不紧急的DBMS的功能,例如临时表,视图(view),研发团队把有限的资源集中到关键点上,当前 OceanBase主要解决数据更新一致性、高性能的跨表读事务、范围查询、join、数据全量及增量dump、批量数据导入。

>>>源码地址:/p/OceanBase

Tairz——分布式key/value存储系统

Tair是由淘宝网自主开发的Key/Value结构数据存储系统,在淘宝网有着大规模的应用。您在登录淘宝、查看商品详情页面或者在淘江湖和好友“捣浆糊”的时候,都在直接或间接地和Tair交互。

Tair的功能

Tair是一个Key/Value结构数据的解决方案,它默认支持基于内存和文件的两种存储方式,分别和我们通常所说的缓存和持久化存储对应。

Tair除了普通Key/Value系统提供的功能,比如get、put、delete以及批量接口外,还有一些附加的实用功能,使得其有更广的适用场景,包括:

Version支持>

原子计数器

Item支持

>>>源码地址:/p/tair

Tsar——系统信息采集和监控工具

Tsar是淘宝的采集工具,主要用来收集服务器的系统信息(如cpu,io,mem,tcp等)以及应用数据(如squid haproxy nginx等),tsar支持实时查看和历史查看,方便了解应用和服务器的信息!

它类似于sar,能监控和收集服务器和关键应用的信息,支持实时终端显示和集中式数据库存储查询,还能向Nagios发送报警信息。Tsar模块化的设计利于通过开发新模块来扩展新的功能,非常方便。

>>>源码地址:/alibaba/tsar

SeaJS——模块加载框架

Sea.JS 是一个遵循CommonJS规范的模块加载框架,可用来轻松愉悦地加载任意 JavaScript 模块。

SeaJS 支持的标准模块遵循 Modules/Wrappings 规范的 define 形式,可运行于 Web 浏览器以及 node.JS 等环境中。

>>>源码地址:/seajs/seajs

Metamorphosis——分布式消息中间件

Metamorphosis (MetaQ) 是一个高性能、高可用、可扩展的分布式消息中间件,类似于LinkedIn的Kafka,具有消息存储顺序写、吞吐量大和支持本地和XA事务等特性,适用于大吞吐量、顺序消息、广播和日志数据传输等场景,在淘宝和支付宝有着广泛的应用,现已开源。

总体结构:

内部结构:

>>>源码地址:/alibaba/RocketMQ

otter——阿里巴巴分布式数据库同步系统

otter 基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库. 一个分布式数据库同步系统。

工作原理:

>>>源码地址:/alibaba/otter

Hilo——HTML5 互动游戏引擎

Hilo 是阿里巴巴集团开发的一款HTML5跨终端游戏解决方案,ta可以帮助开发者快速创建HTML5游戏。

主要特性

Hilo 支持多种模块范式的包装版本,包括AMD,CMD,COMMONJS,Standalone多种方式接入。另外,你可以根据需要新增和扩展模块和类型;

极精简的模块设计,完全面向对象;

多种渲染方式,提供DOM,Canvas,Flash,WebGL等多种渲染方案(目前已经申请专利);

全端浏览器的支持和高性能方案,独有的Flash渲染方案,即使在低版本IE浏览器下也可以跑起来“酷炫”游戏; DOM渲染方案能显著解决低性能手机浏览器遇到的性能问题;

物理引擎支持——Chipmunk,支持自扩展物理实现;骨骼动画支持——DragonBones,同时内建骨骼动画系统——Tahiti(目前内部使用);

案例丰富,框架成熟,已经经历多届阿里巴巴双十一,年中大促互动营销活动考验;

>>>源码地址:/hiloteam/Hilo

Velocity.js——JavaScript 模板引擎

Velocity.js 是velocity模板语法的javascript实现。Velocity是基于Java的模板引擎,广泛应用在阿里集 体各个子公司。Velocity模板适用于大量模板使用的场景,支持复杂的逻辑运算,包含 基本数据类型、变量赋值和函数等功能。Velocity.js 支持 Node.js 和浏览器环境。

特征:

支持客户端和服务器端使用

语法是富逻辑的,构成门微型的语言

语法分析和模板渲染分离

基本完全支持velocity语法

浏览器使用支持模板之间相互引用,依据kissy模块加载机制

三个Helper,友好的数据模拟解决方案

Vim Syntax

>>>源码地址:/shepherdwind/velocity.js

Macaca——自动化测试解决方案

Macaca是一套完整的自动化测试解决方案。

特性:

支持移动端和PC端

支持Native, Hybrid, H5 等多种应用类型

提供客户端工具和持续集成服务

>>>源码地址:/alibaba/macaca

转载:开源中国|ID:oschina

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。