microcks icon indicating copy to clipboard operation
microcks copied to clipboard

AMQP 1.0 AsyncAPI mocking/testing support

Open lbroudoux opened this issue 4 years ago • 14 comments

As AMQP 1.0 is a valid AsyncAPI Binding, it may be a good candidate for integration within Microcks. Please vote for this feature if you need it!

lbroudoux avatar May 04 '21 10:05 lbroudoux

Hi folks, Is there any planning for this ? thanks for your amazing job !

Hassen-BENNOUR avatar Jan 13 '22 10:01 Hassen-BENNOUR

No planning for the moment. We're in the process of releasing 1.5.0 and see just after how to prioritise remaining issues.

Do you have plans and use-cases for AMQP on Microcks?

lbroudoux avatar Jan 13 '22 14:01 lbroudoux

@lbroudoux

Thank you for your reply and interest.

We have many REST & EDA oriented microservices (EDA based on RabbitMQ as a MOM).

We need a solution like microcks to Mock API's of our REST & EDA microservices.

It's urgent for our organisation to solve the developers problems caused by microservices dependencies and unavailabilities during development cycle.

we're planning to install a solution during next months but we need a solution supporting AMQP, ideally CI/CD Bamboo too but i don't know it it is planned.

Hassen-BENNOUR avatar Jan 13 '22 15:01 Hassen-BENNOUR

Thanks for follow-up. The use-case definitely makes sense.

Will you run through a selection process or have you already made a feature tour of Microcks to be sure it's what you really need?

I mean we'd like to be sure we'll actually find users when we develop a new feature. We like when it makes our community happy and it's worth the pain 😊

Let us know.

lbroudoux avatar Jan 13 '22 17:01 lbroudoux

Hi @lbroudoux thanks for follow-up.

Honestly, we have to run through a selection process -> preceded by analyzing the situation and by demonstrating how microcks will help :(

The problem is that when we run through a selection process we decide according to the availability of the solution. So maybe we can approach the question differently, if we decide to go to microcks, how quickly can you plan to add AMQP support?

Another question, we need to mock EDA services implementing the Request-Reply pattern, is it already supported in microcks (i've dont found any documentation about this) ?

Hassen-BENNOUR avatar Jan 17 '22 18:01 Hassen-BENNOUR

Thanks for clear explanations.

RabbitMQ/AMQP support addition isn't a big deal. Moreover, if you're ready to help a bit for validation it should just be a matter of 1 week of implementation. I don't have the bandwidth for that in the 2/3 coming weeks but it should be OK for mid-february. Do you think this is compatible with your timeline ?

Regarding Request-Reply pattern: we don't have support for this for the moment as there's no standard way of specifying this yet. There's some ongoing discussions on how to add that to AsyncAPI and be sure we'll support it as soon as there is consensus on how to represent that.

lbroudoux avatar Jan 18 '22 08:01 lbroudoux

Hey @Hassen-BENNOUR !

Any news on this topic ? We're working on roadmap of upcoming releases. Still any interests in this issue ?

lbroudoux avatar Jan 28 '22 15:01 lbroudoux

Hey @lbroudoux

Thank you for your follow up and support.

Yeah for sure.

Sorry for the delay, we will start this week the process of analysis and selection.

I tried to go through the microcks documentation as much as possible to understand its features in more detail, to see what meets our needs. Microcks still seems very interesting for me to meet our needs.

Unfortunately I don't decide alone and therefore the whole working group will decide according to the analysis of the solution and possibly a demonstration that we will do if necessary.

We will have to close and decide in March and therefore as explained I cannot guarantee the use but I am confident given the contribution of microcks who rocks ❣

So if it's okay with you, I agree to validate or test the solution with AMQP and rabbitmq.

But the problem is that we only have docker but no Kubernetes... to use the full installation with all the features, amqp support.

I don't know if it's possible to quickly install Kubernetes or others, I've never done it, but I can try.

Thanks again 🙏

Hassen-BENNOUR avatar Jan 28 '22 21:01 Hassen-BENNOUR

Kubernetes is not a requirement for tests that can be done through Docker compose. I'll add this one on forthcoming weeks sprint so !

lbroudoux avatar Jan 28 '22 22:01 lbroudoux

Thanks great!

Maybe i misunderstood something because when I've installed microcks with docker compose i had kafka disabled on UI for my asyncapi imported api and I've seen for that architecture https://microcks.io/images/architecture-full.png This doc here https://microcks.io/documentation/installing/deployment-options/ Says about Async Minion : This architecture cannot be deployed using Docker Compose that only brings a subset of features. We rely on Kubernetes for deploying it and you will have to use our Helm Chart or Operator installation methods for that.

Maybe i need more practice and reading more 🙂

Hassen-BENNOUR avatar Jan 28 '22 23:01 Hassen-BENNOUR

This architecture cannot be deployed using Docker Compose that only brings a subset of features. We rely on Kubernetes for deploying it and you will have to use our Helm Chart or Operator installation methods for that.

This documentation has to be updated. It is now possible to have async features using docker-compose with our async extensions as stated here.

lbroudoux avatar Feb 01 '22 09:02 lbroudoux

Hey @Hassen-BENNOUR

Just to be sure: when you're talking about AMQP, you're talking about version 0.9.1 of the protocol that is handled by RabbitMQ right ? If I understood correctly then I propose to switch conversation to the issue #551 for tracking the 0.9.1/RabbitMQ version of the protocol.

lbroudoux avatar Feb 01 '22 09:02 lbroudoux

Hey @lbroudoux You're right, we're talking about version 0.9.1 of the AMQP protocol supported by Spring now. Ok for switching.

Hassen-BENNOUR avatar Feb 01 '22 10:02 Hassen-BENNOUR