
The Hiitch server is a multi-threaded application server that you can tune to scale it to your desired hardware setup. It also implements customizable security features that you can use to secure your own network’s integrity and privacy. Hence, understanding some of the key concepts in its design implementation is important. We will begin by describing the detail interaction process that goes on in the server that is unique to every individual Hiitch network implementation.
Server Interaction Process
Before any information is communicated between the client and the server, the clients will first request for the authenticity of the server. Each client has an associated digital certificate that ties it to a particular server. The client will then verify the digital signature to see if the content is coming from the intended server and proceed to send its confidential information to sign in to the server. This whole verification process is unique to each network. During the server installation process, our default script will assist you to generate a set of public and private key pair, also known as a digital certificate, that identifies your particular network. Without generating this digital certificate and exporting the cert to your clients, the integrity of your network can be easily compromised. Once the verification process is correctly completed, the clients will start a new secure session with the server.
Server Threading Model
Once a secure session has been authenticated and started on the server, its threading model kicks in. All clients requests are harvested and then independently processed by a pool of worker threads. You can tune and configure the total number of threads you want as socket harvesters and the number of worker threads attached to each socket harvester. The flexibility of the threading model will enable you to control the performance ratio between accepting requests and processing instructions on each server. Socket harvester threads are responsible for receiving incoming requests and then queue them up for processing by worker threads. Worker threads are responsible to resolve incoming requests to a combination of instructions and then processing those instructions to satisfy the requests. The result of this design is a very advance, efficient and scalable server that you can optimize with your dedicated hardware setup.
Server Performance Considerations
The Hiitch server was also designed to work with other techniques that can help you to easily and cheaply scale your network. A few of these techniques that you can use in combination are load balancing, network file system (NFS), high availability and etc. With a good amount of bandwidth, you can improve your social network performance by load balancing multiple Hiitch servers on a few old computers sharing their storage space using NFS. Hiitch servers will work seamlessly across the entire cluster of machines as if they were one single computer. High availability is a build in feature on Hiitch servers, although not extensive but it should be reasonable enough to meet your average needs.
Future Server Developments
Future developments will move toward a peer to peer (P2P) Hiitch servers system with clients that can connect across different networks securely and dynamically.












Post Comments