Hadoop生态系统中的容器和微服务 玩出哪些新花样?

简介:

最近大多数大数据应用都部署在裸设备上,这意味着Hadoop大多数部署在非虚拟化服务器上。随着容器和微服务对应用开发圈产生影响,这种情况在发生改变。

容器和微服务都把整个应用程序的代码细分成更小粒度的片段。这样不仅简化了开发,而且更容易测试,这也是设计更灵活应用程序部署方案和代码复用的关键。

早期的时候,这种技术就应用于大数据领域,但是现在看起来在数据流处理、微服务这类领域应用也很有前途。欧洲某顶级电子商务公司的一位技术经理认为,微服务方法简化了开发工作,增强了代码复用能力。

Otto GmbH公司是一家多渠道零售商(产品包括高级铸件以及熔铸设备和半成品工业设备),总部位于德国汉堡。Rupert Steffner是该公司商业智能系统首席平台架构师,他说:“使用微服务方法是非常经济的做法。对于有些类型的应用,忽略微服务的方式是不明智的。你会一遍又一遍地开发相同的功能。”

Steffner谈到的这种类型应用是许多人工智能机器人在公司在线零售网站上运行着各种实时分析任务。Otto使用了微服务整合Docker容器和流处理技术来增强这些AI机器人的功能。

容器和微服务
云计算是推动Hadoop、Spark和其它大数据技术走向虚拟化的主要力量。不过仍然有很多基础设施在云之外构建,各公司都在努力用技术缓解这种演变。

Tom Phelan是BluData软件公司联合创始人和首席架构师,该公司设计的平台可以自动配置Hadoop或Spark集群。他说:“Hadoop大多数运行在裸设备上,不过它也可以运行在虚拟机上。例如,Amazon云和Azure云都使用了OpenStack。现在Hadoop要转向容器了。”

他说:“以前认为Hadoop集群部署在裸设备上性能更优,但现在看来不一定了。”容器需要变得更成熟,而且Hadoop本身设计并不是针对微服务风格的架构。BlueData公司最近更新软件提升了对容器的支持,推出了自动Kerberos配置Hadoop集群和Linux特权访问管理工具。

Hadoop发行版供应商MapR技术公司一位经理表示,敏捷性和流处理也是微服务获益的驱动力。Jack Norris是MapR公司数据和应用高级副总裁,他说客户构建机器人需要有快速适应数据的能力并具备机器学习模型。

他表示,在“事件驱动”架构的应用程序中这一点尤为明显。这种架构越来越多的包含了数据流处理组件。

Norris说,Hadoop和Spark应用流变得越来越复杂,他们变得更难升级了。但是,他认为微服务只是关注数据管道中的事件,这会给这种开发带来更多灵活性。这是与原始Hadoop开发风格相比最根本的变化。

Norris说:“我们看到了开放更宽泛应用程序集的需求。”与此同时,他承诺MapR公司将继续支持现有整块应用程序的风格。

上个月,MapR公司对于大数据应用微服务做了深入实践,为应用程序版本控制提供微服务专用卷,为机器学习模型AB测试设计专用微服务。另外,Norris表示,他们设计了新的参考架构用来指导开发人员利用微服务聚合流数据和实时分析应用。

AI机器人监视“只逛不买”的购物车
随着大数据处理任务变得更复杂,加上相关组件都支持精确的数据流,微系统方法的应用越来越广泛了。Otto公司的Steffner认为,微系统提供了典型的“各个击破”手段来满足架构需求。

上个月在纽约举办的Strata+Hadoop 2016年世界大会上,Steffner表示,Otto公司数据架构中的每个AI机器人都处理特定任务。例如,一个AI机器人查找欺诈交易;另一个针对实时广告位分析建模;还有一个检查空的在线购物车,并对未购买任何商品就打算离开的客户推送最后一轮促销产品。

该公司通过基于Docker的微系统架构实现以上功能,该架构是2015年四月上线的,那时候该公司已经部署传统大数据平台两年了,不过并没有满足全部需求。

