Session共用是分散式系統設計時必須考慮的一個重要的點。相比較java中的session共用解決方案,.net中的解決方案還是比較少,MemcachedSessionProvider類庫是比較優秀的. EnyimMemcached是windows 下的memcached的客戶端,這是一個比較優秀 ...
Session共用是分散式系統設計時必須考慮的一個重要的點。相比較java中的session共用解決方案,.net中的解決方案還是比較少,MemcachedSessionProvider類庫是比較優秀的.
EnyimMemcached是windows 下的memcached的客戶端,這是一個比較優秀的類庫,之後我們要談到的MemcachedSessionProvider需要基於此memcached客戶端來實現session共用。
github地址: EnyimMemcached
微軟為我們實現了session共用,不過是基於sql server資料庫的,具體請看 Nginx + IIS實現負載均衡 Session多站點共用 (http://www.cjjjs.com/paper/gzsh/2017102418155818.html),如果在項目中採用此種設計方案,此設計是會降低性能,因為頻繁的讀取資料庫。但是微軟也提供了一個基類SessionStateStoreProviderBase
具體請看 How to: Sample Session-State Store Provider , MemcachedSessionProvider也是基於此基類設計出來的。不得不說,微軟許多基類的設計還是很不錯的,考慮的很周全!
github地址: MemcachedSessionProvider
我粗略的實現了下,但是並沒有實現session共用,我覺得應該是我沒有看懂github上的示例(我覺得我要吐槽下,我是真沒看懂github下的測試代碼(test文件))