写点什么

CloudState:用于 Knative/Kubernetes 的开源无服务器框架

  • 2019-09-23
  • 本文字数:1077 字

    阅读完需:约 4 分钟

CloudState:用于Knative/Kubernetes的开源无服务器框架

Lightbend 最近发布了 CloudState。CloudState 是首个可用于对 Knative/Kubernetes 堆栈进行状态管理的开源无服务器(serverless)框架。


据 Jonas Bonér 所说:


CloudState 是一个围绕状态管理通过添加概念、模型和实现来定义什么是“serverless 2.0”(或者下一代 serverless 是什么)的倡议。任何构建过云应用程序(分布式系统)的人都知道,状态实际上是最难处理的,而到目前为止,serverless 或多或少会忽略状态管理这一点。所以我们试着把它和两件事情结合起来。首先是标准化工作,为实现这些功能定义规范、协议和 TCK。其次是参考实现,实现规范。


CloudState 基本上由两部分组成:标准化工作,定义用户函数与后端之间的规范、协议和 TCK;以及一个参考实现,它用多种语言实现了后端和一组客户端的 API 库。


CloudState 是为基于事件驱动的架构、事件源、CQRS、集群分片、数据和处理协同定位、CRDTs 以及其他常见的分布式模式而设计的。此外,CloudState 的参考实现利用了运行在 kubernetes 上的KnativegRPCAkka集群GraalVM ,这不仅使应用程序能够有效地伸缩,而且还能使应用程序在保持其全局或本地数据一致性的同时,在一定范围内可靠地管理分布式状态。


让我们看下 CloudState 服务是怎样的:



(图片来自https://github.com/cloudstateio


  • Ingress(入口)——可以是 Istio、Knative、或 Kubernetes 中常规的 ClusterIP 服务通信

  • Akka Sidecar(Akka 侧车)——由 CloudState 操作符注入;每个请求都会经过它。单个 CloudState 服务的 sidecars 形成一个集群,使用 Akka remoting 彼此直接通信。

  • Code(代码)——由开发人员实现的函数。它可以用任何支持 gRPC 的语言编写。Akka sidecars 使用预定义的 gRPC 协议与用户函数通信。

  • Distributed Datastore (分布式数据存储)——当服务需要持久化状态时使用。需要注意的是,用户代码并不直接与数据存储交互,它先是与 Akka sidecars 交互,Akka sidecars 再与数据存储通信。


CloudState 实现了自己的自动容量伸缩器,使用 Knative 的自动容量伸缩器进行实验时,一旦对 Akka 集群进行扩容就会带来一些问题,其中一个问题是当添加新节点时,会重新平衡切分,并复制状态。一次启动太多的节点或者是只启动节点而不立即停止它们时,将会显著降低吞吐量和性能。


有关 CloudState 的更多详细信息可以查看GitHub repo。它还有一个示例应用程序,是用JavaJavaScript实现的简单聊天程序。


想要贡献力量的用户可以订阅邮件列表,加入Gitter频道进行讨论,或者通过Twitter进行联系。


原文链接:


CloudState, an Open Source Serverless Framework for Knative/Kubernetes


2019-09-23 08:002211
用户头像

发布了 564 篇内容, 共 407.3 次阅读, 收获喜欢 729 次。

关注

评论 1 条评论

发布
暂无评论
发现更多内容

谷歌架构师分享gRPC与云原生应用开发Go和Java为例文档

Java gRPC 云原生

强势升级!融云上线第四代通信网 SD-CAN V4

融云 RongCloud

网络 通信 融云

Flink Table Store 独立孵化启动 ,Apache Paimon 诞生

Apache Flink

大数据 flink 实时计算

Spring 源码解析-从源码角度看bean的循环依赖

Java spring 源码

软件测试/测试开发丨移动端App自动化之触屏操作自动化

测试人

软件测试 自动化测试 测试开发

统一观测丨使用 Prometheus 监控 SNMP,我们该关注哪些指标?

阿里巴巴云原生

阿里云 云原生 Prometheus snmp

终于学完国内算法牛人10年经验总结的数据结构与算法详解文档

Java 数据结构 算法

数智转型助力建筑业全产业链升级,你了解多少?

加入高科技仿生人

低代码 数字孪生 数智化 建筑业

Flink CDC 专题首发|每天 10 分钟,解锁新一代数据集成框架

Apache Flink

大数据 flink 实时计算

女朋友不懂Spring事务原理,今天给她讲清楚了!

Java spring 事务

SpringCloud 整合Gateway服务网关

Java Spring Cloud Gateway 服务网关

云原生数据库 | Data Infra 第 10 期

Databend

从反脆弱角度说一说:技术系统高可用性策略

Java 高可用

策略 | 通过 NFTScan 进行 NFT 投资组合的管理和信息追踪

NFT Research

NFT NFTScan

自学网络安全不知道这些,劝你提早放弃

喀拉峻

黑客 网络安全 自学

Rainbond的 Gateway API 插件制作实践

北京好雨科技有限公司

Kubernetes API Gateway rainbond

云端集成更便捷,得帆云iPaaS助力企业上云更成功!

得帆信息

平台 云产品

MobTech|场景唤醒的实现

MobTech袤博科技

CNStack 云边协同平台:实现原生边缘竟能如此简单

阿里巴巴云原生

阿里云 云原生 CNStack

MobTech|如何使用秒验

MobTech袤博科技

容量王者,超级电容容量为何这么大???

元器件秋姐

科普 汽车电子 元器件 新能源 电容

OceanBase发布全新Logo,寓意「流动的数据」

OceanBase 数据库

数据库 oceanbase

微前端架构的业务价值:实现独立部署、快速迭代和按需加载

FinFish

微前端 小程序容器 小程序化 微前端框架

海泰方圆出席首届工业和信息化领域商用密码应用峰会

电子信息发烧客

窗口管理器:Lasso 中文激活版

真大的脸盆

Mac Mac 软件 窗口管理 窗口管理工具

大厂直通车!GitHub独一份的Jenkins+k8s核心知识笔记(全彩版)

Java Kubernetes k8s jenkins

数禾科技 AI 模型服务 Serverless 容器化之旅

阿里巴巴云原生

阿里云 Serverless 云原生 Knative 容器化

CloudState:用于Knative/Kubernetes的开源无服务器框架_服务革新_Diogo Carleto_InfoQ精选文章