2016-05-12 22 views
1

Ich versuche, einen F # + Suave-basierten Mikro-Dienst zu erstellen, der eine Anfrage entgegennimmt und einige Matrizen und Nachschlagetabellen verwendet, um eine Antwort zu berechnen. Der Dienst muss auf in einem Docker-Container auf Linux (Mono später CoreCLR) ausgeführt werden.Einbetten von Daten in einen F # (Mikro-) Dienst

Diese Matrizen und Lookup-Tabellen haben 1000 bis 1 Million Elemente (normalerweise Gleitkommazahlen) und werden offline mit verschiedenen IPython-Notizbüchern (Pandas DataFrames) generiert.

Ist es möglich, diese Matrizen in einem binären Format in den Dienst einzubetten, und wenn ja, welche Best Practice (s) sollten Sie dafür verwenden?

Bis jetzt habe ich in Resgen gesucht, aber das scheint hauptsächlich auf Lokalisierungsprobleme konzentriert zu sein. Ich denke auch darüber nach, den Pandas DataFrame in eine CSV zu exportieren und dann ein Skript zu erstellen, um diese in Binärdaten umzuwandeln. Aber wie würde ich diese Binärdateien in meinen F #/Suave-Dienst einbetten? Oder gibt es einen besseren Ansatz?

+1

Haben Sie sie als eingebettete Ressource betrachtet? – Lawrence

+0

wenn du damit meinst, dann habe ich es ja gemacht. –

Antwort

1

Sie können einfach die Binärdateien neben der Anwendung bereitstellen und sie zum Zeitpunkt des Starts laden und parsen .

Der Compiler kann die Binärdateien auch in die Produktdatei .dll oder .exe einbetten, obwohl ich keinen großen Vorteil sehe.

+0

es würde Bereitstellung erleichtern, weniger spröde und angenommen, dass meine Binärdateien gültig sind IL (?) Inkompatible Änderungen in meinen Daten würde Kompilierzeit Fehler und nicht Runtime-Abstürze führen –