云上kafka和自建kafka对比
说起Kafka,许多使用者对它是又爱又恨。Kafka是一种分布式的、基于发布/订阅的消息系统,其极致体验让人欲罢不能,但操心的运维、复杂的安全策略、可靠性易用性的缺失、算不上极致的性能发挥、并不丰富的消息服务功能,仍需要使用者付出诸多的背后工作。即使你是Kafka老手,也难免会有上述同样的烦恼。
与其整日操心Kafka的部署,不如试试云上Kafka带给你的惊喜?目前国内主流的云服务厂商均提供了云上的Kafka服务,为应用系统提供异步的消息队列服务。通过高可用的消息缓冲队列,实现应用解耦、突发流量处理及与第三方的互通和集成,具有大规模、高可靠、高并发访问、可扩展且完全托管的特点。比如分布式消息服务DMS,帮助云端的应用程序组件去耦合,具有很高的成本效益。DMS拥抱开源,提供支持兼容开源Kafka接口,用户可无缝迁移,按需使用。
DMS优势
全面兼容Kafka 提升效率
- 兼容开源
 
业务系统基于开源的Kafka进行开发,只需加入少量认证安全配置,即可使用DMS的Kafka队列,做到无缝迁移。
- 消息互通
 
支持消息多通道,DMS接口可对Kafka队列进行消息收发,也可用开源Kafka client进行消息收发。
- 安全保证
 
独有的安全加固体系,提供业务操作可回溯,消息存储加密及租户间有效隔离等有效安全措施。
高可靠及可用无忧运维
- 数据高可靠
 
消息持久化,多副本存储。
- 服务高可用
 
后台多集群部署,支持故障自动迁移和容错,保证用户关键业务的可靠运行。
- 无忧运维
 
提供一整套完整的监控告警等运维服务,故障自动发现和告警,避免7*24小时人工值守。
核心特性
- 细粒度灵活控制
 
DMS支持RBAC(基于角色访问控制)和PBAC(基于策略访问控制)两种访问控制模式,从而提供更加安全灵活的访问策略。可以实现消息队列粒度和API调用动作的安全策略访问控制,结合华为云的IAM服务,可以满足用户几乎所有对消息服务使用的安全要求。
- 多协议的访问
 
DMS提供多种协议接入方式,包括1)HTTP 符合REST规范标准的接入,支持多种语言接入使用,并支持云内及云外访问。2)基于TCP的简单SDK方式,提供更加高性能的访问接口;另外,还提供兼容开源Kafka的开放接口,能够更好地帮助用户把使用Kafka的应用快速上云。
- 分布式可靠集群和海量队列能力
 
内建的分布式集群技术,使得服务具有高度扩展性;无限扩展的队列数量和可扩展的高性能机制,保证在高并发、高性能和大规模场景下的访问能力,轻松实现百亿级消息的堆积和访问能力。内建消息冗余存储,保证消息存储的可靠性,有效避免服务节点故障。
- 死信管理
 
死信是在消费环节为用户提供一种不能正常处理消息时的可选方案,防止因个别消息不正常导致后续消息都不能被消费,造成业务阻塞。DMS为用户提供可视化死信开关和参数配置,并提供API接口。在不开启死信队列功能时,对于确认失败或超时的消息,系统会进行回滚并重投递。无论是否开启死信功能,DMS服务都会保证消息不丢失。
- 自定义消息功能
 
DMS除提供消息队列的核心功能外,还提供额外的增强能力,为用户提供高收益、低成本的极具性价比的消息服务。消息消费重置允许用户设置任一可消费的时间点控制向前或向后消费进度,提高消费的灵活性;基于消息标签的消息过滤可实现选择性地消费包含指定标签的消息;支持消息属性,每条消息上都可以设置不同的属性。
- 无忧运维
 
消息服务是云原生服务,整个消息服务的运维对用户透明。用户无需关心后台运维情况,只需关注自身涉及的消息队列指标,支持对入队消息数、请求数、已经消费的消息数、消息堆积数量等情况的监控,并支持配置告警规则,用户可以在第一时间通过短信、邮件等获得业务消息队列的运行使用和负载状态。
适用场景
- 业务解耦
 
将业务中依赖其他系统同时属于非核心或不重要的部分使用消息服务,无需同步等待其他系统的处理结果。如电商网站获取用户订单后,信息放入消息队列,会从队列里读取出库、发货任务信息然后执行。
- 最终一致性
 
用于两个系统的状态最终保持一致,或都成功或都失败。如用于交易系统的高可靠数据传递,实现跨系统的事务最终一致,降低实现难度和成本;如预定门票及软件打车。
- 错峰流控
 
上下游系统处理能力有差异时,可以使用消息服务转储系统之间的通信数据,提供消息堆积缓冲能力,在下游系统有能力处理消息的时候再处理,减少拥塞、系统崩溃等问题,提高系统的可用性,降低复杂性。如高峰时段的注册、抢购、预约等。
- 日志同步
 
应用通过可靠异步方式将日志消息同步到消息服务,再通过其他组件对日志做实时或离线分析,也可用于关键日志信息收集,进行应用监控。如注册时用户填写的个人信息等。
云上kafka和自建kafka对比的更多相关文章
- 云计算之路-阿里云上-容器难容:自建docker swarm集群遭遇无法解决的问题
		
