
- Rating:
- Views: 606
- 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:
- Change util name from JLupinChannelUtil to JLupinClientChannelUtil
- 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)