0.10 支持流处理功能,同时将 consume 的 offset 移到默认 topic 里
1.0.0 stream 能力增强
2017 年 8 月 5 日 Kafka 发布 0.11 版本支持 exactly-once,增强了事务处理能力

2017 年 8 月 LinkedIn 开源 Kafka Cruise Control,提供自动化运维功能
2017 年 8 月 28 日 Confluent 宣布开源 KSQL,用于 Kafka 的流数据 SQL 引擎
2017 年 11 月 3 日 Kafka 宣布 1.0.0 发布
Kafka 使用场景最大的变化:最早大家主要用 Kafka 做些日志处理系统,后来主要应用在消息队列系统,近两年随着 Kafka stream 方面处理能力增强,逐渐转变成轻量级的流处理平台。
业务架构梳理 我们梳理出了很多潜在的问题,比如早期的系统里有很多双向调用,也有很多随意使用资源,还有很多引起读放大或者写放大的代码,还有很多不合理的调用关系栈,对业务系统有个比较清晰的架构。同时也在调用链路上发现一些问题。
服务/资源拆分 早期主要业务系统是一个整体式架构,核心业务调用链上只使用了一个,缓存使用也是集中在几个主要的缓存集群中,因此我们做了很多资源和服务拆分,分散压力
重要服务代码重构 相应的主要业务模块拆分成单独服务,做好对资源的抽象,为了应对较大的压力,我们实现了一个简单的多级缓存框架,所有代码重构项目都使用了这个多级缓存框架,保证业务系统的处理能力
压力测试 压力测试分两部分,一部分是功能上线前由开发工程师进行相应的压力测试,如果有问题通过 Go 语言相应工具进行分析,提高到一定标准后才能上线发布。另一部分是由阿里云 PTS 团队提供的全链路压力测试,我们在 3 个月时间内进行了 18 轮全链路压力测试,覆盖到得到主要接口(接近 200 个接口,覆盖率接近 50%)。通过单个服务的压力测试,我们解决了单个服务的性能问题,通过全链路压力测试,我们解决了调用链路引起的问题。经过 18 轮压力测试后,系统负载能力提升 25 倍以上,为跨年作好准备。
API 网关 即使我们做了前面所述的业务拆分,服务拆分和重构,我们也不能保证系统 100% 不出问题,特别是那些没重构的系统。毕竟系统的负载能力取决于最短板。我们解决这个问题的方法是引入 API 网关。我们在 9 月份的时候,引入 API 网关,跨年前对一些可能出问题的接口做了对应的限流策略。
提问:据了解得到在跨年前夕做了重要的重构,简单介绍下这次重构的背景及成效吗?方圆:重构背景其实也比较简单,去年 8 月 31 日,得到第二次产品发布会在深圳卫视和多个视频网站播出,带来的流量是平时早晚高峰的 4 倍左右,导致一次大故障。因此从 9 月份开始,我们集中一部分开发力量重构了 10 多个重要的业务模块。在重构的过程中,主要考虑以下几点来优化性能问题:
严格控制资源(,缓存)使用 早期服务对资源使用很随意,有很多引起读/写放大的代码,因此新系统严格控制对资源的使用
保证非核心业务数据可以自动降级 对非核心业务进行自动调用降级,但是因为我们使用 Go 语言的原因,尚未做熔断机制,这也是我们 18 年确定的落地目标之一。
保证核心链路稳定 对于跨年的核心链路来说,比如收听,购买,拉新,兑换,我们保证核心链路不被非核心链路影响。
对写入进行削峰处理和异步化 对于购买流程来说,我们部分做了异步化,对于非购买相关的业务流程,我们通过 MQ 进行了削峰和处理。效果还是很明显,削峰和合并写入之后,相关 IOPS 降低一个数量级。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-61315-2.html
不过这个混乱本来就是美国人制造的
靠上市变成亿万富翁多得去了