加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 综合聚焦 > 移动互联 > 评测 > 正文

2019年非常受欢迎的9个超级云原生开源项目

发布时间:2019-09-11 22:45:03 所属栏目:评测 来源:ArthurGuo
导读:副标题#e# 使用容器吗?来熟悉一下云原生计算基金会上的这些项目。 随着使用容器开发应用程序的实践越来越流行,云本地应用程序也在不断增加。根据定义: 云原生技术用于开发应用程序,这些应用程序使用封装在容器中的服务构建,部署为微服务,并通过敏捷的

了解 Prometheus 最简单的方法是设想一个生产系统,它需要每天 24 小时,每年 365 天工作。没有一个系统是完美的,也有一些技术可以减少故障(称为容错系统)。但是,如果出现问题,最重要的是尽快识别它。这就是 Prometheus 这样的监控工具的用武之地。Prometheus 不仅仅是一个容器监控工具,它在云原生应用程序公司中很受欢迎。此外,其它开源监控工具,包括 Grafana,可以对接 Prometheus。

开始 Prometheus 最好的办法是访问它的 GitHub 代码仓库,本地运行 Prometheus 是很容易的,但是必须提前有一个容器引擎。用户可以在 Prometheus 的官网获取更详细文档。

3、Envoy

Envoy(或 Envoy Proxy)是一个开源的边缘和服务代理。由 LyFT 创建的 Envoy 是一个由 C++ 编写的,高性能,分布式代理,专为单一服务和应用而设计,以及为大型微服务网格体系结构设计的通信总线和通用数据平面。基于对 Nginx、HAProxy、硬件负载均衡器和云负载均衡器等解决方案的学习,Envoy 与每个应用程序一起运行,并通过以平台无感知的方式提供公共特性来抽象网络。

当一个基础设施中的所有服务流量都通过一个 Envoy mesh 流动时,通过一致的可观测性,调整整体性能,并在一个地方添加底层特性,就可以很容易地观察问题区域。基本上,Envoy Proxy 是一个 Service Mesh 工具,帮助组织为生产环境构建容错系统。

ServiceMesh 应用程序有许多替代方案,例如 Uber 的 Linkerd(下面讨论)和 Isito。Istio 通过部署为 Sidecar 并利用 Mixer 配置模型来扩展 Envoy Proxy。Envoy 的显著特点是:

  • 包含所有该支持的功能(当搭配控制平面,如 Istio 的时候)
  • 在负载情况下消耗资源量很低
  • 在其核心处充当 L3/L4 过滤,并且可以提供许多不可思议的 L7 过滤
  • 支持 GRPC 和 HTTP/2(上游/下游)
  • 它是 API 驱动的,支持动态配置和热重加载
  • 重点关注度量收集、跟踪和整体可观测性

想要了解 Envoy 更多,发挥它的能力,并实现其全部优势,用户需要在运行生产级环境方面有丰富的经验。访问 Envoy 的 GitHub 代码仓库,阅读文档,用户可以了解更详细信息。

二、“孵化”阶段项目

下面是六个非常受欢迎的开源 CNCF 孵化项目

1、rkt

rkt,发音为“rocket”,是一种 pod-native 引擎。它有一个命令行界面(cli),用于在 Linux 上运行容器。在某种意义上,它类似于其他容器,如:Podman、Docker 和 CRI-O。

rkt 最初是由 CoreOS 开发的(后来被 Red Hat 收购),您可以在其网站上找到详细的文档并访问 Github 上的源代码。

2、Jaeger

Jaeger 是一个开源、端到端的分布式跟踪系统,用于云原生应用程序。在某种程度上,它是 Prometheus 这样的监控解决方案。但是它是不同的,因为它的用例扩展到:

  • 分布式事务监视
  • 性能和延迟优化
  • 根本原因分析
  • 服务依赖性分析
  • 分布式上下文传播

Jaeger 是一种由 Uber 构建的开源技术。您可以在其网站上找到详细的文档,并在 GitHub 上找到其源代码。

3、Linkerd

与 Envoy Proxy 的 Lyft 一样,Uber 将 Linkerd 开发为一个开源解决方案,以将其服务保持在生产级别。在某些方面,Linkerd 就像 Envoy 一样,因为两者都是 Service Mesh 工具,用以在不需要配置或代码更改的情况下提供平台范围的可观测性、可靠性和安全性。

然而,两者之间有一些细微的差别。虽然 Envoy 和 Linkerd 作为代理,可以在连接的服务上报告,但 Envoy 并不像 Linkerd 那样被设计成 Kubernetes 入口控制器。Linkerd 的显著特点包括:

  • 支持多种平台(Docker、Kubernetes、DC/OS、Amazon ECS 或任何单机)
  • 用于统一多个系统的内置服务发现抽象
  • 支持 GRPC、HTTP/2 和 HTTP/1.x 请求以及所有 TCP 通信 

您可以在 Linkerd 的网站上阅读更多关于它的信息,并在 GitHub 上访问它的源代码。

4、Helm

Helm 基本上是 Kubernetes 的包管理器。如果您使用过 ApacheMaven、MavenNexus 或类似的服务,您将了解 Helm 的目的。Helm 帮助您管理 Kubernetes 应用程序。它使用“helm charts”定义、安装和升级最复杂的 Kubernetes 应用程序。Helm 并不是实现这一点的唯一方法;另一个流行的概念是 KubernetesOperators,它由 RedHat Openshift4 使用。

您可以按照文档中的快速入门指南(https://github.com/helm/helm)或 Github 指南来尝试 Helm。

5、Etcd

Etcd 是一个分布式的、可靠的键值对数据存储,用于存储分布式系统中最关键的数据。其主要特点是:

  • 定义明确、面向用户的 API(gRPC)
  • 具有可选客户端证书身份验证的自动 TLS
  • 速度(以每秒 10000 次写入为基准)
  • 可靠性(采用 Raft 分布式)

Etcd 被用作 Kubernetes 和许多其他技术的内置默认数据存储。也就是说,它很少独立运行或作为单独的服务运行;相反,它使用集成到 Kubernetes、OKD/OpenShift 或其他服务中的服务。还有一个 Etcd 运营商来管理其生命周期并解锁其 API 管理功能:

您可以在 ETCD 的文档中了解更多信息,并在 Github 上访问其源代码。

6、CRI-O

CRI-O 是一个开放容器联盟(OCI)兼容的 Kubernetes 运行时接口的实现。CRI-O 用于各种功能,包括:

  • 运行时使用 runc(或任何 OCI 运行时规范实现)和 OCI 运行时工具
  • 使用容器/图像进行图像管理
  • 使用容器/存储器存储和管理图像层
  • 通过容器网络接口(CNI)提供网络支持

CRI-O 提供了大量文档,包括指南、教程、文章甚至播客,您还可以访问其 Github 页面(https://github.com/cri-o/cri-o)。

原文链接:

https://opensource.com/article/19/8/cloud-native-projects

译者介绍:

ArthurGuo 职场老司机。21 世纪初开始拥抱开源,后转型项目管理。现在某云计算公司担任技术总监。掌握多门计算机语言,但更擅长人类语言。爱玩文字,不喜毒舌。

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读