A Bootiful Podcast: DataStax's Christopher Bradford on the Apache Cassandra operator for Kubernetes, K8ssandra

Read more

Spring Cloud Function 3.2 is out!

Spring Cloud 2021.0.0 is finally out and with it you have Spring Cloud Function 3.2

While the full list of features, enhancements and bug fixes is available here, I’d like to call out few of them in this post and provide some details.

gRPC Support

In addition to an already existing support for invoking function via AWS Lambda, RSocket, Spring Cloud Stream etc., Spring Cloud Function now allows you to invoke function via gRPC.
Two ways to benefit from it.

Spring Message

Given the wide adaption of Spring Messaging, one way of benefiting from gRPC support is by embracing Spring’s Message.
Spring Cloud Function provides GrpcSpringMessage schema modeled after Spring’s Message. It is internally converted to Spring Message to benefit from all of the existing support for Spring Messaging.

Read more

Spring Tips: @Controllers and RSocket

Hi, Spring fans! In this installment of Spring Tips (@SpringTipsLive), we continue our tour of all things @Controller, this time focusing on the Spring support for RSocket. You might also want to watch the expanded discussion of RSocket in earlier Spring Tips videos:

  1. The RSocket Revolution - watch this next!
  2. Raw RSocket support
  3. RSocket Messaging and the @Controller component model
  4. RSocket and Spring Security
  5. Spring Retrosocket
Read more

This Week in Spring - November 30th, 2021

Hi, Spring fans! Welcome to another installment of This Week in Spring! This last week’s been nutty! Here in the US, we just celebrated the Thanksgiving holiday, and I am fat with turkey and pie, and lazy. But happy. I hope you’re well fed and happy, too. Time’s flying. (Also: can you believe we’re a month away from the new year? I think there’s like four or five weeks (and thus _This Week in Spring_s!) left in the year!)

We’ve got a ton of stuff to get into this week, so let’s go:

Read more

Security Report for Spring AMQP (Spring for RabbitMQ)

The recently released versions of Spring AMQP (2.4.0, 2.3.12, 2.2.20) contain a fix for CVE-2021-22095, which can cause a potential OutOfMemoryError for very large messages.

Spring Boot version 2.6.0 and 2.5.7 will bring in the 2.4.0 and 2.3.12 versions of spring-amqp respectively. Users of Boot 2.4.x should override the spring-amqp and spring-rabbit versions to 2.3.12; users of Spring Boot 2.3.x should override the versions to 2.2.20.

Read more

Spring Data MongoDB - Relation Modelling

MongoDB’s flexible schema allows for multiple patterns when it comes to modeling relationships between entities. Also, for many use cases, a denormalized data model (storing related data right within a single document) might be the best choice, because all information is kept in one place, so that the application requires fewer queries to fetch all data. However, this approach also has its downsides, such as potential data duplication, larger documents, and the maximum document size.

In general, MongoDB recommends using normalized data models when the advantages of embedding are neglected by the implications of duplication. In this blog post, we take a look at the different possibilities of linking documents with manual references and DBRefs when the need occurs to work with relations.

Read more

This Week in Spring (Happy Thanksgiving!) - November 23rd, 2021

Hi, Spring fans! Welcome to another installment of This Week in Spring!

Hi, Spring fans! Welcome to another installment of This Week in Spring. This Thursday is Thanksgiving here in the US, where I live. it’s a time during which we Americans try to be thankful for what we have. And me, personally? I’ve got a lot of things for which I am grateful, this week and always.

I am thankful for my family and friends. A person is the company they keep, and I am lucky to have excellent company in my life.

I am thankful for my health. Right now, pandemic be danged, I’m healthy and happy, something for which I am endlessly grateful because I know what it’s like not to be healthy.

Read more

Get to Know a Kubernetes Operator!

Hi, Spring fans! It’s Friday, and you know what that means? Some poor schlub somewhere is trying fruitlessly to get something deployed to production, or at least rolled back consistently, in time for dinner. And it’s not working. I’ve been there. Deployments are hard. There’s nuance in deployment. I love Kubernetes as much as the next Operator, but let’s not pretend it’s the pinnacle of productivity. Quite the contrary. There’s a whole cottage industry around simplifying application deployments with Kubernetes. See for example KNative, Cloud Foundry on Kubernetes, or Azure Spring Cloud. These tools are awesome - they provide opinions about how to quickly deploy and manage typical 12-factor style online web applications. They have strong opinions that are loosely held. They’re rails for particular workloads - rails that lead to production, if you can fit your workload into a particular, PaaS-friendly shape. That’s great for so much of the workloads we run out there, but not all of them. Our applications will invariably want to talk to something more substantial, like Apache Kafka, and those things are never so easy to deploy.

Read more