Kato App Market Application Spec
This document continues to be improved…
This specification was formulated to guide users on how to make SaaS-based delivery applications for the Kato application market.
Support One-click Installation
One-click installation refers to the one-click automatic installation of a complete business system through the application market. To have this ability, you need to:
- The complete business system supports the ability to automatically initialize and upgrade persistent data.
- Optimal configuration of services based on environment variables.
Strong Fault Tolerance
Strong fault tolerance means that in the cloud environment, all components in the business system can have a certain degree of chaos and fault tolerance, especially the following points:
- When the service starts, a certain retry is made for the dependent communication of other services.
- The service cannot appear in a deadlock state, such as a service stuck due to an error in communication with other services.
The application can be installed and deployed multiple times.
The Key Factor
Data initialization is generally database data initialization and static data initialization. The recommended processing methods are as follows:
Database Data Initialization
In the microservice scenario, if each service has its own database service, you can directly use the database such as Mysql as a service for code maintenance, and continuously upgrade the corresponding service SQL initialization code and upgrade code.
The second is that the service itself maintains SQL, and executes SQL according to the version characteristics after each startup. This type of method is generally an upgrade method of only increase but not decrease.
Static Data Initialization
This type of mainly website services need to persist certain directories, but the directories already contain some initialization data. The operation method is to first put the initialization data in other directories. After the service is started, it is determined whether the persistent directory contains data. If it does not, the initialization data is synchronized to achieve initialization.
When the application is delivered as a SaaS standard, it is recommended that the customized configuration part be completely environment variable, and different parameter types are defined in the form of environment variables. In particular, the connection information between services must be fully variable according to Kato’s specification environment to ensure that it works normally after each installation data change.