流数据传输平台的未来之星:Apache Pulsar

开发交流
收藏
1 1005
Sunny912
一辉 未认证 2019-06-12 10:04:48
付费话题:0 积分

       Apache Pulsar 是 2016 年 yahoo 开源的下一代大规模分布式消息系统,目前已经加入 Apache 基金会。在 Yahoo 的生产环境中大规模部署并使用了近 4 年,服务于 Mail、Finance、Sports、Flickr、the Gemini Ads platform、Sherpa 以及 Yahoo 的 KV 存储等,在 Yahoo 全球 8 个数据中心之间维护了全联通的复制,并支持了 200 多万个 Topics。

       Apache Pulsar 有几个明显区别于其他消息系统的特点:

 1)优秀的数据持久性和顺序性。每一条消息都提供了全局唯一的 ID,多副本,并都是在实时刷盘后再返回给用户。

 2)统一的消费模型: 支持 Stream (如 Kafka )和 Queue (如 RabbitMQ )两种消费模型, 支持 exclusive、failover 和 shared 三种消费模式。

 3)灵活的扩展性: 节点扩展的线性和瞬时完成,在扩展中不会有数据的拷贝和迁移。

 4)高吞吐低延迟,在实时刷盘的前提下,依然提供了高带宽( 180 万 messages/ 秒)和低延迟( 5ms at 99%)。 

       当然最让Pulsar具有吸引力的是它的多租户特性,尤其是在云计算领域,目前基本是独一份。 

       Apache Pulsar作为一种企业级的消息系统,Pulsar的多租户能力按照设计可满足下列需求:

 1)可以满足严苛的SLA要求。

 2)保证不同租户之间的隔离。

 3)针对资源利用率强制实施配额。

 4)提供每租户和系统级的安全性。

 5)确保低成本运维以及尽可能简单的管理。

        Apache Pulsar从设计之初就是为了支持多租户,因此主题可按照与多租户有关的两个资源进行组织:租户(Tenant)和命名空间(Namespace)。租户可以配置多个命名空间,每个命名空间可包含任意数量个主题。命名空间是Pulsar中每个租户最基本的管理单位,用户可针对命名空间设置ACL,调整副本数目设置,管理跨集群的消息数据多地域复制,控制消息的过期,并执行其他重要的运维操作。 

       为了顺利实现多租户能力,首先需要确保每个租户只能访问自己有权访问的主题,不能访问自己本不应看到或访问的主题。这是通过一种插拔式的身份验证和授权机制实现的。在Apache Pulsar中,当客户端连接到消息Broker后,Broker会使用身份验证插件为该客户端创建身份,随后(可能)为该客户端分配角色令牌。该角色令牌是一个字符串,例如admin或application-1,可代表一个或多个客户端。角色令牌可用于控制客户端针对特定主题进行生产或消费操作的权限,并可用于管理租户资产的配置。

       目前国内已经多家互联网大中型企业开始应用Apache Pulsar,从我们调研分析来看,Apache Pulsar将会是大数据流传输平台的未来之星,从他们发布的规划路线来看,野心不小,不是简单定位为一个消息系统,而是定位成为一个大数据流处理平台,目前的功能已经超越了一个消息系统,可以称之为大数据流传输平台,离流处理平台尚有一定差距。在很多领域尤其是在云计算方面将会逐步替代Kafka。

       赛博坦平台正在持续跟踪这些新平台的技术发展,尤其看好Pulsar+Flink组合,正在逐步引入这对黄金搭档,为用户带来多租户,高性能,简单易用的安全分析开发平台 ,能够帮助用户在云计算领域大展身手。 

回帖
  • Ethan
    2019-06-12 17:37:06

    Pulsar+Flink,赛博坦平台的灵活性正体现在中小环境的适应性和复杂大环境的适应 

    0 回复