• Rating:
  • Views: 231
  • Author: JLupin
  • Comments: 0

The next version of JLupin Next Server brings a lot of enhancements shortening development & maintenance processes and keeping IT service even more reliable than before. Let's go through some of its new functionalities:

  • JLupin Edge Balancer - running as a technical microservice - a new kind of process that extends core JLupin's functionalities, automatically provides access to servlet microservices through it's context name. It also allows (what is probably much more valuable for you) to perform FULLY ONLINE restart of a serlvet microservice (Spring Boot). Want to taste it ?
    • deploy a new microservice under specific context (you can also configure it through external config file) or try our demo app (portal-access)
    • access it through url: http://localhost:8000/<contextName> (assuming that you are running JLupin locally). The 'portal-access' microservice is available at http://localhost:8000/exchange
    • If you want to try online restart - perform "microservice restart <microservice_name>" in the local console and watch the availability of your service ("still and always online" is the right behavior ;) )
    • to perform administration tasks on technical microservice try "microservice tech" command in the local console.
  • Extended Self-healing - the new mechanisms have been implemented to ensure that everything is up and running :) To be exact:
    • Process Keeper - restore the microservice state after its sudden stop outside the JLupin management tools, ex. "kill".
    • Memory Process Keeper - to ensure that in case of OutOfMemoryError or StackoverFlowError the microservice will be restarted with additional resources and the necessary diagnostics data is collected. We do everything to keep availability of the services provided by the system.
    • Technical Proces Keeper - restore the the technical microservice (for now it is JLupin Edge Balancer) after its sudden stop outside the JLupin management tools, ex. "kill.
  • Event log to record every task performed by JLupin's internal mechanisms and give full information about events in the microservice environment. Want to taste it ?
    • Invoke the incident handled by one of the self-healing mechanisms (ex. kill the process of a microservice), described in the previous point.
    • Type "events list" in the local console to discover the events that have occoured after your action taken in the previous point
    • Type "events details <eventId>" to get more about the specific event
    • Remember that every entry in the event list expire after logExpireTimeInMillis milliseconds (parameter in main.yml file) or are flushed in case of reaching the maximum size of the event log.
  • Extended monitoring to get even more about the whole environment in one place, ex. resource utilization, provided services, statistics of each microservice and node. Want to taste it ?
    • Type "node runtime" for complete information about node's conditions, also on the level of operation system ("node runtime os")
    • Type "microservice stats" to provide statistical data regarding number of sessions (servlet microservice) and handled requests.
    • Type "microservice details" to provide the full list of provided services, also from servlet microservices (Spring Boot).
    • JMX interface (default port: 9010) to provide aggregated information through JMX MBeans.
  • HTTP information port to provide valuable information from the environment for integration purposes. Want to taste it ?
    • Try http://localhost:9098/listMicroservices to get all about your microservices on the specific node (in this example we assume that JLupin is running on local machine). This information is used by JLupin Edge Balancer to cover servlet microservices and constantly online provide their services.
    • Try http://localhost:9098/getEventLog to get the list of entries from event log. It's the same list which is provided by "event list" from local console, using this interface you can send this information to other monitoring system in your organization.
    • Try http://localhost:9098/getAllEnvironmentState to get the whole information about the environment configuration and its state in one place, in one request.
  • Node activation / deactivation to perform graceful attachment or detachment of a node in the microservice environment. Want to taste it ?
    • type "node decativate" to hide node's services in the environment or
    • type "node deactivate force" to forcibly detach the node with shutting down the interfaces (sockets are unreachable). Finally...
    • type "node active" to restore node's availability.
  • Local console improvements, for example:
    • commands for output control (header, display, echo, etc.)
    • access to microservice's service repository (microservice repository)
    • node peers management (node peer add | remove)
    • enhanced properties management throgh show | set commands (hierarchical tree with auto-completion)
    • remote access to java properties in the "show" output
  • SSL sockets with two-way authentication mechanism to ensure the highest level of security of JLupin interfaces. Now It is available for HTTP Elastic API and turned on by default for transmission port to protect administration commands coming from JLupin local console of JLupin Control Center.
  • Dynamic logical servers to provide security mechanism ensuring that on the specific port the exact set of services is available for remote clients. Watch our marketplace and github to get more about use cases how to practically use this feature.
  • Lock manager to handle concurrent management process and internal operational loops. This interal mechanisms is for ensuring that every task performed by the administrator and by JLupin itself is performed in right order and safely.

These functions are the most important, there are plenty of more smaller improvements that combined with other give the great user experience of these unique technology.

The 1.4.1 is not finished... we are going to release this version in June 2018... we would like to encourage you to share your opinion about what we have done (use our contact form) and what we could do more (use "Your Ideas" in DevZone). Stay in touch !