写点什么

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

发布了 563 篇内容, 共 404.4 次阅读, 收获喜欢 727 次。

关注

评论 1 条评论

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

抢开盘、抢土狗、批量抢买、卖出机器人工具使用说明

区块链技术

java线程池原理浅析

京东科技开发者

百度智能云千帆,产业创新新引擎

百度Geek说

AI 百度智能云 千帆大模型平台

solana链土狗抢单机器人

区块链技术

独立站如何做好移动端的优化处理呢?

技术冰糖葫芦

API 接口

《自动机理论、语言和计算导论》阅读笔记:p49-p67

codists

编译原理

XPath攻略:从入门到精通,元素查找不再难

霍格沃兹测试开发学社

IO模型介绍(select、poll、epoll)

京东科技开发者

【京东云新品发布月刊】2024年3月产品动态

京东科技开发者

XPath攻略:从入门到精通,告别查找困难!

测试人

软件测试

京东商品列表数据接口

tbapi

京东 京东API接口 京东商品列表数据接口

咸鱼翻身啦!咸鱼之王完美内购版架设教程

echeverra

咸鱼之王

ChatGPT与传统搜索引擎的区别:智能对话与关键词匹配的差异

天津汇柏科技有限公司

搜索引擎; ChatGPT

大模型时代下的“金融业生物识别安全挑战”机遇

中关村科金

安全 金融 防伪 生物识别

火山引擎发布ByteHouse性能白皮书,揭秘OLAP性能突破的关键技术

字节跳动数据平台

数据库 大数据 云原生 数仓 企业号 3 月 PK 榜

2024南京国际自动驾驶技术展览会

AIOTE智博会

自动驾驶展 智能驾驶展

MappedByteBuffer VS FileChannel:从内核层面对比两者的性能差异

bin的技术小屋

jdk Linux Kenel FileChannel mmap内存映射

助力水下潜行:浮力调节系统仿真

DevOps和数字孪生

【论文速读】| 越狱:大语言模型安全训练是如何失败的?

云起无垠

展示大屏-24小时天气预报

叫练

发掘非结构化数据价值:AI 在文档理解领域的现状与未来

Baihai IDP

程序员 AI 非结构化数据 白海科技

大型IM工程重构实践:企业微信Android端的重构之路

JackJiang

即时通讯;IM;网络编程

"线程池中线程异常后:销毁还是复用?"

京东科技开发者

Python数据库编程全指南SQLite和MySQL实践

华为云开发者联盟

Python MySQL 开发 华为云 华为云开发者联盟

AI能代替软件工程师吗?

小魏写代码

网络空间测绘系统的商业应用

郑州埃文科技

网络空间测绘技术

探索华为云CCE敏捷版金融级高可用方案实践案例

华为云开发者联盟

开发 华为云 容器集群 华为云开发者联盟 华为云CCE

火山引擎VeDI:A/B测试开放平台正式上线,企业个性化平台一键定制

字节跳动数据平台

大数据 A/B测试 企业号 3 月 PK 榜 对比试验 数字化增长

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