InfoQ Homepage Languages Content on InfoQ
-
Debezium and Quarkus: Change Data Capture Patterns to Avoid Dual-Writes Problems
It’s common in microservices to write data in two places, a database and then send the content to another microservice. One approach to tackle this problem is dual writes, but you may lose data because of concurrent writes. Debezium is an open-source project for change data capture using the log scanner approach to avoid dual writes and communicate persisted data correctly between services.
-
Why DevOps Governance is Crucial to Enable Developer Velocity
The application environment should be managed centrally by the DevOps team. This allows them to better track modifications and changes which would then be swift and transparent to developer teams.
-
Open-Source Testing: Why Bug Bounty Programs Should Be Embraced, Not Feared
The growing importance of the Web3 ecosystem based on blockchains shows how important community test programs are. Some within the testing community see this trend as a threat. However, it is actually an opportunity. Bug bounties and open-source test contributions are a great tool for test teams, and there is every reason for testers to embrace this new trend rather than to fear it.
-
Gatling vs JMeter - What to Use for Performance Testing
A performance tool with a graphical interface will probably be easier to use at the beginning, but the idea of a performance test as code is the future. Tests are readable and much easier to maintain. Many people are skeptical about Gatling because it requires learning a new programming language - Scala. However, Java is supported with the release of Gatling 3.7.
-
Kafka Streams and Quarkus: Real-Time Processing Events
Consuming Kafka messages is simple; you get them as long as they are produced, but nothing more. But if you need real-time processing of the data (filtering, joining, or manipulating events), just using the Kafka-consuming API might not be the best approach as the resulting code becomes complex. Kafka Streams and Quarkus are the perfect matches to start processing Kafka events in real-time.
-
The Compounding (Business) Value of Composable Ecosystems
Being “free” and open source doesn’t hinder the value of these projects to businesses and end users; rather it unlocks it. The composability of open source ecosystems allows the innovation and value of the whole ecosystem to compound on itself.
-
Data Oriented Programming in Java
Project Amber has brought a number of new features to Java in recent years. While each of these features are self-contained, they are also designed to work together. Specifically, records, sealed classes, and pattern matching work together to enable easier data-oriented programming in Java.
-
Reduce Carbon Dioxide Emissions with Serverless and Kubernetes Native Java
Moving application workloads to multi- and hybrid cloud platforms causes more carbon dioxide emissions, although better scalability and performance. Serverless and Kubernetes Native Java enable developers to solve the global climate changes by reducing carbon dioxide emissions by natively native features with milliseconds first boot time, tiny resident set size memory and scalability.
-
Introduction to Apache Beam Using Java
Apache Beam is a stream processor, helping developers migrate work between different processes to offload work onto runners that leverage external resources.
-
Standardizing Native Java: Aligning GraalVM and OpenJDK
Native Java is essential for Java to remain relevant in the evolving cloud world. But it is not a solved problem yet. And the development lifecycle needs to adapt as well. Standardization through Project Leyden is key to the success of native Java. Native Java needs to be brought into OpenJDK to enable co-evolution with other ongoing enhancements.
-
Go Native with Spring Boot and GraalVM
Spring Boot 3 & Spring Framework 6, due in late 2022, will have built-in support for native Java. For Spring Framework 5.x & Spring Boot 2.x, Spring Native is the way to go. Spring Native provides integrations for Spring's vast ecosystem of libraries. It also has a component model that allows you to extend native compilation support for other libraries.
-
Article Series: Native Compilation Boosts Java
Java dominates enterprise applications. But in the cloud, Java is more expensive than some competitors. Native compilation makes Java in the cloud cheaper. It raises many questions for all Java users: How does native Java change development? When should we switch to native Java? When should we not? And what framework should we use for native Java? This series provides answers to these questions.