Coding Blocks
Well, this is awkward. Coding Blocks is signing out for now, in this episode we’ll talk about what’s happening and why. We have had an amazing run, far better than we ever expected. Also, Joe recommends 50 games, Allen goes for the gold, and Outlaw is totally normal. (And we’re not crying you’re crying!) Thank you for the support over the last 11 (!!!) years. It's been a wild ride, and the last thing we ever expected when starting a tech podcast was getting to meet so many fantastic people. View the full show notes here: Tip of the Week UFO 50 is an odd collection of 50...
info_outlineCoding Blocks
For the full show notes head over to:
info_outlineCoding Blocks
Grab your headphones because it's water cooler time! In this episode we're catching up on feedback, putting our skills to the test, and wondering what we're missing. Plus, Allen's telling it how it is, Outlaw is putting it all together and Joe is minding the gaps! View the full show notes here: Reviews Thank you again for taking the time to share your review with us! iTunes: Yesso95 Spotify: Auxk0rd, artonus News Atlanta Dev Con September 7th, 2024 DevFest Central Florida September 28th, 2024 Two water coolers walk into a bar... Several folks share their origin...
info_outlineCoding Blocks
For the full show notes please visit: https://www.codingblocks.net/episode239
info_outlineCoding Blocks
It's Water Cooler Time! We've got a variety of topics today, and also Outlaw's lawyering up, Allen can read QR codes now, and Joe is looking at second careers. View the full show notes here: News As always, thank you for leaving us a review – we really appreciate them! Almazkun, vassilbakalov, DzikijSver Atlanta Dev Con September 7th, 2024 DevFest Central Florida on September 28th, 2024 Interested? Submit your talk proposal here: Water Cooler How many programmers are there now? () Are we still growing? What will it be like when we stop growing? What will people be...
info_outlineCoding Blocks
View the show notes on the web: In the past couple of episodes, we'd gone over what Apache Kafka is and along the way we mentioned some of the pains of managing and running Kafka clusters on your own. In this episode, we discuss some of the ways you can offload those responsibilities and focus on writing streaming applications. Along the way, Joe does a mighty fine fill-in for proper noun pronunciation and Allen does a southern auctioneer-style speed talk. Reviews As always, thank you for leaving us a review - we really do appreciate them! From iTunes: Abucr7 Upcoming Events Atlanta Dev...
info_outlineCoding Blocks
Topics, Partitions, and APIs oh my! This episode we're getting further into how Apache Kafka works and its use cases. Also, Allen is staying dry, Joe goes for broke, and Michael (eventually) gets on the right page. The full show notes are available on the website at News Thanks for the reviews! angingjellies and Nick Brooker Please leave us a review! () Atlanta Dev Con is coming up, on September 7th, 2024 () Kafka Topics They are partitioned - this means they are distributed (or can be) across multiple Kafka brokers into "buckets" New events written to Kafka are...
info_outlineCoding Blocks
We finally start talking about Apache Kafka! Also, Allen is getting acquainted with Aesop, Outlaw is killing clusters, and Joe is paying attention in drama class. The full show notes are available on the website at News Atlanta Dev Con is coming up, on September 7th, 2024 () Intro to Apache Kafka What is it? Apache Kafka is an open-source distributed event streaming platform used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications. Core capabilities High throughput - Deliver messages at...
info_outlineCoding Blocks
Reviews iTunes: ivan.kuchin News Atlanta Dev Con September 7th, 2024 Topics People trying to remove their answers from StackOverflow to not allow OpenAI to use their answers without permission/recognition? Obfuscate data dumps with PostgreSQL Kotlin Coroutines Reminded Outlaw of the Cloudflare Workers we mentioned a while back Please leave us a review! You can control if YouTube keeps track of your history (at least that you can see) 100 Things You Didn't Know About Kubernetes Do the IDE AI's really make you more...
info_outlineCoding Blocks
Full episode show notes can be found at:
info_outlineWe finally start talking about Apache Kafka! Also, Allen is getting acquainted with Aesop, Outlaw is killing clusters, and Joe is paying attention in drama class.
The full show notes are available on the website at https://www.codingblocks.net/episode235
News
- Atlanta Dev Con is coming up, on September 7th, 2024 (www.atldevcon.com)
Intro to Apache Kafka
What is it?
Apache Kafka is an open-source distributed event streaming platform used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.
Core capabilities
- High throughput - Deliver messages at network-limited throughput using a cluster of machines with latencies as low as 2ms.
- Scalable - Scale production clusters up to a thousand brokers, trillions of messages per day, petabytes of data, and hundreds of thousands of partitions. Elastically expand and contract storage and processing
- Permanent storage - Store streams of data safely in a distributed, durable, fault-tolerant cluster.
- High availability - Stretch clusters efficiently over availability zones or connect separate clusters across geographic regions.
Ecosystem
- Built-in stream processing - Process streams of events with joins, aggregations, filters, transformations, and more, using event-time and exactly-once processing.
- Connect to almost anything - Kafka’s out-of-the-box Connect interface integrates with hundreds of event sources and event sinks including Postgres, JMS, Elasticsearch, AWS S3, and more.
- Client libraries - Read, write, and process streams of events in a vast array of programming languages
- Large ecosystem of open source tools - Large ecosystem of open source tools: Leverage a vast array of community-driven tooling.
Trust and Ease of Use
- Mission critical - Support mission-critical use cases with guaranteed ordering, zero message loss, and efficient exactly-once processing.
- Trusted by thousands of organizations - Thousands of organizations use Kafka, from internet giants to car manufacturers to stock exchanges. More than 5 million unique lifetime downloads.
- Vast user community - Kafka is one of the five most active projects of the Apache Software Foundation, with hundreds of meetups around the world.
What is it?
- Getting data in real-time from event sources like databases, sensors, mobile devices, cloud services, applications, etc. in the form of streams of events. Those events are stored "durably" (in Kafka) for processing, either in real-time or retrospectively, and then routed to various destinations depending on your needs. It's this continuous flow and processing of data that is known as "streaming data"
How can it be used? (some examples) - Processing payments and financial transactions in real-time
- Tracking automobiles and shipments in real time for logistical purposes
- Capture and analyze sensor data from IoT devices or other equipment
- To connect and share data from different divisions in a company
Apache Kafka as an event streaming platform?
- It contains three key capabilities that make it a complete streaming platform
- Can publish and subscribe to streams of events
- Can store streams of events durably and reliably for as long as necessary (infinitely if you have the storage)
- To process streams of events in real-time or retrospectively
- Can be deployed to bare metal, virtual machines or to containers on-prem or in the cloud
- Can be run self-managed or via various cloud providers as a managed service
How does Kafka work?
- A distributed system that's composed of servers and clients that communicate using a highly performant TCP protocol
Servers
- Kafka runs as a cluster of one or more servers that can span multiple data centers or cloud regions
- Brokers - these are a portion of the servers that are the storage layer
- Kafka Connect - these are servers that constantly import and export data from existing systems in your infrastructure such as relational databases
- Kafka clusters are highly scalable and fault-tolerant
Clients
- Allows you to write distributed applications that allow to read, write and process streams of events in parallel that are fault-tolerant and scale
- These clients are available in many programming languages - both the ones provided by the core platform as well as 3rd party clients
Concepts
Events
- It's a record of something that happened - also called a "record" in the documentation
- Has a key
- Has a value
- Has an event timestamp
- Can have additional metadata
Producers and Consumers
- Producers - these are the client applications that publish/write events to Kafka
- Consumers - these are the client applications that read/subscribe to events from Kafka
- Producers and consumers are completely decoupled from each other
Topics
- Events are stored in topics
- Topics are like folders on a file system - events would be the equivalent of files within that folder
- Topics are mutli-producer and multi-subscriber
- There can be zero, one or many producers or subscribers to a topic that write to or read from that topic respectively
- Unlike many message queuing systems, these events can be read from as many times as necessary because they are not deleted after being consumed
- Deleting of messages is handled on a per topic configuration that determines how long events are retained
- Kafka's performance is not dependent on the amount of data nor the duration of time data is stored, so storing for longer periods is not a problem
Tip of the Week
- Flipper Zero is a multi-functional interaction device mixed with a Tamagotchi. It has a variety of IO options built in, RFID, NFC, GPIO, Bluetooth, USB, and a variety of low-voltage pins like you'd see on an Arduino. Using the device upgrades the dolphin, encouraging you to try new things…and it's all open-source with a vibrant community behind it. (shop.flipperzero.one)
- Kafka Tui?! Kaskade is a cool-looking Kafka TUI that has got to be better than using the scripts in the build folder that comes with Kafka. (github.com/sauljabin/kaskade)
- Microstudio is a web-based integrated development environment for making simple games and it's open source! (microstudio.dev)
- Bing Copilot has a number of useful prompts (bing.com)
- Designer (photos)
- Vacation Planner
- Cooking assistant
- Fitness trainer
- Sharing metrics between projects in GCP, Azure, and maybe AWS???
- GCP (projects): (cloud.google.com)
- Azure (resource groups or subscriptions): (learn.microsoft.com)
- AWS (multiple accounts): (docs.aws.amazon.com)
- Checking wifi in your home - Android Only (play.google.com)
- Powering POE without running cables (Amazon)
- Omada specific - cloud vs local hardware (Amazon)
- How to "shutdown" a Kafka cluster in Kubernetes:
kubectl annotate kafka my-kafka-cluster strimzi.io/pause-reconciliation="true" --context=my-context --namespace=my-namespace
kubectl delete strimzipodsets my-kafka-cluster --context=my-context --namespace=my-namespace
- Then to "restart" the cluster:
kubectl annotate kafka my-kafka-cluster strimzi.io/pause-reconciliation- --context=my-context --namespace=my-namespace