/ / JSON pri analýze na strane servera vs. analyzátora - json, performance, node.js, parsovanie

Analýza JSON na strane servera vs. analyzovanie - json, performance, node.js, parsovanie

Píšem aplikáciu uzla a potrebujem server niekoľko mapových dát JSON. Aby sa dáta správne zobrazovali, musí sa analyzovať.

Teraz sa zaujímam, či je lepšie analyzovať na serveri (a odoslať tento analyzovaný dátový objekt klientovi) alebo poslať čistý json a nechať ho analyzovať na strane klienta po spojení ajax.

Moja najväčšia obava v tom, že to robím na serveri, je, že mnohé súčasné otázky by mohli spomaliť všetko pre celú skupinu ľudí.

Možnosť kódu na strane servera:

var data = [];
db.simple_query([{ask: COMPLEX QUERY TO RETURN DATA AS JSON }], function(err, geo_data){
if (err) {
callback(err);
}
else{
data.push(JSON.parse(geo_data.rows[0].row_to_json));
callback();
}
});

Možnosť kódu na strane klienta:

$.ajax({
type: "GET",
url: url,
success: function(data){
if (data){
$.each(data, function(i, geo){
L.geoJson(JSON.parse(geo)).addTo(map);
});
}
},
error: function(data){
//Error Handling
}
});

odpovede:

4 pre odpoveď č. 1

Naozaj to nezáleží. V porovnaní s prístupom k databáze (alebo v podstate všetko, čo sa týka aktivity siete alebo disku) serializácia / deserializácia JSON je rýchle. Nepoužívajte nadbytočné optimalizácie vecí, ktoré nepotrebujú optimalizáciu.

Ak však chcete údaje odoslať klientovi bez spracovania na strane servera a už dostanete reťazec JSON, bolo by zbytočné ho deserializovať na server a následne ho znova serializovať, aby ho odovzdal klientovi, ktorý ho opäť musí deserializovať.


2 pre odpoveď č. 2

Ak ide o službu, ktorú chcete udržiavať,mierka, alebo podpora pohybu dopredu potom som pravdepodobne ísť w parsovanie na serveri.Ak nie a ste práve rušivé to pre niektoré krátkodobé potreby alebo sú taktické z akéhokoľvek dôvodu, potom som to len analyzovať na klienta , V každom prípade očakávam, že dopad parsovania / serializácie JSON je zanedbateľný ... a preto som pri rozhodovaní zohľadnil ďalšie faktory.

Ak idete s analýzou na strane servera, zostanetev dobrej pozícii z mnohých dôvodov. Po prvé, budete môcť poskytnúť lepšiu zmluvu (zmluvy) pre tieto údaje (napr. Rozložiť údaje do súdržných súborov zodpovedností) Skryť leaky / ošklivé detaily Znížiť a prerezávať veľkosť užitočného zaťaženia na to, čo má zmysel pre vás ) Po druhé, ak sa rozhodnete použiť iného poskytovateľa dát alebo podkladového poskytovateľa údajov, alebo ak chcete zmeniť niektorú z podrobností implementácie (napr. Algoritmus analýzy), môžete tieto rozhodnutia uchrániť od klientov. Možnosti na serveri na zmenšenie alebo optimalizáciu výkonu služby sú mnohé (napr. ukladanie do vyrovnávacej pamäte, optimalizácia parsovania, ďalšie stroje atď.) a tieto podrobnosti implementácie môžu byť skryté aj od spotrebiteľov.

Celkovo by som poskytol dobrý súbor zmlúva robiť stránku analytického servera, aby sa skryli moje podrobnosti implementácie, pokiaľ okolnosti (napr. krátka časová os, to je prototyp) diktované inak.