日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Worktile 技术架构概要

發布時間:2025/5/22 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Worktile 技术架构概要 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

其實早就該寫這篇博客了,一直說忙于工作沒有時間,其實時間擠擠總會有的,可能就是因為懶吧!從2013年11月一直拖到現在,今天就簡單談談 Worktile 的技術架構吧 。

Worktile 自上線到現在收到了很多用戶的喜歡,我們倍感欣慰,自己做的產品得到了用戶的認可是件幸福的事情,其中有很多來自IT的用戶,經常在官方群或者知乎上問一些關于Worktile的技術問題:

Worktile 采用的是怎么樣的架構?
Wortile 前后端采用了哪些技術?
...

Worktile整體架構一覽

Worktile 是企業協同辦公軟件,所以一開始注定就應該是單頁應用(SPA),因為使用SPA后,用戶在瀏覽器端可以像操作原生客戶端程序一樣的體驗(速度和流暢度),對于開發者來說,前后端分離,服務端只提供RESTful API服務,移動端集成也非常的方便,具體可以看下面這張草圖。

?

?

前端

  • Angular.js(客戶端MV*)
  • Bootstrap?(CSS基礎庫和一些Javascript組件)
  • UI Bootstrap?(Bootstrap 的 Angular.js版本)
  • jQuery?(取代Angular.js中的jqLite,并作為其他第三方jQuery插件的基礎類庫)
  • Worktile的服務端基本上只是提供API數據服務的,不會渲染HTML,前端的代碼在發布之前會使用 Grunt 工具打包合并壓縮成一個js文件。

    Angular.js

    既然是SPA程序,前端必然要選擇一個MVC(或者MVVM)框架,關于前端MVC框架有很多,當時面臨選擇的時候也是比較猶豫,因為在此之前我們只初略的使用過?Knockoutjs?。
    其實我們當時就是急切的希望一個框架能做到:

  • 數據能夠雙向綁定(或者只單向綁定)
  • 前端路由功能
  • 簡單易學的模板語言
  • 最終我們選擇了 Angular.js,具體其中選擇的細節就不一一描述了(之前在知乎上也回答過關于Angular.js 的問題:Angular.js 在實際應用中有哪些優缺點?),從開始使用到現在已經快2年了,事實證明當初的選擇還是沒有錯的, Angular.js的確很適合 Worktile。

    Bootstrap 和 jQuery

    選擇Bootstrap主要是為了使用它的基礎CSS功能,在它的基礎之上很容寫出規范的樣式代碼,當然我們也需要使用其中的部分Javascrip組件功能,因為原生的 Bootstrap是基于 jQuery的,為了在Angular.js中也能很好的使用它,我們引入了 UI Bootstrap、關于jQuery大家再熟悉不過了,我們使用的很多第三方插件是jQuery的,所以也一并引入了。

    上面只是列出了 Worktile 主要使用的幾個Javascript框架和類庫,真正使用的類庫遠不止上面列出的這些。比如日歷庫?ui-calendar、underscorejs?等等...

    服務端

  • Node.js
  • Redis
  • MongoDB
  • Node.js

    服務端是構建在Node.js之上的,我們的服務端MVC框架采用的是?Expressjs,剛開始是 Express 3.x版本,現在已經升級到 4.x,Expressjs提供了 Route和模板引擎的功能,由于我們的服務端基本只提供數據服務,所以關于服務端模板引擎這塊基本不使用(只有布局和一些配置項輸出到界面時需要用到)。

    選擇 Node.js 是因為它簡單,適合高并發的Web服務,而且我們的開發人員能夠熟練使用它,關于Node.js的優缺點我在知乎上也曾經回答過:使用 Node.js 的優勢和劣勢都有哪些?。

    Redis

    Worktile 用戶的登錄狀態,一些臨時使用的數據、部分業務數據緩存 都是放在 Redis 里面的,關于Node.js怎么和 Redis 連接采用?Node Redis?模塊。

    MongoDB

    Worktile 并不是那種高度事物性的系統或者傳統的商業智能應用,所以MongoDB非常適合,性能非常高,集群方便,而且以BSON結構存儲,和Node.js完美集成。
    Worktile 的數據層和MongoDB之間并不是使用?原生的驅動?,而采用了?mongoosejs,類似Java或者C#上的ORM框架,使用 mongoose 可以很方面的定義數據 Schema,讀取操作 MongoDB。

    推送服務

    前面也說了 Worktile 是 SPA程序,用戶登錄到系統之后,基本上所有的操作都不需要刷新瀏覽器,因為是一個協同辦公軟件,其他用戶多數據進行操作需要實時更新,所以客戶端必然要和服務端保持一種長連接,方面進行數據交互,我們的實時推送服務是采用 Erlang 語言編寫的,感興趣的可以查看:https://worktile.com/tech/basic/worktile-real-time-notice

    采用 Erlang 是因為我們的開發人員有這方面的經驗,并且Erlang非常適合做這個高并發實時推送服務。

    如果你熟悉 Node.js 肯定知道?Sockiet.IO,我們最初的實時推送其實是采用 Sockiet.IO的,后來由于訪問量的增張,原有的Sockiet.IO 是基于Worktile Web站點的,沒有獨立成單獨的服務,重構的時候徹底采用Erlang重寫了。

    其實這2種技術都非常優秀,選擇哪種主要取決于你擅長什么。

    文件預覽服務

    使用過 Worktile 的人肯定都知道,在系統中上傳一些文件,比如:word、excel、txt、pdf、ppt等等,都是可以在線預覽的,關于 txt、pdf這些文件的預覽其實好辦,txt直接讀取文件內容即可,pdf采用瀏覽器自帶的預覽或者使用一些Js類庫都很方便的做到,但是對于 Ofiice 文件,是不可以直接讀取的,所以我們自己搭建了一套 Ofiice的預覽服務,這個服務主要是基于微軟的?Office Web App服務

    Box 文件服務

    Worktile 中所有的文件存儲在阿里云的OSS上,為了做一些權限的認證和安全問題,我們通過一個Box服務做中轉,所有文件的上傳下載都是走 Box 服務。這要感謝 5樓的Box之父 @Shaun Xu 寫出了這么好的Box 服務。

    以上是Worktile用的所有技術和架構簡單介紹。

    Worktile 自上線以來用戶的增長也是非常迅速的,所以 Web服務器從原先的1臺變成多臺,數據庫從單實例到現在的集群,等等,關于目前Worktile的服務器結構圖參考如下:

    總結

    以上是生活随笔為你收集整理的Worktile 技术架构概要的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 精品久久久久久久中文字幕 | 人妻av一区二区 | 天天爱夜夜爱 | 日本a级网站 | 337p粉嫩日本欧洲亚洲大胆 | 国产一区二区视频在线免费观看 | 后宫秀女调教(高h,np) | 成人激情小视频 | 久久精热 | 五月天丁香社区 | 国产日韩在线看 | 亚洲av永久无码精品三区在线 | 日本在线黄色 | avtt亚洲天堂| 激情片网站 | 成人高清网站 | 免费精品在线 | 久久岛国 | 高潮疯狂过瘾粗话对白 | 高清视频一区二区三区 | 欧美一区二区三区四区五区 | 欧美一级大片免费看 | 欧美黑人xxxⅹ高潮交 | 色播亚洲 | 欧美一区二区在线视频观看 | 亚洲生活片 | 美国黄色a级片 | 婷婷激情电影 | 成年人看的羞羞网站 | 懂色av蜜臀av粉嫩av分享吧最新章节 | 国产精品第五页 | 日日拍夜夜拍 | 国产精品免费一区二区三区四区 | 国产经典一区二区三区 | 青青草黄色| 日本日皮视频 | 蜜桃精品在线 | 日本免费在线播放 | 91色视频在线 | 亚洲欧美日韩在线 | 91麻豆精品国产午夜天堂 | 国产精品日韩精品欧美精品 | 亚洲欧洲日本国产 | 日韩视频免费观看高清完整版 | 亚洲有吗在线 | 午夜老司机福利 | 亚洲一线二线在线观看 | 涩涩视频免费看 | 亚洲精品男人的天堂 | 泰国午夜理伦三级 | 黄色三级免费网站 | 免费的毛片 | 亚洲啪啪网站 | 永久影院| 日韩久久久久久久久久 | 少妇特黄一区二区 | 91精品福利 | 黑人巨大精品欧美黑白配亚洲 | 精品国产一区二区三区久久久久久 | 女尊高h男高潮呻吟 | 人人射 | 三浦理惠子av在线播放 | 99久久婷婷国产综合精品 | 欧美丰满bbw| 天天躁日日躁狠狠躁av麻豆 | 欧美三级网站在线观看 | 欧美三级自拍 | 波多野结衣1区 | 91av在线免费 | 亚洲av成人一区二区国产精品 | 我要看黄色大片 | 午夜久久久久久久久久 | 久久久夜色精品亚洲 | 三年在线观看视频 | 亚洲一区二区三区综合 | 免费黄av | 国产精品熟妇一区二区三区四区 | 日韩免费在线视频观看 | 久久爱网| 国产精品第一国产精品 | 中文字幕色网 | 亚洲在线观看免费 | 亚洲 欧美 激情 另类 校园 | 大肉大捧一进一出好爽视频动漫 | 黄色三级网站在线观看 | 国产精品91久久久 | 秋霞成人午夜伦在线观看 | 亚洲av无码国产精品久久不卡 | 欧美性猛交久久久久 | 丰满岳乱妇一区二区 | 超碰97在线资源 | 亚洲综合精品国产 | 久久成人午夜 | 欧美性久久久 | 国产精品日韩一区 | 成人免费高清在线观看 | 日本私人影院 | 国产精品国产三级国产普通话蜜臀 | 久久中文字幕人妻 |