开源实时流处理系统小结

网址: http://www.cnblogs.com/panfeng412/archive/2013/02/21/open-source-real-time-stream-processing-systems.html

这里对目前业界开源的一些实时流处理系统做一次小结,作为日后进行技术调研的参考资料。

S4

S4(Simple Scalable Streaming System)是Yahoo最新发布的一个开源流计算平台,它是一个通用的、分布式的、可扩展性良好、具有分区容错能力、支持插件的分布式流计算平台,在该平台上程序员可以很方便地开发面向无界不间断流数据处理的应用,开发语言为Java。

项目链接:http://incubator.apache.org/s4/(注:S4 0.5.0已支持TCP链接及状态恢复等特性)

Storm

Storm是Twitter开源的分布式实时计算系统,Storm通过简单的API使开发者可以可靠地处理无界持续的流数据,进行实时计算,开发语言为Clojure和Java,非JVM语言可以通过stdin/stdout以JSON格式协议与Storm进行通信。Storm的应用场景很多:实时分析、在线机器学习、持续计算、分布式RPC、ETL处理,等等。

项目链接:http://storm-project.net

StreamBase

StreamBase是一个关于复杂事件处理(CEP)、事件流处理的平台。其本身是商业应用软件,但提供了Developer Edition,开发语言为Java。

项目链接:http://www.streambase.com

HStreaming

HStreaming构建在Hadoop之上,可以和Hadoop及其生态系统紧密结合起来提供实时流计算服务。这使得HStreaming的用户可以在同一个生态系统中分析处理大数据,开发语言为Java。

项目链接:http://www.hstreaming.com

Esper & NEsper

Esper是专门进行复杂事件处理(CEP)的流处理平台,Java版本为Esper,.Net版本为NEsper。Esper & NEsper可以方便开发者快速开发部署处理大容量消息和事件的应用系统,不论是历史的还是实时的消息。

项目链接:http://esper.codehaus.org

Kafka

Kafka是Linkedin于2010年12月份开源的高吞吐、基于Pub-Sub的分布式消息系统,主要用于处理活跃的流式数据,开发语言为Scala。

项目链接:http://incubator.apache.org/kafka

Scribe

Scribe是Facebook开源的日志收集系统,开发语言为C,通过Thrift可以支持多种常用客户端语言,在Facebook内部已经得到大量的应用。它能够从各种日志源上收集日志,存储到一个中央存储系统(可以是NFS,分布式文件系统等)上,以便于进行集中统计分析处理。它为日志的“分布式收集,统一处理”提供了一个可扩展的,高容错的方案。Scribe通常与Hadoop结合使用,Scribe用于向HDFS中push日志,而Hadoop通过MapReduce作业进行定期处理。

项目链接:http://github.com/facebook/scribe

Flume

Flume是Cloudera提供的一个分布式、可靠的、高可用的日志收集系统,用于收集、聚合以及移动大量日志数据,开发语言为Java。Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接收方(可定制)的能力。

项目链接:http://incubator.apache.org/flume

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Laravel 是一个基于 PHP 语言的开源 Web 应用程序框架,它使用 MVC(模型-视图-控制器)架构模式,具有简单、优雅、快速开发的特点。在实训中,我们通过学习 Laravel 框架,深入理解了 MVC 模式,了解了路由、控制器、模型、视图、中间件等 Laravel 框架的核心概念和使用方法。下面我将对实训内容进行总结。 一、Laravel 环境搭建 在实训开始时,我们首先需要搭建 Laravel 开发环境。搭建 Laravel 环境需要安装 PHP、Composer、Nginx 或 Apache 等软件,其中 Composer 是 Laravel 框架的依赖管理工具,可以方便地安装 Laravel 框架和相关扩展包。在搭建 Laravel 环境时,我们还需要配置虚拟主机、数据库等内容。在实训中,我们使用了 Docker 来搭建 Laravel 开发环境,这样可以方便地快速部署环境,避免了环境配置的繁琐。 二、Laravel 基础知识 1. 路由 在 Laravel 中,路由是指将 URL 请求映射到相应的控制器方法上。在 Laravel 中定义路由非常方便,只需要在 routes/web.php 文件中定义即可。在定义路由时,我们可以使用 GET、POST、PUT、DELETE 等 HTTP 方法,并且可以使用参数、中间件等功能。 2. 控制器 控制器是 Laravel 中处理请求的核心部分,它负责接收请求、处理业务逻辑、调用模型、返回响应等。在 Laravel 中,控制器可以使用 Artisan 命令快速生成,生成的控制器包含了基本的 CRUD 操作。 3. 模型 模型是 Laravel 中与数据库交互的部分,它负责查询、插入、更新、删除数据等操作。在 Laravel 中,模型可以使用 Artisan 命令快速生成,并且可以使用 Eloquent ORM(对象关系映射)来操作数据库。 4. 视图 视图是 Laravel 中负责渲染页面的部分,它可以使用 Blade 模板引擎来编写。在 Blade 模板中,我们可以使用变量、控制语句、循环语句等功能,方便地构建页面。 5. 中间件 中间件是 Laravel 中用于处理请求的过滤器,它可以在请求到达控制器之前或者之后进行一些处理。在 Laravel 中,我们可以使用 Artisan 命令快速生成中间件,并且可以给中间件命名、设置中间件组等。 三、Laravel 扩展包 除了 Laravel 框架本身提供的功能之外,还有很多第三方扩展包可以用于扩展 Laravel 的功能。在实训中,我们学习了一些常用的 Laravel 扩展包。 1. Laravel Debugbar Laravel Debugbar 是一个用于调试 Laravel 应用程序的扩展包,它可以方便地查看应用程序的请求、响应、SQL 查询等信息,帮助我们快速定位问题。 2. Laravel-Excel Laravel-Excel 是一个用于导入和导出 Excel 文件的扩展包,它可以方便地将数据导出为 Excel 文件,并且可以将 Excel 文件导入到数据库中。 3. Laravel Telescope Laravel Telescope 是一个用于监控 Laravel 应用程序的扩展包,它可以方便地查看应用程序的请求、响应、SQL 查询等信息,帮助我们快速定位问题。与 Laravel Debugbar 不同的是,Laravel Telescope 可以将监控数据保存到数据库中,方便长期监控。 四、Laravel 实战项目 在实训的最后,我们完成了一个实战项目:一个简单的博客系统。在博客系统中,我们实现了用户注册、登录、退出、文章发布等功能,并且使用了 Laravel 的认证、授权、邮件等功能。在实现博客系统的过程中,我们深入理解了 Laravel 的各种功能,并且掌握了如何将这些功能应用到实际项目中。 总结 通过本次实训,我深入了解了 Laravel 框架的使用方法和开发程,掌握了如何使用 Laravel 实现 Web 应用程序的各种功能。在实训中,我们不仅学习了 Laravel 框架本身的知识,还学习了如何使用 Docker 搭建开发环境、如何使用 Git 进行版本控制、如何使用 GitHub 进行协作开发等技术。这些知识对于我今后的开发工作和学习都有很大的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值