As we saw in a previous post microservices can communicate with UI clients and with other microservices. We want to achieve low latency and high throughput, so the size of the message definitely makes a difference. But along with the size we need to make sure the message sent by a sender is understood by the… Continue reading Evolution of a message
Now the fun part. Assuming that we have built a running microservice environment, how can we maintain it? How do we introduce changes without breaking it? How do we test it? We know we can do end to end tests, but these are slow and we need faster feedback. How can we test the microservice… Continue reading Testing microservices
As Junit 5 was released in order to be able to use mocks you need to add the mockito extension. You noticed that ClassRunners are deprecated now in Junit 5, they were replaced with extensions, hence the Mockito Extension. What changes are in Mockito 2? Well one of the most important one is the change… Continue reading Mockito 2
Why do we need to version our microservices? Microservices are basically APIs. These are consumed by the clients. We should be able to evolve them without any impact to the clients. We should not force the clients to use the new changes in services and more importantly this should not break the clients. There must… Continue reading Microservice versioning
After we have written the code and compile it, the next step is to build and deploy it somewhere. We can go two ways here: build many times the code, deploy it many times build once the code, deploy it many times Build many This is the way many of you are familiar with, as… Continue reading Build once vs build many
There are currently 4 branching strategies and with this post you should be able to know when to use them. In which situations one is more appropriate than the other? Without further ado, let's jump into them. Centralized strategy This is suitable for teams that are migrating from old style subversion to git. You heard… Continue reading Which git strategy should I use?
What is stubbing? What is verifying? Do we need both? If we look into the java docs for Mockito.when() (stubbing) and Mockito.verify() (verifying behavior) we see something strange that is common to both: Although it is possible to verify a stubbed invocation, usually it's just redundant. Well, we known that the difference between stubs and… Continue reading Are you verifying your stubs?