Supergiant.io —— 服务于有状态应用的容器平台

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:

Supergiant是一个使用Kubernetes打造的容器托管平台,适用于分布式的有状态应用。Supergiant是由Qbox.io团队所开发的,该团队同时还提供了托管版本的Elasticsearch。

Supergiant是一种能够运行Docker容器、以托管有状态、集群化应用的框架。它的内部实现利用了Kubernetes的功能,但也开发了自有的结构与代码,以避免出现Kubernetes无法满足需求的场景,例如持久化保存以及外部的负载均衡。InfoQ与Qbox的CEO和联合创始人,同时也是Supergiant的创建者Mark Brandon进行了一次访谈,以深入了解Supergiant的技术细节。

QBox.io团队早期的业务是提供托管版本的Elasticsearch,当时他们经历过各种问题,其中包括由于因“吵闹的邻居”效应(本意是指某个VM由于存储而产生的大量I/O操作对同一环境中其他VM的影响)而难以实现扩展的情况。根据团队的博客文章所说,对于管理互联的容器与卷的管理,Docker与Kubernetes看起来是一种正确的选择。

部署在Supergiant平台上的应用中所涉及的存储功能都被分配在高可用的阵列中,但它并没有使用Kubernetes中的持久化数据卷。AWS目前已经提供了对Supergiant的支持,Supergiant使用了AWS中的Elastic Block Store(EBS),因此数据卷可随意在集群中移动。EBS中的数据卷的行为类似于硬盘,可接入虚拟机中或者撤消(也可进行挂载与卸载)。由于EBS数据卷的持久化可支持节点服务器的重启,因此即便某个节点变得不可用,数据也不会丢失。

Kubernetes内置了负载均衡与高可用性方面的特性。按照Brandon的说法,Supergiant特意为外部的负载均衡功能编写了代码,因为“虽然Kubernetes的内部负载均衡功能十分出色,但它的外部负载均衡策略对于Elasticsearch这样的分布式应用来说并非最佳。”

为了使你的软件作为一个Supergiant应用运行,它必须被打包为一个“组件”。这种组件既可以是一个NoSQL数据库,也可以是一个web服务器或node.js应用。根据Brandon所说:“任何一种可被Docker化的应用都可以成为一个组件”。Supergiant还提供了一套基于HTTP的API,用于组件的定义。

运行在AWS环境中的应用都需要满足一个要求,即可以忍受可用性地域(AZ)的故障,而对跨区域可用性的支持则是更高级别的能力。根据Brandon的说法,Supergiant可管理跨多个AWS地域的集群。

本文转自d1net(转载)

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
1月前
|
Kubernetes Docker Python
Docker 与 Kubernetes 容器化部署核心技术及企业级应用实践全方案解析
本文详解Docker与Kubernetes容器化技术,涵盖概念原理、环境搭建、镜像构建、应用部署及监控扩展,助你掌握企业级容器化方案,提升应用开发与运维效率。
445 108
|
1月前
|
运维 监控 数据可视化
小白也能部署应用,3个免费的容器化部署工具测评
本文对比了三款容器化部署工具:Docker Compose、Portainer 和 Websoft9。Docker Compose 适合开发者编排多容器应用,Portainer 提供图形化管理界面,而 Websoft9 则面向中小企业和非技术人员,提供一键部署与全流程运维支持,真正实现“开箱即用”。三款工具各有定位,Websoft9 更贴近大众用户需求。
小白也能部署应用,3个免费的容器化部署工具测评
|
2月前
|
存储 监控 Java
如何对迁移到Docker容器中的应用进行性能优化?
如何对迁移到Docker容器中的应用进行性能优化?
247 58
|
2月前
|
缓存 Java Docker
如何对应用代码进行优化以提高在Docker容器中的性能?
如何对应用代码进行优化以提高在Docker容器中的性能?
203 1
|
3月前
|
数据可视化 API UED
126. [HarmonyOS NEXT 实战案例二:SideBarContainer] 侧边栏容器实战:电商应用商品筛选侧边栏 进阶篇
在基础篇中,我们已经实现了电商应用商品筛选侧边栏的基本布局和功能。在本篇教程中,我们将深入探讨如何通过状态管理和数据绑定,实现更加复杂的交互功能,提升用户体验。
85 2
126. [HarmonyOS NEXT 实战案例二:SideBarContainer] 侧边栏容器实战:电商应用商品筛选侧边栏 进阶篇
|
3月前
|
UED 容器
125.[HarmonyOS NEXT 实战案例二:SideBarContainer] 侧边栏容器实战:电商应用商品筛选侧边栏 基础篇
在现代电商应用中,商品筛选功能是提升用户购物体验的关键元素。HarmonyOS NEXT提供的`SideBarContainer`组件非常适合实现这类功能,它可以创建一个可显示和隐藏的侧边栏,用于放置各种筛选条件,帮助用户快速找到心仪的商品。
84 1
125.[HarmonyOS NEXT 实战案例二:SideBarContainer] 侧边栏容器实战:电商应用商品筛选侧边栏 基础篇
|
3月前
|
UED 容器
124.[HarmonyOS NEXT 实战案例一:SideBarContainer] 侧边栏容器实战:新闻阅读应用侧边栏布局 进阶篇
在基础篇中,我们学习了如何使用HarmonyOS NEXT的`SideBarContainer`组件创建新闻阅读应用的基本侧边栏布局。本篇教程将深入探讨如何为新闻阅读应用添加更多交互功能和状态管理,提升用户体验。
88 1
124.[HarmonyOS NEXT 实战案例一:SideBarContainer] 侧边栏容器实战:新闻阅读应用侧边栏布局 进阶篇
|
Ubuntu 网络协议 Unix
02理解网络IO:实现服务与客户端通信
网络IO指客户端与服务端通过网络进行数据收发的过程,常见于微信、QQ等应用。本文详解如何用C语言实现一个支持多客户端连接的TCP服务端,涉及socket编程、线程处理及通信流程,并分析“一消息一线程”模式的优缺点。
185 0
|
2月前
|
存储 监控 测试技术
如何将现有的应用程序迁移到Docker容器中?
如何将现有的应用程序迁移到Docker容器中?
254 57
|
2月前
|
NoSQL Redis Docker
使用Docker Compose工具进行容器编排的教程
以上就是使用Docker Compose进行容器编排的基础操作。这能帮你更有效地在本地或者在服务器上部署和管理多容器应用。
311 11