容器和微服务在Hadoop生态系统中找到一席之地

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 本文讲的是容器和微服务在Hadoop生态系统中找到一席之地【编者的话】容器和微服务凭借构架上的灵活优势,已经杀进了Hadoop生态系统。分别位于德国和美国两家公司的技术高管对此提出了自己的观点。
本文讲的是容器和微服务在Hadoop生态系统中找到一席之地【编者的话】容器和微服务凭借构架上的灵活优势,已经杀进了Hadoop生态系统。分别位于德国和美国两家公司的技术高管对此提出了自己的观点。

最近关于大数据的实践多是基于裸机的,这意味着Hadoop已经在非虚拟服务器上被广为实现。随着容器和微服务在应用服务界越来越受欢迎,这个现状也可能会发生改变。

容器和微服务都可将单层应用(monolithic application)的代码拆分为更为精细的部件,简化了开发和测试,也是部署复杂应用和代码重用的关键。

虽然刚开始将这种技术应用于大数据,但在数据流方面,微服务已经显示出良好的潜力。欧洲电商公司一位技术经理表示,微服务可以简化部署和代码重用。

Otto GmbH是德国汉堡一家多渠道零售商,它的商业智能系统的首席平台架构师Rupert Steffner表示,使用微服务,“可以精简当前的工作”,进一步说,对于某些类型的应用,如果不使用微服务,“是不明智的做法,因为你是在不停重复同样的功能。”

Steffner所说的应用类型即对在线零售网站进行实时分析工作的多功能人工智能(AI)机器人程序。Otto融合了微服务、Docker容器和流处理技术来支持这些AI机器人程序。

容器和微服务,厉害了

云计算是将Hadoop、Spark和其他大数据技术推向虚拟化、容器和微服务的动力之一。还有许多基础设施需要构建,但目前已经有公司开始用技术简化这个过程。

“以前Hadoop多运行在裸机上,后来在虚拟机上也可以了;比如亚马逊云、Azure云和OpenStack。而现在,又要转移到容器上去。”Tom Phelan,BlueData软件公司的联合创始人和首席架构师,该公司是Hadoop或Spark集群自动生成平台制造商。

“以前,Hadoop集群在裸机上的表现更好,但这种情况正在改变,”Tom Phelan说。他承认容器还需要进一步成熟,并提到Hadoop最初的设计并不是微服务类型的架构。位于加州圣克拉拉的BlueData最近更新了软件以增强容器支持,推出Hadoop集群Kerberos自动设置和Linux特权访问管理工具。

微服务的另两个驱动因素是敏捷性和流,Hadoop发行版厂商MapR Technologies公司的MapR数据和应用方面的高级副总裁,JackNorris表示,使用机器人程序的顾客需要快速适应数据和机器学习模型。

对“事件驱动”型构架的应用来说尤为如此,因为这样的构架包含越来越多的数据流组件。Norris说,随着Hadoop和Spark应用流变得越来越复杂,更新也变得越来越难了。但是,由于微服务专注于数据管道事件,这会给发展带来更多的灵活性。这也改变了之前 Hadoop的发展方式。

“我们认为有必要开启更多更广的应用,”Norris说。同时,他承诺MapR会继续支持当前的单层应用。

上个月,MapR试图进一步在大数据方面推动微服务的进展,即尝试用微服务对应用做版本管理,并将微服务用于机器学习模型的A/B测试。另外,据Norris说,有新的参考构架可以用来指导开发者通过微服务融合流数据和实时分析应用。

AI机器人程序盯着空空的购物车

随着大数据处理工作成为数据流组件更加复杂的集合,微服务拓宽了应用的广度。Otto公司的Steffner表示,微服务提供了典型的“分而治之”的思路来满足构架上的需要。

Steffner曾在上个月于纽约举办的Strata +Hadoop2016世界大会上发言,他说,Otto公司的数据构架中,每个AI机器人程序都处理一个特定的任务。例如,某个AI机器人程序专门寻找欺诈性交易,另一个则使用分析模型来投放实时广告,还有一个AI机器人程序专门检查空购物车,并在用户没有购买任何商品就要离开网站时放出优惠。

Steffner说,这些工作是通过基于Docker的微服务架构完成的,当时是2015年的十月份,而在两年之前,在常规的大数据平台上是做不到这一点的。

Steffner还说,Docker容器十分契合机器人程序的概念。Otto公司在后端安装了一系列的开源的流处理引擎,包括 Storm Spark Streaming Flink  和 Ignite 。在目前的环境下,Ignite(由GridGain 系统公司原创的内存数据结构技术)承担了大部分的实施处理工作。

原文链接:Containers and microservices find home in Hadoop ecosystem(翻译:马远征)

原文发布时间为:2016-11-09

本文作者:马远征

本文来自云栖社区合作伙伴Dockerone.io,了解相关信息可以关注Dockerone.io。

原文标题:容器和微服务在Hadoop生态系统中找到一席之地

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