InfoQ Homepage Microservices Content on InfoQ
-
The Wonders of Postgres Logical Decoding Messages
In this article, author Gunnar Morling discusses Postgres database's logical decoding function to retrieve the messages from write-ahead log, process them, and relay them to external consumers, with help of use cases like outbox, audit logs and replication slots.
-
Blue-Green Deployment from the Trenches
Introducing blue-green deployments is often a beneficial improvement. However, with some architectures, it can be challenging to make the changes without impeding deployments. This article covers the challenges and lessons learned in implementing blue-green deployments in the real-world.
-
Microservices Integration Done Right Using Contract-Driven Development
Build your microservices and micro-frontend in parallel and deploy them independently without worrying about integration issues, by leveraging API specifications such as OpenAPI and AsyncAPI as executable contracts to shift left the identification of compatibility bugs with Contract Driven Development using Specmatic, thereby removing the need for integration testing.
-
GraalVM Java Compilers Join OpenJDK in 2023, Align with OpenJDK Releases and Processes
The Community Editions of the GraalVM JIT and Ahead-of-Time (AOT) compilers will move to OpenJDK in 2023. They will align with OpenJDK releases and processes. Existing releases, GraalVM Enterprise Edition, and other GraalVM projects will not. GraalVM 22.3 provides experimental support for JDK 19 and improves observability. Project Leyden will standardize Java AOT compilation.
-
Java InfoQ Trends Report - December 2022
This report provides a summary of how the InfoQ Java editorial team and several Java Champions currently see the adoption of technology and emerging trends within the Java and JVM space in 2022. We focus on Java the language, as well as related languages like Kotlin and Scala, the Java Virtual Machine (JVM), and Java-based frameworks and utilities.
-
Java Champion Josh Long on Spring Framework 6 and Spring Boot 3
Microservices show where Java lags behind other languages. Reactive programming provides a concise DSL to express the movement of state and to write concurrent, multithreaded code with better scaling. Developing in Spring Boot works well even without special tooling support. Josh Long is excited about Project Loom, Java optimization in Project Leyden, and Foreign-Function access in Project Panama.
-
Polyglot Microservices Communication Using Dapr on AKS
Dapr is a useful tool for solving several challenges engineers might face. It allows engineering organizations to gain productivity by training developers on a common set of tools and techniques. It also helps adopt standardization in development, deployment, and debugging.
-
eBPF and the Service Mesh: Don't Dismiss the Sidecar Yet
While eBPF looks promising to improve service mesh sidecar proxy performance, there are other, simplier ways to improve performance. The layer 7 processing needed for service meshes is unlikely to be feasible in eBPF for the foreseeable future, which means that meshes will still need proxies.
-
Location, Location, Location: MVA Considerations for Distributed Processing and Data
Even when designing a Minimum Viable Architecture (MVA), developers must consider resource location, especially when mobile apps are part of a distributed system. Distributing the data and processing can introduce new challenges if location is not part of the decision-making criteria.
-
Migrating Netflix's Viewing History from Synchronous Request-Response to Async Events
In a web-based service, a slowdown in request processing can eventually make your service unavailable. Chances are, not all requests need to be processed right away. Some of them just need an acknowledgement of receipt. Have you ever asked yourself: “Would I benefit from asynchronous processing of requests? If so, how would I make such a change in a live, large-scale mission critical system?”
-
Developing a Cloud-Native Application on Microsoft Azure Using Open Source Technologies
Cloud native is a development approach that improves building, maintainability, scalability, and deployment of applications. My intention with this article is to explain, in a pragmatic way, how to build, deploy, run, and monitor a simple cloud-native application on Microsoft Azure using open-source technologies.
-
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.