Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #39664

Re: Going from java monolith to microservice

From Arne Vajhøj <arne@vajhoej.dk>
Newsgroups comp.lang.java.programmer
Subject Re: Going from java monolith to microservice
Date 2021-01-16 15:24 -0500
Organization Aioe.org NNTP Server
Message-ID <rtvi1c$1f3s$1@gioia.aioe.org> (permalink)
References <a3d61fad-4b76-4383-95d8-34af8a32022cn@googlegroups.com>

Show all headers | View raw


On 1/16/2021 9:29 AM, mike wrote:
> First I want to say that this is not  a pure "how do I do this in
> java" - question. So if you are not interested or don't have any
> experience with the topic feel free to skip.
> 
> We have  a library that consists of different maven modules. It is
> basically different abstractions to test NETCONF devices.
> 
> We hear a lot of  positives using microservices since it will be
> easier to deploy separate and independen. So I thought that it might
> be possible to transition over to use microservices since products
> tends to be virtualized in the cloud.
> 
> Do you have any idea on how to do this journey? My guess is to make a
> step to step transition. We need to support the old way of using the
> monolith for our old products.
> 
> My first thought will be how to use the service? Today testers write
> java code but what will the testing look like in the future? Have
> anyone gone from using java to microsevice. What will be the main
> difference. I know my questions are vague and that is where you come
> in. I need guidance and advice in this matter. I would really
> appreciate some advice.

Micro-services vs less granular services vs monolith is a well-known
discussion - you should be able to find hundreds of articles and books
about that topic from a general perspective.

But I am somewhat puzzled by the talk about library/modules and
test.

In its core micro-services is about the runtime separation of
services.

Let us say that before is:

Tomcat port 8080
a.war with libx.jar and liby.jar, exposing http://xxxxxx:8080/a/foo
b.war with libx.jar and libz.jar, exposing http://xxxxxx:8080/b/bar

And after is:

Spring Boot a.jar with libx.jar and liby.jar, exposing 
http://xxxxxx:8081/a/foo
Spring Boot b.jar with libx.jar and libz.jar, exposing 
http://xxxxxx:8082/b/foo

You have not changed the libraries.

And I do not see any reason why you would change test either.

You have gotten some benefits. The services can be scaled independently
(you can run 2 instances of a and 10 instances of b). The services do
no longer share the global Tomcat context (database connection
pools etc.).

If before is:

Tomcat port 8080
kitchensink.war with libx.jar and liby.jar and libz.jar, exposing 
http://xxxxxx:8080/kitchensink/foo and http://xxxxxx:8080/kitchensink/bar

then splitting up in micro-services will force a separation of code
and dependencies.

And that may impact a lot more.

But that is not really a micro-service thing - you would have to do the
same if you split kitchensink.war in a.war and b.war.

Arne

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Going from java monolith to microservice mike <mikaelpetterson@hotmail.com> - 2021-01-16 06:29 -0800
  Re: Going from java monolith to microservice Graeme Geldenhuys <graemeg@example.net> - 2021-01-16 16:16 +0000
    Re: Going from java monolith to microservice mike <mikaelpetterson@hotmail.com> - 2021-01-16 08:44 -0800
  Re: Going from java monolith to microservice Arne Vajhøj <arne@vajhoej.dk> - 2021-01-16 15:24 -0500
    Re: Going from java monolith to microservice mike <mikaelpetterson@hotmail.com> - 2021-01-17 05:08 -0800
      Re: Going from java monolith to microservice Graeme Geldenhuys <graemeg@example.net> - 2021-01-17 16:32 +0000
      Re: Going from java monolith to microservice Arne Vajhøj <arne@vajhoej.dk> - 2021-01-21 19:02 -0500

csiph-web