Good job, everyone! And thanks Guozhang for running the release!
-James > On Nov 1, 2017, at 7:27 AM, Guozhang Wang <wangg...@gmail.com> wrote: > > The Apache Kafka community is pleased to announce the release for Apache > Kafka 1.0.0. > > This is a major release of the Kafka project, and is no mere bump of the > version number. The Apache Kafka Project Management Committee has packed a > number of valuable enhancements into the release. Let me summarize a few of > them: > > ** Since its introduction in version 0.10, the Streams API has become > hugely popular among Kafka users, including the likes of Pinterest, > Rabobank, Zalando, and The New York Times. In 1.0, the the API continues to > evolve at a healthy pace. To begin with, the builder API has been improved > (KIP-120). A new API has been added to expose the state of active tasks at > runtime (KIP-130). Debuggability gets easier with enhancements to the > print() and writeAsText() methods (KIP-160). And if that’s not enough, > check out KIP-138 and KIP-161 too. For more on streams, check out the > Apache Kafka Streams documentation (https://kafka.apache.org/docu > mentation/streams/), including some helpful new tutorial videos. > > ** Operating Kafka at scale requires that the system remain observable, and > to make that easier, we’ve made a number of improvements to metrics. These > are too many to summarize without becoming tedious, but Connect metrics > have been significantly improved (KIP-196), a litany of new health check > metrics are now exposed (KIP-188), and we now have a global topic and > partition count (KIP-168). Check out KIP-164 and KIP-187 for even more. > > ** We now support Java 9, leading, among other things, to significantly > faster TLS and CRC32C implementations. Over-the-wire encryption will be > faster now, which will keep Kafka fast and compute costs low when > encryption is enabled. > > ** In keeping with the security theme, KIP-152 cleans up the error handling > on Simple Authentication Security Layer (SASL) authentication attempts. > Previously, some authentication error conditions were indistinguishable > from broker failures and were not logged in a clear way. This is cleaner > now. > > ** Kafka can now tolerate disk failures better. Historically, JBOD storage > configurations have not been recommended, but the architecture has > nevertheless been tempting: after all, why not rely on Kafka’s own > replication mechanism to protect against storage failure rather than using > RAID? With KIP-112, Kafka now handles disk failure more gracefully. A > single disk failure in a JBOD broker will not bring the entire broker down; > rather, the broker will continue serving any log files that remain on > functioning disks. > > ** Since release 0.11.0, the idempotent producer (which is the producer > used in the presence of a transaction, which of course is the producer we > use for exactly-once processing) required > max.in.flight.requests.per.connection > to be equal to one. As anyone who has written or tested a wire protocol can > attest, this put an upper bound on throughput. Thanks to KAFKA-5949, this > can now be as large as five, relaxing the throughput constraint quite a bit. > > > All of the changes in this release can be found in the release notes: > > https://dist.apache.org/repos/dist/release/kafka/1.0.0/RELEASE_NOTES.html > > > You can download the source release from: > > https://www.apache.org/dyn/closer.cgi?path=/kafka/1.0.0/kafka-1.0.0-src.tgz > > and binary releases from: > > https://www.apache.org/dyn/closer.cgi?path=/kafka/1.0.0/kafka_2.11-1.0.0.tgz > (Scala > 2.11) > https://www.apache.org/dyn/closer.cgi?path=/kafka/1.0.0/kafka_2.12-1.0.0.tgz > (Scala > 2.12) > > > ------------------------------------------------------------ > --------------------------------------- > > Apache Kafka is a distributed streaming platform with four four core APIs: > > ** The Producer API allows an application to publish a stream records to one > or more Kafka topics. > > ** The Consumer API allows an application to subscribe to one or more topics > and process the stream of records produced to them. > > ** The Streams API allows an application to act as a stream processor, > consuming > an input stream from one or more topics and producing an output stream to > one or more output topics, effectively transforming the input streams to > output streams. > > ** The Connector API allows building and running reusable producers or > consumers > that connect Kafka topics to existing applications or data systems. For > example, a connector to a relational database might capture every change to > a table.three key capabilities: > > > With these APIs, Kafka can be used for two broad classes of application: > > ** Building real-time streaming data pipelines that reliably get data between > systems or applications. > > ** Building real-time streaming applications that transform or react > to the streams > of data. > > > Apache Kafka is in use at large and small companies worldwide, including > Capital One, Goldman Sachs, ING, LinkedIn, Netflix, Pinterest, Rabobank, > Target, The New York Times, Uber, Yelp, and Zalando, among others. > > > A big thank you for the following 108 contributors to this release! > > Abhishek Mendhekar, Xi Hu, Andras Beni, Andrey Dyachkov, Andy Chambers, > Apurva Mehta, Armin Braun, Attila Kreiner, Balint Molnar, Bart De Vylder, > Ben Stopford, Bharat Viswanadham, Bill Bejeck, Boyang Chen, Bryan Baugher, > Colin P. Mccabe, Koen De Groote, Dale Peakall, Damian Guy, Dana Powers, > Dejan Stojadinović, Derrick Or, Dong Lin, Zhendong Liu, Dustin Cote, > Edoardo Comar, Eno Thereska, Erik Kringen, Erkan Unal, Evgeny Veretennikov, > Ewen Cheslack-Postava, Florian Hussonnois, Janek P, Gregor Uhlenheuer, > Guozhang Wang, Gwen Shapira, Hamidreza Afzali, Hao Chen, Jiefang He, Holden > Karau, Hooman Broujerdi, Hugo Louro, Ismael Juma, Jacek Laskowski, Jakub > Scholz, James Cheng, James Chien, Jan Burkhardt, Jason Gustafson, Jeff > Chao, Jeff Klukas, Jeff Widman, Jeremy Custenborder, Jeyhun Karimov, > Jiangjie Qin, Joel Dice, Joel Hamill, Jorge Quilcate Otoya, Kamal C, Kelvin > Rutt, Kevin Lu, Kevin Sweeney, Konstantine Karantasis, Perry Lee, Magnus > Edenhill, Manikumar Reddy, Manikumar Reddy O, Manjula Kumar, Mariam John, > Mario Molina, Matthias J. Sax, Max Zheng, Michael Andre Pearce, Michael > André Pearce, Michael G. Noll, Michal Borowiecki, Mickael Maison, Nick > Pillitteri, Oleg Prozorov, Onur Karaman, Paolo Patierno, Pranav Maniar, > Qihuang Zheng, Radai Rosenblatt, Alex Radzish, Rajini Sivaram, Randall > Hauch, Richard Yu, Robin Moffatt, Sean McCauliff, Sebastian Gavril, Siva > Santhalingam, Soenke Liebau, Stephane Maarek, Stephane Roset, Ted Yu, > Thibaud Chardonnens, Tom Bentley, Tommy Becker, Umesh Chaudhary, Vahid > Hashemian, Vladimír Kleštinec, Xavier Léauté, Xianyang Liu, Xin Li, Linhua > Xin > > > We welcome your help and feedback. For more information on how to report > problems, and to get involved, visit the project website at > http://kafka.apache.org/ > > > > > Thanks, > Guozhang Wang