聶永的博客

          記錄工作/學習的點點滴滴。

          或許,你可以建立另外一個Firebase,也供實時Web數(shù)據(jù)驅動平臺

          前言

          忙碌的人可以就此略過,有閑的人,可以浪費些空閑,看一看無關痛癢的文字。

          實時Web,一般人可以玩得起,只要你具有一些JAVA編程知識,外加一些JS實踐,也不是難事。

          這里,簡單設計一個基于socketio-netty的實時Web數(shù)據(jù)驅動平臺,用以托管實時應用,同時也提供了前后端的設計思路,從中也可以看到多租戶架構一些影子。

          至于什么是Firebase,什么是socketio-netty,那就只有自行google。

           

          設計思路

          后端設計

          1. 一個應用實例對應一個IOHandler接口實現(xiàn)
          2. 用戶上傳實現(xiàn)代碼,初始化一個應用實例,產(chǎn)生一個API KEY
          3. API KEY 客戶端需要顯示引用;API KEY是應用實例一一對應關系
          4. 服務器端提供java class 的hotswap(熱部署),應用實例動態(tài)添加/刪除/替換,做到無縫、平滑
          5. 暫時不考慮文件系統(tǒng)等,功能為先

          socketio-netty支持多個namespace(或許稱為頻道更為合適)的添加,靜態(tài)加載示范:

           

          前端實踐

          1. 一個頁面,支持多個應用實例,支持多個API KEY
          2. 前端JS須定義
            <script src="></script>
          3. API KEY使用方式和原生的socket.io客戶端使用方式一模一樣,無須多言。

           

          WEB端管理維護

          再來一個用戶的系統(tǒng)后臺管理就完備了:

          1. 上傳JAVA接口實現(xiàn)代碼,前期可只允許上傳.java代碼,以便代碼監(jiān)測使用(私有,則不需要)
          2. 查看應用實例,重新生成API KEY等
          3. 實例維護,暫停/停止/升級/替換/添加等,無縫、平滑等
          4. 其它常規(guī)操作

           

          設計小結

          基礎功做好之后,很顯然,您已經(jīng)實現(xiàn)了一個多租戶架構的實時WEB數(shù)據(jù)驅動平臺(名頭有些大哈),托管第三方實時應用,有點PAAS的味道。雖然針對的應用很窄,但更專業(yè)了。

          至于計費,安全,權限等,暫時可以歇歇,想太多,走不了多遠,太累,反而成就感會降低。系統(tǒng)進化演進的,大而全,不如小而精。

          這中間,難免需要對socketio-netty做一些定制工作,以適應應用實例的管理工作。

          至于實際應用,需要注意的地方還很多,這里不過是一個簡單模型(去掉了非核心的部分)的描述,和Firebase沒有半毛錢的關系。

          雖然設計了,不知道實際有沒有人需要這個東西,希望不是空中樓閣。

           

          PS/碎碎語

          socketio-netty最近的一些進展(與上面設計不相關):

          1. 增加示范在線演示
            入口地址:http://socketio.yongboy.com/
            在線聊天示范 訪問
            在線畫板示范 訪問

            想了解socket.io或者想了解socketio-netty的,可以點擊一下。
            但愿別超出EC2的免費流量限額,可能隨時會關閉。
          2. 增加使用者名單
            http://code.google.com/p/socketio-netty/wiki/UsersCollections

            至少,目前已經(jīng)有一家公司使用于生產(chǎn)環(huán)境

          posted on 2012-06-11 16:53 nieyong 閱讀(3392) 評論(1)  編輯  收藏 所屬分類: 容器

          評論

          # re: 或許,你可以建立另外一個Firebase,也供實時Web數(shù)據(jù)驅動平臺 2012-10-18 09:55 xinqiyang

          博主的思想和行動太贊的了,現(xiàn)在也在做這個方面的應用,請多多關照。  回復  更多評論   

          公告

          所有文章皆為原創(chuàng),若轉載請標明出處,謝謝~

          新浪微博,歡迎關注:

          導航

          <2012年6月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          統(tǒng)計

          常用鏈接

          留言簿(58)

          隨筆分類(130)

          隨筆檔案(151)

          個人收藏

          最新隨筆

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 乐昌市| 延安市| 宁夏| 正阳县| 安乡县| 玉环县| 平顺县| 南岸区| 靖安县| 房产| 无棣县| 平泉县| 丹阳市| 华容县| 息烽县| 侯马市| 黑山县| 莱西市| 成武县| 会同县| 中山市| 万宁市| 年辖:市辖区| 兴城市| 昌平区| 红原县| 苍梧县| 高唐县| 炎陵县| 张家港市| 永年县| 澄江县| 三门峡市| 扎鲁特旗| 德昌县| 邳州市| 海南省| 阿合奇县| 沐川县| 青铜峡市| 仙游县|