IBM 开源主要关注 Spark,Docker,Node 和 Go

简介:

近期 IBM 推出开源项目门户,计划开源 50个项目。在 IBM 开源门户 DeveloperWorks中有大量的开源项目都是为了提升 Spark 性能来优化 Docker 的网络管理。

IBM 当前推出的 DeveloperWorks 开源门户主要是 IBM 已经开源的软件集合,这些开源项目最主要的有 5 个主要的类别,分为 Node.js 开发,Spark 数据处理框架,Go 语言 和 Docker 容器。

Spark Kernel (Spark/Scala/IPython)

IBM 对 Spark 数据处理框架,Hadoop 相关的其他技术都非常感兴趣,也酝酿一段时间了。除了对 Spark 进行贡献之外,还开发了 Spark 周边的工具链,使得 Spark 更容易学习和使用。例如:Spark Kernel,让远程应用使用 Spark 进行实时操作,可以替换现有的 Spark Shell。

Shell 通常用于 Spark 的交互处理,但是不容易做成其他应用也可以访问的服务。同时,IBM 宣称大部分的解决方案都过于缓慢,繁琐并且有一定限制。Spark Kernel 使用 IPython 消息协议,最初是用来创建交互式数据可视化"notebooks" 给科学计算应用,但是这也是一种发送代码回 Spark 集群和检索结果的方式。此外,IPython notebooks 可以连接 Spark Kernel,让现有用户对集成 Spark 和 Spark 后端更有兴趣。

Node Application Metrics (C++/Node.js)

Node.js 应用不透明是一个长期的吐槽点 —— Node 应用调试会是一种非常痛苦的体验,除非你使用高端的工具或者特定的平台。Node Application Metrics 提供了一个基础设施,来为基于 Node.js 的应用收集资源和性能监控数据。Node Application Metrics 创建所基于的数据收集性能,是 Health Center 开发工具所使用的,同时也是基于 Eclipse 的 IBM 监控和诊断工具的一部分。

Node Application Metrics 公开了 JavaScript 和 C 的 API,这使得开发者工具、管理和扩展工具、性能监控工具,比如 StatsD with Graphite 或 Elasticsearch with Kibana,都可以实现数据采集。

Clampify (Go/Docker)

"羡慕是发明的重要因素" Clampify 如是说。在这点上,是羡慕 OpenStack 的 Neutron 网络系统。 那能基于这个组件,使用TA的网络隔离和网络路由功能,在 Swarm 集群与 Docker 容器结合,从而替代 OpenStack?答案当然是:Yes!

Clampify 能让你在 Swarm 集群中的节点间建立多个独立的网络。它可以将同一用户在不同网络上的不同工作负载放到容器中,或者对多租户集群解决方案建立模块,在模块中,容器中的不同 租户可以挂在独立的网络上。除了 Docker 和 Swarm,这个解决方案利用了 Openstack项目的两个组件,Keystone 和 Neutron 。

所以 Clampify 可以在 "其他集群系统,比如 Apache Mesos "使用,或者使用 Clampify 在 Docker Swarm 设置多租户集群。

Node-red (Node.js/JavaScript)

可视化编程工具经常在设计工作流或者信息流的时候使用,比如数据库关系表。Node-RED 是 IBM 新兴技术服务团队创建的物联网配线可视化工具。Node-red 设计的目的是为物联网编程快速预览所有代码。现在来说,比较少用来创建产品代码,主要是用来快速建立原型,然后快速优化。

i18n4go (Go)

这里有一个极其简单而又有用的 Go 项目,用来解决越来越常见的软件问题。Go 需要支持 i18n (国际化) 工具,但是现有的 Go 程序的国际化支持都比较冗长繁杂。i18n4go提供一个应用工作流进程 —— 从 Go 应用中提取字符串,合并他们到单个包(消除冗余),准备翻译,使底层代码容易接收他们。

文章转载自 开源中国社区 [http://www.oschina.net]

相关文章
|
人工智能 Kubernetes Java
回归开源,两位 Java 和 Go 程序员分享的开源贡献指引
Higress是一个基于Istio和Envoy的云原生API网关,支持AI功能扩展。它通过Go/Rust/JS编写的Wasm插件提供可扩展架构,并包含Node和Java的console模块。Higress起源于阿里巴巴,解决了Tengine配置重载及gRPC/Dubbo负载均衡问题,现已成为阿里云API网关的基础。本文介绍Higress的基本架构、功能(如AI网关、API管理、Ingress流量网关等)、部署方式以及如何参与开源贡献。此外,还提供了有效的开源贡献指南和社区交流信息。
2416 33
|
监控 Java Go
无感改造,完美监控:Docker 多阶段构建 Go 应用无侵入观测
本文将介绍一种基于 Docker 多阶段构建的无侵入 Golang 应用观测方法,通过此方法用户无需对 Golang 应用源代码或者编译指令做任何改造,即可零成本为 Golang 应用注入可观测能力。
607 85
|
人工智能 搜索推荐 API
node-DeepResearch:开源复现版OpenAI Deep Research,支持多步推理和复杂查询的AI智能体
node-DeepResearch 是一个开源 AI 智能体项目,支持多步推理和复杂查询,帮助用户逐步解决问题。
1536 27
node-DeepResearch:开源复现版OpenAI Deep Research,支持多步推理和复杂查询的AI智能体
|
缓存 JavaScript 持续交付
“解锁Node.js新纪元:如何借助Docker打造快速、高效且一致性的现代应用部署体验”
【10月更文挑战第25天】本文介绍了如何使用Docker容器化Node.js应用,包括容器化的好处、创建Docker镜像的步骤、构建和运行镜像的方法、管理依赖、保持应用更新以及调试技巧。通过容器化,可以提高应用的可移植性和可扩展性,简化开发和部署流程。
451 2
|
Go Docker Python
docker的python与go镜像的制作
docker的python与go镜像的制作
381 1
|
JavaScript Linux 开发者
一个用于管理多个 Node.js 版本的安装和切换开源工具
【9月更文挑战第14天】nvm(Node Version Manager)是一个开源工具,用于便捷地管理多个 Node.js 版本。其特点包括:版本安装便捷,支持 LTS 和最新版本;版本切换简单,不影响开发流程;多平台支持,包括 Windows、macOS 和 Linux;社区活跃,持续更新。通过 nvm,开发者可以轻松安装、切换和管理不同项目的 Node.js 版本,提高开发效率。
1277 5
|
NoSQL 测试技术 Go
自动化测试在 Go 开源库中的应用与实践
本文介绍了 Go 语言的自动化测试及其在 `go mongox` 库中的实践。Go 语言通过 `testing` 库和 `go test` 命令提供了简洁高效的测试框架,支持单元测试、集成测试和基准测试。`go mongox` 库通过单元测试和集成测试确保与 MongoDB 交互的正确性和稳定性,使用 Docker Compose 快速搭建测试环境。文章还探讨了表驱动测试、覆盖率检查和 Mock 工具的使用,强调了自动化测试在开源库中的重要性。
448 0
|
JavaScript 前端开发 安全
Node.js和Go有何优势?
【8月更文挑战第4天】Node.js和Go有何优势?
422 3
|
Web App开发 JavaScript 前端开发
Node.js与Go语言的对比?
【8月更文挑战第4天】Node.js与Go语言的对比?
1746 3
|
缓存 JavaScript 前端开发
为开源项目 go-gin-api 增加 WebSocket 模块
为开源项目 go-gin-api 增加 WebSocket 模块
300 2