<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.spiretrading.com/index.php?action=history&amp;feed=atom&amp;title=Spire_Services</id>
	<title>Spire Services - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.spiretrading.com/index.php?action=history&amp;feed=atom&amp;title=Spire_Services"/>
	<link rel="alternate" type="text/html" href="https://wiki.spiretrading.com/index.php?title=Spire_Services&amp;action=history"/>
	<updated>2026-05-28T22:54:51Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>https://wiki.spiretrading.com/index.php?title=Spire_Services&amp;diff=130&amp;oldid=prev</id>
		<title>Kamal: Created page with &quot;Spire is a distributed trading platform composed of multiple specialized servers that work together to provide a complete trading infrastructure. Each server is independently...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.spiretrading.com/index.php?title=Spire_Services&amp;diff=130&amp;oldid=prev"/>
		<updated>2026-05-27T19:38:19Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Spire is a distributed trading platform composed of multiple specialized servers that work together to provide a complete trading infrastructure. Each server is independently...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Spire is a distributed trading platform composed of multiple specialized servers that work together to provide a complete trading infrastructure. Each server is independently deployable, communicates through well-defined service interfaces, and authenticates through a central Service Locator.&lt;br /&gt;
&lt;br /&gt;
== Architecture Principles ==&lt;br /&gt;
&lt;br /&gt;
* '''Service-Oriented Design''' - Each server provides a focused set of functionality&lt;br /&gt;
* '''Distributed Deployment''' - Services can be deployed across multiple machines for scalability&lt;br /&gt;
* '''Centralized Authentication''' - All services authenticate through the Service Locator&lt;br /&gt;
* '''Persistent Storage''' - Critical data persisted to MySQL for durability&lt;br /&gt;
* '''Real-time Updates''' - Services publish updates to subscribed clients&lt;br /&gt;
&lt;br /&gt;
== Servers ==&lt;br /&gt;
&lt;br /&gt;
* '''[[Service Locator]]''' - Centralized authentication, account management, and service discovery&lt;br /&gt;
* '''[[Uid Server]]''' - Generates unique identifiers for orders and other entities&lt;br /&gt;
* '''[[Administration Server]]''' - Manages account roles, entitlements, risk parameters, and trading permissions&lt;br /&gt;
* '''[[Web Portal]]''' - Web-based interface for account management and administrative tasks&lt;br /&gt;
* '''[[Definitions Server]]''' - Provides reference data (countries, currencies, venues, trading schedules)&lt;br /&gt;
* '''[[Market Data Server]]''' - Receives, sequences, and persists market data from feed clients&lt;br /&gt;
* '''[[Market Data Relay Server]]''' - Load-balanced distribution of market data to end users&lt;br /&gt;
* '''[[Charting Server]]''' - Processes time series queries for candlestick and technical analysis data&lt;br /&gt;
* '''[[Compliance Server]]''' - Manages compliance rules and monitors violations&lt;br /&gt;
* '''[[Risk Server]]''' - Monitors profit/loss, enforces risk limits, manages account state transitions&lt;br /&gt;
* '''[[Order Execution Server]]''' - Routes orders to venues, tracks execution, enforces controls&lt;br /&gt;
&lt;br /&gt;
== Operations ==&lt;br /&gt;
&lt;br /&gt;
All servers follow consistent operational patterns. In addition to individual server management scripts, the platform provides aggregate scripts for managing all servers collectively.&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;install.sh&amp;lt;/code&amp;gt; script is designed for the latest Ubuntu Server LTS and performs a complete system installation including:&lt;br /&gt;
&lt;br /&gt;
* Installing system dependencies (build tools, MySQL, Node.js, Python packages)&lt;br /&gt;
* Configuring MySQL database and creating the spire schema&lt;br /&gt;
* Creating service accounts in the Service Locator&lt;br /&gt;
* Setting up initial permissions and directory structure&lt;br /&gt;
* Configuring all servers with appropriate network settings&lt;br /&gt;
&lt;br /&gt;
The installation script automatically creates service accounts for all servers and assigns them to the appropriate permission groups.&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;setup.py&amp;lt;/code&amp;gt; script configures all servers by propagating common settings across individual server configurations. This script calls each server's individual setup script with appropriate parameters, ensuring consistent configuration across the platform.&lt;br /&gt;
&lt;br /&gt;
=== Starting and Stopping ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;start.sh&amp;lt;/code&amp;gt; script starts all servers in dependency order. After starting all servers, the script automatically runs &amp;lt;code&amp;gt;reset_risk_states.py&amp;lt;/code&amp;gt; to initialize risk state for the trading session.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;stop.sh&amp;lt;/code&amp;gt; script gracefully stops all servers in reverse dependency order, ensuring that dependent services shut down before the services they depend on.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;check.sh&amp;lt;/code&amp;gt; script verifies that all servers are running and reports the status of each service. It exits with a non-zero status if any server is not running, making it suitable for monitoring and health check automation.&lt;/div&gt;</summary>
		<author><name>Kamal</name></author>
		
	</entry>
</feed>