Dubbo——服务框架

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

主要核心部件:

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

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

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

Dubbo工作原理

  • Provider

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

  • Consumer

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

  • Registry

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

  • Monitor

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

>>>源码地址:https://github.com/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的监控实现:

>>>源码地址:http://git.oschina.net/wenshao/druid

fastjson——Java的JSON处理器

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

主要特点:

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

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

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

>>>源码地址:http://git.oschina.net/wenshao/fastjson

FastDFS——分布式文件系统

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

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

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

FastDFS系统结构如下图所示:

>>>源码地址:https://github.com/happyfish100/fastdfs

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

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

从功能上来说,支持:

  • Hadoop MapReduce任务的调试运行

  • Hive任务的调试运行

  • Shell任务的运行

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

  • Hadoop任务的自动调度

  • 完整的文档管理

>>>源码地址:https://github.com/alibaba/zeus

OceanBase——淘宝分布式数据库

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

>>>源码地址:http://code.taobao.org/p/OceanBase

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

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

Tair的功能

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

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

  • Version支持>

  • 原子计数器

  • Item支持

>>>源码地址:http://code.taobao.org/p/tair

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

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

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

>>>源码地址:https://github.com/alibaba/tsar

SeaJS——模块加载框架

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

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

>>>源码地址:https://github.com/seajs/seajs

Metamorphosis——分布式消息中间件

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

总体结构:

内部结构:

>>>源码地址:https://github.com/alibaba/RocketMQ

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

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

工作原理:

>>>源码地址:https://github.com/alibaba/otter

Hilo——HTML5 互动游戏引擎

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

主要特性

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

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

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

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

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

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

>>>源码地址:https://github.com/hiloteam/Hilo

Velocity.js——JavaScript 模板引擎

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

特征:

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

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

  • 语法分析和模板渲染分离

  • 基本完全支持velocity语法

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

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

  • Vim Syntax

>>>源码地址:https://github.com/shepherdwind/velocity.js

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

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

特性:

  • 支持移动端和PC端

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

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

>>>源码地址:https://github.com/alibaba/macaca

转载:开源中国|ID:oschina2013

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

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

    yugong--Oracle数据迁移同步工具 yugong 是阿里巴巴推出的去Oracle数据迁移同步工具(全量+增量,目标支持MySQL/DRDS) 08年左右,阿里巴巴开始尝试MySQL的相关研究 ...

  2. 开源公司黄页之 Google 开源软件推荐

    在企业使用开源和贡献开源方面,Google一直是行业的典范.一直以来,Google都在极力推广和倡导开源,并发布了一系列开源项目.如果没有开源软件,Google也难以达到今日的成功.开源中国社区目前收 ...

  3. 开源公司黄页之 Twitter 开源软件推荐

    从Twitter的GitHub账户中可以看到,Twitter已经开源的开源项目有近200个,领域涉及分布式架构.大数据.异步网络传输(客户端.服务端).Web.工具等.Twitter可以称为构建于开源 ...

  4. 开源公司黄页 关于/ 阿里巴巴的50款开源软件[大部分为Java语言]

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

  5. 开源公司黄页之Facebook开源软件推荐(一)

    从Facebook的GitHub账户中可以看到,Facebook已经开源的开源项目有近300个,领域涉及移动.前端.Web.后端.大数据.数据库.工具和硬件等. React Native--移动开发框 ...

  6. 阿里巴巴开源 Spring Cloud Alibaba,加码微服务生态建设

    转载自  阿里巴巴开源 Spring Cloud Alibaba,加码微服务生态建设 本周,Spring Cloud联合创始人Spencer Gibb在Spring官网的博客页面宣布:阿里巴巴开源 S ...

  7. 阿里巴巴开源技术汇总:115个软件(一)

    阿里巴巴开源技术汇总:115个软件 摘要: 云栖社区近期策划了多期和开源产品相关的内容,如GitHub最流行的开源机器学习.大数据等项目,揭秘阿里Weex项目,Hilo开源分析等.深入挖掘,发现开源中 ...

  8. Google、亚马逊、微软 、阿里巴巴开源软件一览

    Google.亚马逊.微软 .阿里巴巴开源软件一览 大公司为什么要发布开源项目?一是开源能够帮助他人更快地开发软件,促进世界创新,主要是社会价值层面的考虑.二是开源能够倒逼工程师写出更好的代码.三是开 ...

  9. 根据ip查经纬度软件_f.lux - 必须推荐给大家的开源免费的护眼软件

    f.lux 是一款 开源免费的护眼软件 ,它能够自动 降低屏幕亮度.调整柔和色调,对于需要 长时间 面对 电脑屏幕 的来说非常实用.我们直接访问 软件官网 直接点击 Download f.lux 按钮 ...

最新文章

  1. 当所有人都向往大厂时,这些 00 后程序员却选择逃离
  2. vue中使用Base64编码和解码
  3. Vue中src属性绑定的问题
  4. jzoj3850-Fibonacci进制【斐波那契倍增】
  5. java 二叉树迭代器_C,为二叉树实现自定义迭代器(长)
  6. LeetCode 717. 1-bit and 2-bit Characters
  7. createbitmap 旋转90度_如何旋转的位图90度
  8. 【数学建模】基于matlab贫困生评测系统【含Matlab源码 1744期】
  9. Webstorm—Webstorm汉化(图文详解)
  10. Air202学习(3)AT指令开发示例
  11. 数据统计获取一年 有多少个自然周,起止时间,当前是第几个周
  12. 百度世界地图实现方法
  13. flutter 屏幕截图,超出屏幕部分截图
  14. Python练习:简单的登陆注册的信息管理;模块化;密码安全判断(没有用数据库和文件)
  15. Hive SQL— 连续发单天数
  16. 中基鸿业分析投资应该注意的事项
  17. 4D毫米波雷达算法设计2--传统算法详细设计
  18. SaaS模式、技术与案例详解——第15章 SaaS平台的技术选型
  19. 《微信朋友圈,这么玩才赚钱》读书笔记-刘焱飞
  20. python批量读取图片并批量保存_Python爬虫:批量抓取花瓣网高清美图并保存

热门文章

  1. 虚拟机,win server 2008,路由交换,实验报告
  2. Line RichEdit类
  3. Q96:过程纹理(Procedural Texture)(0)——概述
  4. 大数据开发笔记(十):Hbase列存储数据库总结
  5. 做数据可视化有什么好
  6. python占位符_Python(2)——Python的基础语句
  7. oracle中update锁记录,oracle进行update时对行加锁的测试
  8. layui框架和vue哪个好_小颖的前端框架
  9. 华为鸿蒙系统支持什么手机_华为手机支持升级鸿蒙OS的EMUI 11系统55款机型名单公布...
  10. R︱Rstudio 1.0版本尝鲜(R notebook、下载链接、sparkR、代码时间测试profile)