云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

阿里云_如何连接数据库服务器_评分榜

小七 141 0

apachekafka是一个轻量级、快速和高度可伸缩的消息代理,它在应用程序之间传递数据。但自从LinkedIn公司的孵化期结束后的五年里,有一个功能让用户感到沮丧:无法确保卡夫卡链一端产生的每一条信息都在另一端成功提交。这就是所谓的一次交货,而且很难完成工作。但是现在Confluent Inc.的一个团队说,他们已经解决了这个问题,没有影响性能,也没有给开发人员带来太多的管理开销。这个解决方案被整合到最近发布的0.11版本的Kafka中。星期一在旧金山举行的卡夫卡峰会必然会讨论一个重要的议题。Kafka在分布式异步应用程序中用于将数据从生产者(如传感器)传输到目的地或消费者,并将其提交到数据库或事务日志中。分布式异步环境的问题是,事情可能会中断。在一个完美的世界里,消费者在交易完成后会向生产者承认交易。但是,如果出了问题,而且没有收到确认,生产者就无法知道数据是否成功传输。安全路线Kafka最初的开发者选择了安全的方式,并支持"至少一次交付",这意味着如果制作人没有得到确认,它会重新发送消息直到它收到。这种方法的好处是可以确保数据不会丢失。缺点是,它可能会创建重复的消息,这会影响性能,甚至会导致应用程序崩溃,如果它们没有被写入来处理重复。"在分布式系统中,这是一个很难解决的问题,"Confluent联合创始人兼首席技术官Neha Narkhede(如图)说到目前为止,您必须在两个选项中做出选择—构建一个能够处理两次消息的应用程序,或者冒着消息可能根本无法处理的风险。"这个问题很难解决,以至于有人建议甚至不可能做到一次送达。但Confluent现在认为它已经破解了密码。Narkhede在一篇详细的博客文章中记录了它的解决方案,它由两部分组成。借用TCP技术来确保数据包的传递,开发人员想出了一种方法,为另一端经过重复数据消除的每条消息分配一个唯一的序列号。与TCP不同,序列号被提交到任何代理都可以读取的Kafka日志中。激活此功能就像轻触程序开关一样简单,尽管在消费者应用程序端需要进行一些修改。解决方案的第二部分是创建一个支持跨多个分区的原子写入的应用程序接口。"原子性保证了所有的消息对消费者都是可见的,或者说没有一条是可见的。如果所有消息都可见,则成功接收并提交数据。彻底测试解决方案经过了三个月的公众审查和评论。开发人员制作了一份详细的设计文档,并根据15000行测试代码对他们的解决方案进行了基准测试,这些代码模拟了几乎所有可能的故障场景。Narkhede说,到目前为止,一次性解决方案仍然有效,事实证明对性能几乎没有影响。在一个所有经纪人都有相同看法的闭环系统中,"这就像神奇的小精灵灰尘,"她说使用API的开放式系统需要更多的调整,但可以利用相同的交付保证。"解决这个问题会带来很多新的应用,"Narkhede说,他将在周一的卡夫卡峰会开幕式上发表开幕式主题演讲。例如,信用卡处理器只需要一次语义,以确保只处理一次费用。广告技术公司需要确保点击率准确的能力。在Kafka中只有一次语义,现在他们有了一个开源的选择。资料图:推特既然你来了…点击订阅我们的YouTube频道(见下文),显示您对我们使命的支持。我们的订户越多,YouTube就越会向你推荐相关的企业和新兴技术内容。谢谢!支持我们的使命:>>>>>立即订阅我们的YouTube频道。……我们还想告诉你我们的使命,以及你如何帮助我们完成它。SiliconANGLE Media Inc.的商业模式是基于内容的内在价值,而不是广告。与许多在线出版物不同的是,我们没有付费墙或横幅广告,因为我们想让我们的新闻保持开放,不受影响,也不需要追逐交通。那个新闻、报道和评论SiliconANGLE——以及现场报道,我们的硅谷工作室和cube环球巡演的视频团队提供的未经剪辑的视频需要大量的辛勤工作、时间和金钱。保持高质量需要赞助商的支持,他们与我们的无广告新闻内容的愿景一致。如果你喜欢这里的报道,视频采访和其他无广告内容,请花点时间看看我们的赞助商支持的视频内容样本,在推特上表达你的支持,然后继续回到SiliconANGLE。