2011-09-20 6 views
16

Ho avuto l'opportunità di trascorrere un gran numero di ore cercando di usare WCF in mono. È semplicemente troppo mal implementato a questo punto per essere inserito in un ambiente di produzione, per qualcosa che va oltre le applicazioni giocattolo. Non sopravvive a un carico di 24 ore al giorno.Opzioni per RPC in mono? (Alternative WCF)

Attualmente ho WCF su Mono in esecuzione in un ambiente di produzione, ma ho bisogno di allontanarmi da esso, almeno nel breve periodo, per portare stabilità al mio software. Attualmente sto sopravvivendo riavviando i processi ogni poche ore e spesso non è abbastanza.

Sto cercando potenziali alternative. Tutte le mie entità comunicanti sono basate su .net, alcune delle quali sono Mono su Linux e altre su Windows Server. Sono molto tentato di creare il mio layer RPC con protobuf-net come livello di serializzazione, ma preferirei non farlo. Il grande vantaggio di protobuf-net è che ha un buon supporto C++, che è qualcosa che apprezzo.

Qualcuno ha raggiunto la stabilità con RPC su Mono? Se sì, cosa hai fatto?

Aggiornamento: Non ho accennato al fatto che sto cercando un duplex di messaggistica di stato. Questa è una informazione molto importante. Non sono bloccato con esso, ma lo voglio molto. WCF fornisce questo con i canali duplex net-tcp.

+0

Questa è una domanda eccellente e spero davvero di vedere alcune risposte decenti. Anch'io, ho gli stessi problemi con il mono. Pertanto, mono non è qualcosa di cui posso fidarmi in un ambiente di produzione quando si tratta di WCF. –

risposta

8

Prova ServiceStack per REST/WS

Un moderno, in codice prima, DTO-driven, WCF sostituzione servizi web quadro incoraggiare le migliori pratiche per la creazione di asciutto, ad alta perfomance, riposo scalabile servizi web

Se stai cercando qualcosa di duplex e tcp basato, potresti considerare zeroMQ, anche se il problema impostato è leggermente diverso da WCF.

+0

+1 Questa sembra un'ottima opzione per i servizi web RESTful e un'alternativa a una funzione WCF. Ne troverò un uso in alcuni punti, ma (a meno che manchi qualcosa) non è possibile implementare un servizio duplex stateful. Ho aggiornato la mia domanda per evidenziare questo dettaglio. –

+0

@ John Hargrove: Potresti anche essere interessato a zeroMQ (aggiornato la mia risposta) se sei interessato a duplex tcp. – Brook

+0

high-perfo * mance ...: -/ – Danra

1

RestSharp è spesso citato nel canale IRC di Mono (ad esempio #mono su GimpNET) come alternativa e funziona con Mono, MonoTouch, Silverlight, Windows Phone 7 e, naturalmente, la FX regolare troppo.

+0

Vedrò questa possibilità. I miei sentimenti sono gli stessi che ho menzionato a Brook nella sua risposta a: ServiceStack. Sostituisce un aspetto di WCF, ma c'è un sacco di WCF da sostituire, e ho dei punti in cui un servizio REST non lo taglierà. –