Kynetx System Architecture
From KynetxDocs
Kynetx Network Services (KNS) are provided by a modular collection of servers having different service types. The service types are designated by service type and allow KNS to be scaled in a modular fashion.
The following diagram shows the KNS architecture.
Service Types
The server types in the architecture diagram support the following service types:
- initialization -- Initialization servers delivers the KRL runtime library and client datasets to the browser. The runtime library is stored on Amazon's S3 and delivered via the CloudFront content delivery service.
- ruleset -- Ruleset servers deliver services for rulesets. The primary service in this group is a ruleset evaluation.
- callback -- Callback servers service callback requests from the browser to log rule success and failure.
More information about these services can be found in the Kynetx Network Services (KNS) API documentation.
Load Balancing
The following gives the status of load balancing ss of the modification date at the bottom of this document:
| Service type | Load balanced? | # of servers | Notes |
|---|---|---|---|
| Initialization | N | 1 | Init servers have low load due to initialization file caching by the browser and proxies. Plans are to move to multiple servers are in place as load increases. |
| Ruleset | Y | 4 | Currently all ruleset servers are lightly loaded. Infrastructure Automation allows new servers to be added quickly as load ramps up. |
| Callback | N | 1 | Callback servers are lightly loaded. Plans are to move to multiple servers are in place as load increases. |
Architectural Principles and Practices
The following principles and practices guide architectural decisions and are in place to ensure service speed and scalability:
- All KNS service types are designed to scale horizontally.
- All KNS service types are designed to work behind a load balancer without pinning.
- All KNS service types are designed to service requests without the need to pin a browser to a particular server.
- All KNS service types are designed to work on Amazon's EC2 cluster and other cloud computing services to ensure the Kynetx's ability to service demand.
- KNS services do not use a SQL database and all data acquisition by the servers is either onboard the server or of a type that can be cached. For example, ruleset servers acquire the rulesets from the versioned rule repository, but cache them until they are notified that the ruleset has been flushed.
- KNS services are implemented as Apache modules for speed and scalability. There are no external processes run when a request is serviced.
- All external service calls are cached for a period of time set by the type of data returned and it's expected use.

