1 回答
TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個(gè)贊
感覺(jué)就是將Http Service 抽象為了 Function<Request ,
Response<Publisher<T>>>, Publisher就是Reactive
中常說(shuō)的Observable或Stream,這里又叫Publisher (Flux&Mono),Publisher負(fù)責(zé)了異步操作
對(duì)其架構(gòu)進(jìn)行猜測(cè):前方為傳統(tǒng)的accept線(xiàn)程池,分發(fā)請(qǐng)求,運(yùn)行route
functions,組合publishers
返回結(jié)果;后方為reactive的線(xiàn)程池(為RP提供異步支持),對(duì)于簡(jiǎn)單的操作直接返回Response<T>,不用后方的reactive線(xiàn)程;而對(duì)與DAO操作等耗時(shí)操作(返回Response<Publisher<T>>),則被異步化了
所以最大的變化是引入了Reactive
Programming,(并且Rx系的庫(kù)API很Functional),前面route的DSL和SpringMVC的Mapping沒(méi)多大變化(頂多就是個(gè)monoid
append) ;至于Reactive
Programming將DAO操作(包括RPC調(diào)用等)異步化,比自己去對(duì)Future做combination要高一級(jí),不會(huì)出大問(wèn)題(并且Publisher是個(gè)Monad,使用得當(dāng)不會(huì)發(fā)生Callback
Hell)。
- 1 回答
- 0 關(guān)注
- 1051 瀏覽
添加回答
舉報(bào)
