TARS基金会发布了K8STARS项目

Wesley13
• 阅读 977

TARS基金会发布了K8STARS项目

云原生虽已被公认是新一代云计算发展方向,但若从应用程序的开发、测试、运行以及最后部署到云环境中的过程看,实现云原生业务要打通许多技术。

微服务通常被看做是云原生的代表技术之一,在单体应用中,云原生基本发挥不出优势,故而有人说现代应用程序的趋势就是“微服务+云原生”,以及内含在其中的容器、敏捷与 DevOps 等技术组合。互联网海量和多变的业务,正要求多种功能的同时实现,同样是要集合各种技术。

8 月 1 日,线上举办的 CloudNative + Open Source Virtual Summit China 2020,TARS 基金会分论坛上发布了 K8STARS 项目,这是一个整合了 K8S 和微服务框架 TARS 功能的项目,对于 TARS 项目本身来说,弥补了其自身的自动扩伸缩等能力,增强了其云原生特性。

放到云原生中来看,微服务架构应用系统后期会面临许多挑战,比如持续集成、持续交付、持续部署、监控、认证、授权以及快速配置计算资源等等,而 Kubernetes 提供如资源的调度、弹性伸缩、自动化部署等能力,是许多微服务在实施应用时不可或缺的。

正如这几日 TARS 基金会分论坛上 Linux 基金会执行董事 Jim Zemlin 在开场时

提到的:TARS 基金会致力于解决在使用微服务方面可能出现的问题,包括减少开发和服务治理的难度。而基金会中最主要的项目 TARS 也不仅仅只是一个 RPC 框架。

TARS 基金会成立于今年 3 月 10 日,是 Linux 基金会中微服务开源生态的代表。这次论坛上,TARS 基金会主席单致豪详细介绍了基金会目前的生态,并公布了近期加入 TARS 基金会的 4 个开源项目:测试相关的 TARS Benchmark 与 TARS JMeter,服务网关 TARS Gateway,以及重磅发布的云原生微服务治理方案 K8STARS。

HTTP 协议,后端同时支持 TARS-tup&TARS-TARS 协议、TARS-json 协议、HTTP 协议。除了协议转发之外,还支持流量控制与黑白名单等功能;TARS JMeter 是一款针对 TARS 协议进行私有化定制的 JMeter 测试插件,它具有易用性强、支持分布式、支持复杂场景与数据可监控等特点;TARS Benchmark 是专门为 TARS 服务量身订做的无码压测工具,具备易用性、高性能、可伸缩、支持动态随机和数据实时反馈的特性。

下边具体说说 K8STARS。

K8STARS:基于 K8S 与 TARS 的云原生微服务治理方案

微服务架构已然成为云原生中最核心的技术之一,TARS 结合 Kubernetes 带来的优势突破或让 TARS 这个微服务框架在云原生生态中更上一层楼,也将让 TARS 基金会覆盖更宽广的领域。

先介绍一下 K8STARS,简单来讲,K8STARS 是便于将 TARS 服务运行在 Kubernetes 中的解决方案,它的主要特性包括:

• 保持 TARS 原生的开发框架能力

• 支持 TARS 的名字服务自动注册和配置删除

• 支持原有 TARS 服务平滑迁移到 Kubernetes 等容器平台

• 无侵入性设计,与运行环境无偶合关系

腾讯高级工程师、TARSGo 核心开发者利开园在分享中更具体地分析了 K8STARS 解决方案。简单来说,K8STARS 保留了 TARS 的名字服务、高性能 RPC 及服务治理功能,整合了 K8S 的资源调度等能力,使得 TARS 具有更多的云原生特性。

微服务的理念下,使用容器作为基础设施,能够实现快速部署、快速迭代。而随着容器化技术兴起,Kubernetes 可以说已经成为基于容器的 DevOps+微服务+容器的黄金标准。整合 K8S 成为许多微服务框架完善功能的一个大方向。

利开园总结,业务规模增长会带来四大挑战:

• 随着用户流量增长,需要分布式架构,以及更高性能的缓存等;

• 为了满足高性能的要求,需要更多的研发人员以及更好的协调,这就需要通用的通信协议、多语言开发框架等;

• 随着服务器数量的增长,还有庞大数量的集群需要管理,此时需要机房故障时的自动解决方案;

• 最后服务进程数量暴涨,处理好并发的服务也是一个难点。

TARS 的主要能力是高效率开发,如代码自动生成、多语言、名字服务等等;高质量运维,如服务可视化、无损变更、配置管理与容灾容错等。“然而,在面对业务规模增长带来的技术挑战时,TARS 也有需要增强的地方。”

“TARS 可以使开发者专注业务逻辑,而不需要关心底层,但是 TARS 过去是没有自动扩伸缩能力的。”利开园介绍:“TARS 需要用到 K8S 的自动调度和自动扩缩容的能力。”

不过 TARS 和 K8S 存在许多重合的能力,想要整合并不简单。同时 K8S 生态中,Istio 是最热门的微服务解决方案,此时是不是直接放弃 TARS 转向 Istio 更好?

TARS基金会发布了K8STARS项目

中间部分为重合的能力

