Solvice Maps implements a sophisticated, cloud-native microservices architecture designed for high performance, scalability, and reliability. The system combines multiple routing engines with intelligent request processing, caching, and optimization to deliver sub-50ms routing calculations at enterprise scale.
interface RoutingEngine { fun calculateRoute(request: RouteRequest): RouteResponse fun calculateTable(request: TableRequest): TableResponse fun isAvailable(): Boolean fun getRegionSupport(): List<Region>}
Implemented Engines:
OSM/OSRM: Self-hosted, high-performance, free
TomTom: Commercial API with real-time traffic
AnyMap: European-focused routing service
Google Maps: Global coverage with comprehensive data
val retryConfig = RetryConfig.custom<RoutingResponse>() .maxAttempts(3) .waitDuration(Duration.ofSeconds(1)) .exponentialBackoffMultiplier(2.0) .retryOnException { it is TemporaryRoutingException } .build()
sealed class TableEvent { data class TableRequestCreated(val tableId: Long, val request: TableRequest) data class TableProcessingStarted(val tableId: Long, val engine: RoutingEngine) data class TableProcessingCompleted(val tableId: Long, val response: TableResponse) data class TableProcessingFailed(val tableId: Long, val error: String)}
This technical architecture provides a robust foundation for Solvice Maps, enabling high performance, scalability, and reliability while maintaining developer productivity and operational simplicity.
Assistant
Responses are generated using AI and may contain mistakes.