Difference between revisions of "Rabora shipping systems"
From DarkWiki
| (10 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
| − | {| | + | {| class="wikitable" style="width: 100%" |
| − | !System! | + | ! style="width:150px"|System |
| + | ! style="width:500px"|Description | ||
| + | !Rationale | ||
|- | |- | ||
| − | |rabora-shipping | + | |rabora-shipping-api |
|The shipping system deals with all aspects of shipping orders and parcels. | |The shipping system deals with all aspects of shipping orders and parcels. | ||
|This system is high-input volume and high-frequency usage of a small dataset (the "active parcels"). As such, we will attempt to keep as much of this data in cache as possible. | |This system is high-input volume and high-frequency usage of a small dataset (the "active parcels"). As such, we will attempt to keep as much of this data in cache as possible. | ||
|- | |- | ||
| − | |rabora-option-search | + | |rabora-option-search-api |
|This carrier option search system is responsible for choosing the best carriers & services based on a complex rule set. | |This carrier option search system is responsible for choosing the best carriers & services based on a complex rule set. | ||
|This system needs to turn requests around quickly, so rules (etc.) need to be held in memory as much as possible. Relatively speaking, this system does not write much data at all. To ensure fast response, this system will be scaled horizontally as and when required. Moreover, there is carrier logic here (perhaps even calls to carrier systems) which is to be deployed without interruption to the main warehouse services. | |This system needs to turn requests around quickly, so rules (etc.) need to be held in memory as much as possible. Relatively speaking, this system does not write much data at all. To ensure fast response, this system will be scaled horizontally as and when required. Moreover, there is carrier logic here (perhaps even calls to carrier systems) which is to be deployed without interruption to the main warehouse services. | ||
| + | |- | ||
| + | |rabora-label-api | ||
| + | |This system produces labels and documentation for transport. | ||
| + | |This needs to work as quickly as possible and easily scaled. With limited writing, we need to hold the complex template logic in memory. I don't expect there to ever be any more than 5,000 templates, although a retailer's customisation might need to be considered in the future. | ||
| + | |- | ||
| + | |tracking-api | ||
| + | |This provides access to the tracking information about particular parcels and orders. | ||
| + | |This handles large batches of updates within its database (which is separate from other systems). It is called both by the public API and the shipping systems. | ||
|} | |} | ||
Latest revision as of 10:05, 16 June 2017
| System | Description | Rationale |
|---|---|---|
| rabora-shipping-api | The shipping system deals with all aspects of shipping orders and parcels. | This system is high-input volume and high-frequency usage of a small dataset (the "active parcels"). As such, we will attempt to keep as much of this data in cache as possible. |
| rabora-option-search-api | This carrier option search system is responsible for choosing the best carriers & services based on a complex rule set. | This system needs to turn requests around quickly, so rules (etc.) need to be held in memory as much as possible. Relatively speaking, this system does not write much data at all. To ensure fast response, this system will be scaled horizontally as and when required. Moreover, there is carrier logic here (perhaps even calls to carrier systems) which is to be deployed without interruption to the main warehouse services. |
| rabora-label-api | This system produces labels and documentation for transport. | This needs to work as quickly as possible and easily scaled. With limited writing, we need to hold the complex template logic in memory. I don't expect there to ever be any more than 5,000 templates, although a retailer's customisation might need to be considered in the future. |
| tracking-api | This provides access to the tracking information about particular parcels and orders. | This handles large batches of updates within its database (which is separate from other systems). It is called both by the public API and the shipping systems. |