There are a lot of open source libraries and finding the right one can be an arduous, exhausting challenge. If you are a solutions architect or a Java developer looking for a tool that will take your software stack to the next level, this article might be for you. In this article, we share some popular Java libraries used by Chinese tech companies. Documentations for these libraries are also available in English.
As software gets increasingly complex, the number of configurations gets larger and larger. Configuration management becomes even more demanding. Configurations are expected to be updated in real-time, segregated by their environment, keep an audit trail, etc.
Traditional methods such as hosting configuration files in remote git repositories have become increasingly unable to satisfy developers’ need for configuration management.
Apollo is a reliable distributed configuration management centre born out of the Ctrip R&D department. It can centrally manage the configuration of different environments and different clusters of applications. After the configuration is modified, it can be pushed to the application in real-time.
Apollo has standardised features such as access control and service recovery, making it suitable for microservices configuration management. Apollo also integrates well with Spring/Spring Boot and provides support for other languages.
XXL-Job is a distributed task scheduling solution. It consists of an admin and executor component. The executor can be deployed in a cluster to achieve high availability while ensuring exactly-once semantics using database locks.
The admin component consists of a web UI to help manage the scheduling of tasks. The web UI comes with a built-in editor which you can use to write code that runs on schedule or on demand.
Other features such as task dependency management, user and access management, event-based tasks, email alerts, etc make XXL-job an ideal choice as a task scheduling solution.
Nacos, short for Dynamic Naming and Configuration Service, makes service discovery, configuration management and orchestration of cloud-native applications easier.
Nacos provides real-time health checks to prevent services from sending requests to unhealthy hosts or service instances. Nacos also provide a unified health dashboard to help manage the availability and traffic of services.
Nacos provides an easy-to-use UI to help manage all of your application or service configurations. It provides out-of-box features such as configuration version control, canary/beta release, configuration rollback, and status tracking of client configuration change to ensure safety and manage the risk of configuration change. Dynamic configuration eliminates the need to redeploy applications and services when configurations are updated.
Nacos supports weighted routing, making it easier to implement mid-tier load balancing, flexible routing policies, traffic control, and simple DNS resolution in your production environment within your data centre. It also makes it easy to implement DNS-based service discovery, eliminating the risk of vendor lock-in from integrating with vendor APIs.