对比了 TARS 和 Istio 的优缺点之后,考虑到 TARS 服务迁移的成本,开发团队觉得有必要使用 TARS,将 TARS 改造成支持在 K8S 中调度的微服务解决方案。

TARS基金会发布了K8STARS项目

选型中考虑的 TARS 与 Istio 的情况

具体怎么整合呢?TARS 比 K8S 多出的能力包括高性能 RPC 框架、日志监控、调用链以及指标监控等服务治理能力;二者重合的功能有服务部署、版本管理等。整合首先要对重合功能做出取舍,因为 K8S 支持自动调度,基于 Docker 镜像可有更好的版本管理实现;而在名字服务部分,TARS 支持网关流量,发现单点故障时可快速屏蔽问题,配置管理也更适合在生产环境中使用。

TARS基金会发布了K8STARS项目

通过在 TARSregistry 增加了 3 个接口,用于 TARS 名字的自动注册/心跳上报和节点下线,同时提供一个 TarsCLI 命令行工具,用于分配端口/生成配置/上报心跳以及节点下线,最终整合出了 K8STARS 这一全新的解决方案,让 TARS 服务运行在 Kubernetes 上。

TARS基金会发布了K8STARS项目

具体细节可以查看项目说明与源码:https://github.com/TarsCloud/K8STARS

===

从 TARS 到 TARS 基金会到云原生微服务开源生态

前边提到,本次分论坛较为全面地对外介绍了成立于今年 3 月的 TARS 基金会的情况,这也是其首次分享其生态相关信息。

TARS基金会发布了K8STARS项目

作为基金会,发展的是生态而不是单一项目,TARS 基金会介绍其希望吸纳上下游的开源项目,以建立更好的微服务生态。包含但不限于基础设施、存储、开发框架、服务治理、DevOps 和基于任何编程语言的应用。具体来讲,目前基金会中已经有 30+ 项目,7 家成员组织,以及获得了覆盖游戏、视频直播、互联网工具、娱乐、交通、社交网络与金融等领域 100+ 家公司/企业的采用。

TARS基金会发布了K8STARS项目

此外,分论坛还有来自不同公司不同业务的技术专家分享了 TARS 在其各自领域上的具体应用情况,比如自腾讯的陈德贤、阅文的马延波与虎牙的毛茂德分享了各自业务中采用 TARS 进行微服务架构改造的情况;同时,TarsJava 技术负责人俞慧涛分享了阅文 TARS 的海外最佳实践;Arm 企业级架构师、TARS 技术监督委员会成员 Tina Tsou 分享了如何通过 Arm 架构和 Ampere Computing 支持 TARS 平台上的云原生工作负载加速;来自 Apache APISIX 的 TARS 技术监督委员会成员温铭强调了 API 网关在云原生体系中的重要性;最后腾讯 CSIG 高级测试专家鲁珺聊到了如何实现微服务性能评测。

从周边项目、开发者与社区成员的发展情况,从项目演进,到硬件架构扩展,再到应用实践以及性能测试等方面,TARS 基金会分论坛在此次云原生峰会中为开发者呈现了一个正在快速发展中的云原生微服务开源生态。

最后,或者这张生态全景图可以很好地勾勒出 TARS 基金会未来的发展全貌,当然,生态还在动态演进,具体会如何发展,是留给 TARS 基金会这一新生组织的一大问题,也是关注云原生微服务开源生态的开发者的一大期待。

TARS基金会发布了K8STARS项目


TARS基金会是Linux基金会下的非营利性、微服务基金会,致力于建设一个强大而灵活的微服务生态系统。无论你在哪个行业,无论你使用什么技术栈,这里能助你快速实现你的创意。

TARS基金会发布了K8STARS项目

TARS基金会发布了K8STARS项目


TARS基金会发布了K8STARS项目

TARS基金会发布了K8STARS项目

文章转载自TARS星球。点击这里阅读原文了解更多


TARS基金会发布了K8STARS项目

TARS基金会发布了K8STARS项目

TARS基金会发布了K8STARS项目 :****大会网站,https://cncf.lfasiallc.cn/

TARS基金会发布了K8STARS项目

扫描二维码联系我们!


CNCF (Cloud Native Computing Foundation)成立于2015年12月,隶属于Linux  Foundation,是非营利性组织。

_CNCF云原生计算基金会)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。请长按以下二维码进行关注。_

TARS基金会发布了K8STARS项目

本文分享自微信公众号 - CNCF(lf_cncf)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Peter20 Peter20
3年前
mysql中like用法
like的通配符有两种%(百分号):代表零个、一个或者多个字符。\(下划线):代表一个数字或者字符。1\.name以"李"开头wherenamelike'李%'2\.name中包含"云",“云”可以在任何位置wherenamelike'%云%'3\.第二个和第三个字符是0的值wheresalarylike'\00%'4\
Wesley13 Wesley13
2年前
2019 年 CNCF 中国云原生调查报告
!头图.jpg(https://ucc.alicdn.com/pic/developerecology/6db0c465111b4d9a96eb1ffe85c00e7a.jpg)中国72%的受访者生产中使用Kubernetes在CNCF,为更好地了解开源和云原生技术的使用,我们定期调查社区。这是第三次中国云原生调查,以中文进行
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这