写点什么

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:001976
用户头像

发布了 527 篇内容, 共 369.9 次阅读, 收获喜欢 712 次。

关注

评论 1 条评论

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

NCH Switch Plus mac版:音频转换工具

Rose

全能音频格式转换 Switch Plus NCH 软件 NCH Switch Plus mac版

肝完阿里最新Java并发编程全优笔记,我成功晋升公司架构组

程序员小毕

Java 源码 程序员 面试 并发编程

限失真信源编码

timerring

限失真信源编码

单机最快的队列Disruptor解析和使用

小小怪下士

MySQL 索引常见问题汇总,一次性梳理

Java MySQL 数据库 索引

Alfred 教程:如何在 Mac 之间同步 Alfred 设置?

Rose

Alfred 5 苹果效率工具 Alfred 教程 Mac 之间同步 Alfred

业务防资损,质量保障的第一要务!

老张

业务价值 交付质量 防资损

大咖直播专场 | 当人工智能遇到数据库

KaiwuDB

KaiwuDB DB4AI AI4DB

高新技术产业包括哪些?拥有高新企业证书说明什么?

行云管家

高新企业 高新技术 高新

Meetup 回顾|Data Infra 研究社第十期(含资料发布)

Databend

MySQL 驱动中虚引用 GC 耗时优化与源码分析

PPPHUANG

MySQL 性能优化 JVM

深入理解MySQL索引底层数据结构

京东科技开发者

MySQL 京东云 京东技术 企业号 4 月 PK 榜

好用的图片管理器:ImageRanger Pro Edition激活版

真大的脸盆

图片管理器 图片管理 管理图片 图片处理工具

架构师日记-如何写的一手好代码

京东科技开发者

代码质量 代码 京东云 企业号 4 月 PK 榜

MarsEdit for Mac 快速方便的博客编辑器

Rose

mac软件下载 MarsEdit下载 博客写作软件

2023年郑州市等级保护测评机构名单汇总

行云管家

等保 郑州 等保测评机构

JSF预热功能的实践与探索

京东科技开发者

京东云 jsf 企业号 4 月 PK 榜

适用于所有 Mac 的温度监控、风扇控制和诊断:TG Pro

Rose

Mac硬件温度检测 TG Pro for mac 苹果软件资源站 macw软件站

生物计算大模型技术在药物研发领域的应用

百度开发者中心

人工智能 文心 ERNIE 生物医药

新一代分布式任务调度框架

程序员大彬

Java 面试

Spring Boot+Nacos+gRPC,一个区别于 OpenFeign 的微服务通信方案!

江南一点雨

gRPC nacos springboot

微前端架构:将应用拆分为多个小型模块,实现模块化设计

没有用户名丶

小程序容器

One Switch:Mac上一个集合一键切换系统各项功能的神奇菜单

Rose

Mac软件 苹果软件下载 One Switch Mac资源站

GPT会上网了,ChatGPT插件的原理揭秘

Apifox

人工智能 程序员 OpenAPI openai ChatGPT

云计算时代前端如何保证开源代码的安全性

京东科技开发者

前端 安全 京东云 京东科技 企业号 4 月 PK 榜

首届“兴智杯”产业赛收官,文心大模型助推产业创新

飞桨PaddlePaddle

人工智能 深度学习 飞桨 产业赋能

面试官:聊一聊Spring中Bean的作用域

Java spring bean

负载均衡算法的实现

王玉川

c++ 负载均衡 高可用 高并发 一致性哈希

基于ArkUI框架开发-ImageKnife渲染层重构

OpenHarmony开发者

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