Docker容器也非常适合机器人软件。Otto公司在后台安装了混合开源流处理引擎,包括Storm、Spark流处理、Flink和Ignite。不过Steffner说,Ignite是内存数据组织技术,最初是由GridGain系统公司开发的,用来处理当前环境中的批量实时处理工作。

本文转自d1net(转载)

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
641 59
|
10月前
|
Cloud Native 中间件 调度
云原生信息提取系统:容器化流程与CI/CD集成实践
本文介绍如何通过工程化手段解决数据提取任务中的稳定性与部署难题。结合 Scrapy、Docker、代理中间件与 CI/CD 工具,构建可自动运行、持续迭代的云原生信息提取系统,实现结构化数据采集与标准化交付。
1055 1
云原生信息提取系统:容器化流程与CI/CD集成实践
|
人工智能 搜索推荐 前端开发
从代码到心灵对话:我的CodeBuddy升级体验之旅(个性化推荐微服务系统)
本文分享了使用CodeBuddy最新版本的深度体验,重点探讨了Craft智能体、MCP协议和DeepSeek V3三大功能。Craft实现从对话到代码的无缝转化,大幅提升开发效率;MCP协议打通全流程开发,促进团队协作;DeepSeek V3则将代码补全提升至新境界,显著减少Bug并优化跨语言开发。这些功能共同塑造了AI与程序员共生的未来模式,让编程更高效、自然。
1073 15
|
Kubernetes Cloud Native 持续交付
容器化、Kubernetes与微服务架构的融合
容器化、Kubernetes与微服务架构的融合
659 82
|
监控 关系型数据库 MySQL
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
1067 30
|
SQL 分布式计算 Hadoop
Hadoop生态系统:从小白到老司机的入门指南
Hadoop生态系统:从小白到老司机的入门指南
634 13
|
JSON Java 数据格式
微服务——SpringBoot使用归纳——Spring Boot中的全局异常处理——处理系统异常
本文介绍了在Spring Boot项目中如何通过创建`GlobalExceptionHandler`类来全局处理系统异常。通过使用`@ControllerAdvice`注解,可以拦截项目中的各种异常,并结合`@ExceptionHandler`注解针对特定异常(如参数缺失、空指针等)进行定制化处理。文中详细展示了处理参数缺失异常和空指针异常的示例代码,并说明了通过拦截`Exception`父类实现统一异常处理的方法。虽然拦截`Exception`可一劳永逸,但为便于问题排查,建议优先处理常见异常,最后再兜底处理未知异常,确保返回给调用方的信息友好且明确。
1512 0
微服务——SpringBoot使用归纳——Spring Boot中的全局异常处理——处理系统异常
|
监控 Kubernetes Cloud Native
基于阿里云容器服务Kubernetes版(ACK)的微服务架构设计与实践
本文介绍了如何基于阿里云容器服务Kubernetes版(ACK)设计和实现微服务架构。首先概述了微服务架构的优势与挑战,如模块化、可扩展性及技术多样性。接着详细描述了ACK的核心功能,包括集群管理、应用管理、网络与安全、监控与日志等。在设计基于ACK的微服务架构时,需考虑服务拆分、通信、发现与负载均衡、配置管理、监控与日志以及CI/CD等方面。通过一个电商应用案例,展示了用户服务、商品服务、订单服务和支付服务的具体部署步骤。最后总结了ACK为微服务架构提供的强大支持,帮助应对各种挑战,构建高效可靠的云原生应用。
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
928 24
|
存储 NoSQL Linux
微服务2——MongoDB单机部署4——Linux系统中的安装启动和连接
本节主要介绍了在Linux系统中安装、启动和连接MongoDB的详细步骤。首先从官网下载MongoDB压缩包并解压至指定目录,接着创建数据和日志存储目录,并配置`mongod.conf`文件以设定日志路径、数据存储路径及绑定IP等参数。之后通过配置文件启动MongoDB服务,并使用`mongo`命令或Compass工具进行连接测试。此外,还提供了防火墙配置建议以及服务停止的两种方法:快速关闭(直接杀死进程)和标准关闭(通过客户端命令安全关闭)。最后补充了数据损坏时的修复操作,确保数据库的稳定运行。
845 0