JLUPIN PLATFORM WEBSITE
tutorials
  • Rating:
  • Views: 149
  • Author: JLupin
  • Skill level: easy
  • Comments: 0

Migration

Below are described steps to migrate your microservice from 1.4.1.0-RC6 to 1.5.0.0.

Important note

Before you go further you should know that we changed the name of the product... since 1.5 version JLupin Next Server becomes JLupin Platform. That change has serious impact of paths (the software is located in 'platform' directory instead of 'server') and names of related software - ex. plugins, We know that it is a kind of inconvenience, we are sorry for that, but we offer our full support in the process of this migration. Let's start.

Plugins

Since version 1.5.0.0 there is new set of plugins and libraries for microservices. Below there is a list of them.

  • JLupin Platform IntelliJ Plugin (2.0.0) - new plugin with support for platform version 1.5.0.0
  • jlupin-platform-maven-plugin (1.5.0.0)
  • http-session-repository-plugin (1.5.0.0)
  • jlupin-spring-boot-1-servlet-monitor (1.5.0.0)
  • jlupin-spring-boot-2-servlet-monitor (1.5.0.0)

Due to this changes remember to change used plugins in your pom.xml files. You can also change properties names:

<server.version> to <jlupin.platform.version>
<jlupin.next.server.maven.plugin> to <jlupin.platform.maven.plugin>

Remember that jlupin-platform-maven-plugin is defined in your main pom.xml, your servlet microservcies pom.xml files and also in native microservice implementation pom.xml files.

Native microservice configuration file

There are some new and some unsupported configuration keys for native microservice so you need to update your configuration.yml file. Add:

SERVERS:
  JLRMC:
    [...]
    isStartOnMainServerInitialize: true
    [...]
  TRANSMISSION:
    [...]
    isStartOnMainServerInitialize: true
    [...]
  QUEUE:
    [...]
    isStartOnMainServerInitialize: true
    [...]
TRANSMISSION:
  MICROSERVICES_GRANT_ACCESS:
    MICROSERVICES_LIST:
      #- microserviceName: 'sampleMicroservice'
      #  serviceName: 'sampleServiceName'
      #  methodName: 'sampleMethodName'
      #- microserviceName: 'sampleMicroservice2'
      #  serviceName: 'sampleServiceName2'
      #  methodName: 'sampleMethodName2'
PROPERTIES:
  [...]
  isJmxEnabled: true
  jmxOptions: '-Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false'
  jmxPrimaryPort: -1
  jmxSecondaryPort: -1
  [...]

Servlet microservice configuration file

For servlet microservice situation is similiar. Just add:

SERVERS:
  HTTP:
    [...]
    isStartOnMainServerInitialize: true
    httpStickySession: false
    [...]
  TRANSMISSION:
    [...]
    isStartOnMainServerInitialize: true
    [...]
PROPERTIES:
  [...]
  isJmxEnabled: true
  jmxOptions: '-Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false'
  jmxPrimaryPort: -1
  jmxSecondaryPort: -1
  [...]

Main Server configuration file

For Main Server configuration file (main.yml) add:

MAIN_SERVER:
  [...]
  location: DC1
SERVERS:
  JLRMC: #JLupin Remote Method Call Fast Protocol
    [...]
    isStartOnMainServerInitialize: true
    [...]
  ELASTIC_HTTP:
    [...]
    isStartOnMainServerInitialize: true
    [...]
  QUEUE:
    [...]
    isStartOnMainServerInitialize: true
    [...]
  TRANSMISSION:
    [...]
    isStartOnMainServerInitialize: true
    [...]
  INFORMATION:
    [...]
    isStartOnMainServerInitialize: true
    [...]
  INFORMATION_HTTP:
    [...]
    isStartOnMainServerInitialize: true
    [...]
PROCESS_MANAGER:
  [...]
  microservicesPortOffset: 20000
PROPERTIES:
  # 52428800 bytes = 50MB
  maxRequestSizeInBytes: 52428800
  maxResponseSizeInBytesDuringMicroserviceStart: 52428800

And also remove:

MICROSERVICES_LOCAL_PORT:
  offset: 20000

You can also change default value of TECHNICAL_PROCESS_MANAGER parameter responseOSTimeToCheckProcessAliveInMillis to 2000. And that's all.

Code

There is not much to change in your microservice code. Do just two things:

  1. Change util name from JLupinChannelUtil to JLupinClientChannelUtil
  2. JLupinQueueManagerService's method putTaskInput is now available from JLupinClientChannelUtil without need to specify channel name every time.

Integration

There no changes in the scope of how plugins and administration tools interacts the JLupin Platform, but since 1.5 version SSL for TRANSMISSION PORT is obligatory (due to complex relations between tools and security reasons).


Edge Balancer

There are significant changes in the configuration layout of 'data' type virtual server definitions - it has been moved from edge.conf to separated files located in $JLUPIN_HOME/platform/start/configuration/edge_servers. We strongly advice to manually adjust Edge Balancer configuration of the final release to your needs basing on configuration from RC6. If you need support - we are ready do serve !

RATE & DISCUSS (0)

No comments found.