1、響應式基本概念:
1)響應式程式設計(reactive programing):
響應式程式設計也是一種程式設計範式,類似最近幾年随着大資料崛起的函數式程式設計(scala為代表)一樣;90年代末由微軟工程師提出來的。RP(reactive programing)是一種基于異步資料流概念的程式設計範式,他的精髓也在于對資料流的高效處理。
2)響應式擴充(reactive extensions):
RX是一種程式設計模型,最初是由微軟(又是微軟)Erik Meijer上司的團隊在.NET平台上開發,随着響應式程式設計的不斷傳播,已經移植到很多語言上了,比如RxJava是Netflix在2013年在Java中的實作,更多語言的實作可以到ReactiveX網站上檢視。
Rx思想的本質是能夠讓我們以同步的方式寫異步代碼,同步是指代碼看起來沒有回調之類的結構,代碼就像是一連串 順序 執行的指令,不會和回調一樣後一行的代碼可能在前一行代碼的前面執行,異步是指雖然代碼看起來時同步的,但是實際執行時卻可以是異步的,這個異步的過程是Rx幫我們做了。
對于響應式這塊,我們可以參考《反應式設計模型》、《Erlang趣學指南》(Erlang是一種通用的并發程式設計語言)
Actor 模型為編寫并發和分布式的系統提供了高層次的抽象,為開發人員屏蔽了顯式鎖定和線程管理的工作;同時,他為響應式系統(reactive)提供了核心功能,這些功能在反應式中定義為響應性、彈性、擴充性以及消息驅動等。