我们从今年6月开始在生产环境进行 docker 容器化部署,将已经迁移至 ASP.NET Core 的站点部署到 docker swarm 集群上.开始我们选用的阿里云容器服务,但是在使用过程中我们遭 ...
 - Storm实战:在云上搭建大规模实时数据流处理系统(Storm+Kafka)
		
在大数据时代,数据规模变得越来越大.由于数据的增长速度和非结构化的特性,常用的软硬件工具已无法在用户可容忍的时间内对数据进行采集.管理和处理.本文主要介绍如何在阿里云上使用Kafka和Storm搭建大 ...
 - Tencent Cloud 腾讯云上部署 EMR Cluster + Kafka + Confluent (Schema-Registry)
		
腾讯云上有些操作比起 Amazon AWS 还是很方便的, 尤其部署EMR Cluster,下面详细介绍步骤:
 - kafka与传统的消息中间件对比
		
RabbitMQ和kafka从几个角度简单的对比 业界对于消息的传递有多种方案和产品,本文就比较有代表性的两个MQ(rabbitMQ,kafka)进行阐述和做简单的对比, 在应用场景方面, Rabbi ...
 - scribe、chukwa、kafka、flume日志系统对比
		
scribe.chukwa.kafka.flume日志系统对比 1. 背景介绍许多公司的平台每天会产生大量的日志(一般为流式数据,如,搜索引擎的pv,查询等),处理 这些日志需要特定的日志系统,一 ...
 - 从运维的角度分析使用阿里云数据库RDS的必要性--你不应该在阿里云上使用自建的MySQL/SQL Server/Oracle/PostgreSQL数据库
		
开宗明义,你不应该在阿里云上使用自建的MySQL or SQL Server数据库,对了,还有Oracle or PostgreSQL数据库. 云数据库 RDS(Relational Database ...
 - 云计算之路-阿里云上-容器难容:容器服务故障以及自建 docker swarm 集群故障
		
3月21日,由于使用阿里云服务器自建 docker swarm 集群的不稳定,我们将自建 docker swarm 集群上的所有应用切换阿里云容器服务 swarm 版(非swarm mode). 3月 ...
 - 云上建站快速入门:博客、论坛、CMS、电子商务网站统统搞定
		
现在制作一个网站已经越来越容易了,只要知道清晰的流程之后都是可以很快的建好一个企业或者个人网站的!免费的建站程序很多,下面听哥给你亮出来,建站一般来说分主要有这四步:申请域名.申请虚拟主机.制作网页, ...
 - Kafka学习笔记之Kafka High Availability(上)
		
0x00 摘要 Kafka在0.8以前的版本中,并不提供High Availablity机制,一旦一个或多个Broker宕机,则宕机期间其上所有Partition都无法继续提供服务.若该Broker永 ...
 
随机推荐
- 关于FLASK WEB开发8d 数据库迁移的问题
			
首先, 第一步,要删除data-dev.sqlite这个数据库 第二步,进行下面的重建 暂时的解决办法是: python manage.py shell In [2]: from app import ...
 - Android基础TOP5_4:点击按钮更换样式,设置透明度
			
在res/drawable创建两个样式 点击前/点击后 round: <?xml version="1.0" encoding="utf-8"?> ...
 - 百度AI车牌识别测试
			
测试背景 百度已发布诸多AI应用,其中包含车牌识别,免费使用量是200次/日.付费的话,按月调用次数在20万次到50万次之间,每日10000次,月费用为0.0035*300000=1050元. 详见: ...
 - 项目经验——Sql server 数据库的备份和还原____还原数据库提示“介质集有2个介质簇,但只提供了1个。必须提供所有成员” .
			
在对数据库备份与还原的过程中,我遇到一个问题“介质集有2个介质簇,但只提供了1个.必须提供所有成员”,下面详细的介绍一下遇到问题的经过与问题解决的方法! 一.备份与还原遇到的问题描述与解决方法: 前两 ...
 - HDU_1232_畅通工程
			
Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道 ...
 - KM算法(Kuhn-Munkres)
			
算法理论基础: 可行顶点标号 用l(v)表示顶点v的标号,w(uv)表示边(u,v)的权,对于赋权二分图G=(X,Y),若对每条边e=xy,均有l(x)+l(y)>=w(xy),则称这个标号为G ...
 - blender--(凹凸贴图)................https://jingyan.baidu.com/article/9f63fb917c4becc8400f0ea8.html
			
在blender中直接绘制模型凹凸纹理细节 听语音 | 浏览:32 | 更新:2018-02-20 11:18 1 2 3 4 5 6 7 分步阅读 在blender中为了表现更多的模型细节,我们会常 ...
 - (转载)不错的CSS写法
			
根据微信订阅号“设计达人”推送的文章,学到了如题知识.个人尝试了一下,感觉还不错.原文链接:http://mp.weixin.qq.com/s/g9TyBwB9xIi45TGwTBOLSQ. 字体 从 ...
 - 洛谷——P3811 【模板】乘法逆元
			
P3811 [模板]乘法逆元 线性求逆元 逆元定义:若$a*x\equiv1 (\bmod {b})$,且$a$与$b$互质,那么我们就能定义: $x$为$a$的逆元,记为$a^{-1}$,所以我们也 ...
 - FileInputStream实现读取文件内容并输出到屏幕上
			
java输入输出流是站在程序的角度来说的.从文件中读取数据用输入流,向文件中写数据用输出流. package com.janson.day20180827; import java.io.FileIn ...