• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于響應(yīng)式微服務(wù)的自主學(xué)習(xí)平臺的設(shè)計與實現(xiàn)

    2017-05-03 09:14:27王善坤呂海東
    微型電腦應(yīng)用 2017年3期
    關(guān)鍵詞:頁面架構(gòu)框架

    王善坤, 呂海東

    (大連理工大學(xué)城市學(xué)院,大連 116600)

    基于響應(yīng)式微服務(wù)的自主學(xué)習(xí)平臺的設(shè)計與實現(xiàn)

    王善坤, 呂海東

    (大連理工大學(xué)城市學(xué)院,大連 116600)

    針對傳統(tǒng)軟件應(yīng)用項目的單一整體架構(gòu)的可維護(hù)性、可擴(kuò)展性和可伸縮性,以及無法適應(yīng)移動互聯(lián)網(wǎng)時代的超大規(guī)模客戶訪問的缺陷,提出了采用全新的異步、非阻塞、實時性、高并發(fā)的工作模式的基于響應(yīng)式微服務(wù)的企業(yè)級應(yīng)用架構(gòu)。在此架構(gòu)的原則指導(dǎo)下,使用全新的SPA模式,后臺Node.js和Seneca微服務(wù)以及前臺AngularJS框架實現(xiàn)了高校自主學(xué)習(xí)平臺軟件應(yīng)用系統(tǒng)。實際應(yīng)用表明,該系統(tǒng)在超大量移動客戶訪問的情況下,響應(yīng)迅速,極大超越了使用傳統(tǒng)的Java Web平臺的原有系統(tǒng)。

    微服務(wù); 響應(yīng)式; 事件驅(qū)動; 單網(wǎng)頁應(yīng)用

    0 引言

    隨著移動互聯(lián)網(wǎng)的迅猛發(fā)展,現(xiàn)代軟件應(yīng)用系統(tǒng)的需求在快速不斷的變化,與此同時使用移動終端如手機(jī)或平板訪問軟件系統(tǒng)[1]正日益普及,要求軟件系統(tǒng)必須能適應(yīng)超大并發(fā)訪問量處理與響應(yīng)。傳統(tǒng)的整體單一架構(gòu)的軟件系統(tǒng)[2]設(shè)計已無法適應(yīng)移動互聯(lián)網(wǎng)時代的快速變化,面臨著越來越多的挑戰(zhàn),包括項目的開發(fā),部署以及后續(xù)的維護(hù)都難以實現(xiàn)DevOps[3]持續(xù)交付的要求。

    為適應(yīng)移動互聯(lián)網(wǎng)高速發(fā)展以及在項目開發(fā)敏捷、精益、持續(xù)交付的強(qiáng)大需求下,目前軟件項目的部署方式由傳統(tǒng)的單服務(wù)器模式向虛擬化、容器化(Docker)和云平臺轉(zhuǎn)變,導(dǎo)致微服務(wù)(Micro Service)[4]異軍突起,得到飛速的發(fā)展和應(yīng)用。

    在微服務(wù)的開發(fā)方面,為適應(yīng)當(dāng)今移動互聯(lián)網(wǎng)時代大量移動客戶端設(shè)備的并發(fā)請求,使用傳統(tǒng)的、采用多線程模式的企業(yè)級架構(gòu)(如JavaEE,MS.NET和PHP)已經(jīng)難以滿足如此眾多的客戶端的超大并發(fā)請求,成為這些框架難以逾越的C10K+問題[5]。為此使用全新模式的單線程、異步工作模式和響應(yīng)式事件驅(qū)動的服務(wù)端框架技術(shù)Node.js[6]成為開發(fā)微服務(wù)的首選。

    本文介紹了使用Node.js框架以及在其基礎(chǔ)上的微服務(wù)框架Seneca[7],持久層ORM框架Sequelize[8],并結(jié)合客戶端框架AngularJS[9]和Bootstrap[10]實現(xiàn)了單頁面應(yīng)用模式(SPA)[11]的基于高校校園網(wǎng)的自主學(xué)習(xí)平臺[12]的開發(fā)與實現(xiàn)。在此平臺上教師可以管理自己的課程的微課視頻,在線學(xué)習(xí)資料,在線測試題目發(fā)布,并結(jié)合微信,微博實現(xiàn)立體化的教學(xué)。學(xué)生可以通過此平臺實現(xiàn)不限時間和地點的全方位學(xué)習(xí)和測驗。

    1 系統(tǒng)總體架構(gòu)設(shè)計

    自主學(xué)習(xí)平臺軟件系統(tǒng)采用后端和前端分離的架構(gòu)設(shè)計,如圖1所示。

    服務(wù)器后端采用Node.js作為基礎(chǔ)平臺,結(jié)合ORM持久層框架Sequelize和微服務(wù)框架Senecas實現(xiàn)了REST API模式的訪問模式。Web前端通過REST API訪問后端服務(wù)器,通過發(fā)送和接收J(rèn)SON數(shù)據(jù)實現(xiàn)業(yè)務(wù)處理,克服了傳統(tǒng)的Java Web由服務(wù)器端使用JSP生成HTML頁面的弊病,極大地節(jié)省了網(wǎng)絡(luò)帶寬,提高了系統(tǒng)的響應(yīng)速度。

    圖1 系統(tǒng)總體架構(gòu)設(shè)計

    近年來,由于傳統(tǒng)的應(yīng)用服務(wù)器如JavaEE,MS.NET和PHP都采用多線程模式處理多用戶并發(fā)請求,導(dǎo)致了著名的C10K+問題,尤其是移動互聯(lián)網(wǎng)時代,使用智能手機(jī)或平板電腦訪問軟件系統(tǒng)呈現(xiàn)爆炸性增長,進(jìn)而升級為C10M+問題,未來可能為C10G+問題,這是傳統(tǒng)系統(tǒng)難以有效解決的難題之一。

    在此情況下,以解決高并發(fā)訪問能力的Node.js服務(wù)器端技術(shù)應(yīng)運而生,并迅猛發(fā)展。Node.js 使用事件驅(qū)動、異步工作模式和非阻塞I/O 模型而得以輕量和高效,非常適合開發(fā)超大并發(fā)訪問的Web應(yīng)用。

    與此同時,傳統(tǒng)的單一整體設(shè)計的軟件系統(tǒng)架構(gòu)無法再快速增加或修改原有功能,而且單體式應(yīng)用也會降低開發(fā)速度。應(yīng)用程序越大,啟動時間會越長。而轉(zhuǎn)用基于微服務(wù)的架構(gòu),采用模塊化、松散耦合的方式成為現(xiàn)代軟件項目的首選,進(jìn)而微服務(wù)是互聯(lián)網(wǎng)云計算時代傳統(tǒng)軟件系統(tǒng)從單一整體架構(gòu)向分布式微組件結(jié)構(gòu)轉(zhuǎn)變的必然選擇。通過將傳統(tǒng)軟件系統(tǒng)的功能拆分為可獨立開發(fā)和部署的微服務(wù),提高了軟件應(yīng)用系統(tǒng)的可靠性、可維護(hù)性和可伸縮性,能適應(yīng)當(dāng)前以移動客戶端為主要訪問模式的超大量并發(fā)請求處理,并實現(xiàn)快速響應(yīng),以滿足移動客戶的對系統(tǒng)性能的極高需求。

    Seneca是基于Node.js的微服務(wù)框架,使得開發(fā)在Node.js開發(fā)微服務(wù)變得簡單而高效,由Seneca負(fù)責(zé)生成REST API,開發(fā)者專注于業(yè)務(wù)功能即可,所有實現(xiàn)細(xì)節(jié)由Seneca負(fù)責(zé),極大地提高了微服務(wù)的開發(fā)效率,縮短了項目的開發(fā)周期,節(jié)省了開發(fā)費用。

    在傳統(tǒng)的企業(yè)級項目中,由于采用Hibernate的持久層架構(gòu)技術(shù),避免了手工編寫SQL語句,提高了項目的開發(fā)速度。在Node平臺上,Sequelize框架同樣實現(xiàn)了ORM持久層功能,其在MySQL模塊的基礎(chǔ)上實現(xiàn)了對SQL操作的封裝。本項目使用Sequelize完成數(shù)據(jù)庫的CRUD操作,并使用Node.js的模塊實現(xiàn)業(yè)務(wù)處理,由Seneca微服務(wù)發(fā)布為REST API,以供客戶端Web請求訪問。

    Web前端部署在單獨的Nginx高性能Web服務(wù)器上[13],完全采用HTML靜態(tài)頁面技術(shù),結(jié)合Bootstrap布局框架和AngularJS框架實現(xiàn)了單頁面應(yīng)用(SPA),將傳統(tǒng)的控制器由服務(wù)器端轉(zhuǎn)移到客戶端,使用AngularJS插件UI-Router實現(xiàn)了頁面的導(dǎo)航和SPA的子頁面嵌入。前端使用AngularJS的http和resource訪問后端的REST API服務(wù)。

    前端的Nginx服務(wù)器和后端的Node.js微服務(wù)既可以部署在一個服務(wù)器中,也可以分別部署到單獨的服務(wù)器中以實現(xiàn)均衡負(fù)載處理。本系統(tǒng)中將采用了分開部署方式,各自部署在單獨的Ubuntu16.04服務(wù)器上。

    2 系統(tǒng)持久層設(shè)計與實現(xiàn)

    企業(yè)級應(yīng)用軟件都需要與數(shù)據(jù)庫交互,實現(xiàn)傳統(tǒng)的增加、修改、刪除和查詢操作,簡稱為CRUD(Create、Retrive,Update、Delete),并專門設(shè)計了持久層(DAO-Data Access Object)實現(xiàn)此類功能。在沒有出現(xiàn)基于Node.js的DAO層框架之前,普遍使用專門的數(shù)據(jù)庫模塊,如mysql模塊實現(xiàn)與MySQL數(shù)據(jù)庫操作,并使用原始的執(zhí)行SQL語句實現(xiàn)CRUD功能,回到了操作數(shù)據(jù)庫的原始年代。

    為克服原始的SQL編程模式,基于Node.js的多種持久層ORM框架出現(xiàn),包括orm,orm2和Sequelize,經(jīng)過多年的更新和完善Sequelize成為其中的佼佼者,被得以廣泛應(yīng)用。Sequelize支持多種流行數(shù)據(jù)庫包括MySQL,MariaDB,SQLite和PostgreSQL,其實現(xiàn)了與Hibernate相同的數(shù)據(jù)庫記錄到JavaScript對象的相互映射和轉(zhuǎn)換,通過操作Model對象的方法,Sequelize自動生成SQL操作并實現(xiàn)事務(wù)處理,程序1展示了使用其實現(xiàn)的持久層編程。

    程序1 持久層Model定義

    var Sequelize = require('sequelize');

    var sequelize = new Sequelize('citylearning', 'root', 'city', {

    host: 'localhost',

    port:3306,

    dialect: 'mysql',

    ool: { max: 5, min: 0, idle: 10000 }

    });

    //專業(yè)Model定義

    var Department=sequelize.define("Department",{

    dno: {type:Sequelize.INTEGER, primaryKey: true,autoIncrement: true},

    dcode: Sequelize.STRING,

    dname: Sequelize.STRING

    },{ tableName:"department",

    timestamps: false });

    Teacher.belongsTo(Department,{as:'Department',foreignKey:'DNO'});

    Department.hasMany(Teacher,{as:'Teachers',foreignKey:'DNO'});

    module.exports.Department=Department;

    module.exports.Teacher=Teacher;

    定義Model對象后,使用Sequelize框架提供的方法實現(xiàn)CRUD,其代碼示意程序2所示。

    程序2:Sequelize實現(xiàn)CRUD功能的代碼。

    var Model=require("../model/Model.js");

    var DepartmentModel=Model.Department;

    DepartmentModel.create(department);

    DepartmentModel.findById(department.dno).then(function(dept) {

    dept.dcode=department.dcode;

    dept.dname=department.dname;

    dept.save().then(function(){

    resolve({result:"Y"});

    });

    });

    通過Sequelize不再需要編寫原始的SQL語句即可實現(xiàn)持久層的CRUD功能,極大提高了基于Node.js平臺的項目的開發(fā)效率。

    3 業(yè)務(wù)服務(wù)層設(shè)計與實現(xiàn)

    軟件系統(tǒng)的業(yè)務(wù)服務(wù)層用于模擬實際業(yè)務(wù)的處理,企業(yè)的每個業(yè)務(wù)處理任務(wù)在業(yè)務(wù)層都對應(yīng)一個業(yè)務(wù)方法。本系統(tǒng)中業(yè)務(wù)服務(wù)層采用Node.js的模塊機(jī)制[14]實現(xiàn),每個業(yè)務(wù)對象的業(yè)務(wù)處理都單獨編寫為一個Node.js模塊,在業(yè)務(wù)模塊內(nèi)調(diào)用前面定義的持久層方法,程序3為管理員的業(yè)務(wù)層的簡要示意代碼。

    程序3:管理員業(yè)務(wù)層模塊代碼

    var Promise = require('promise'); //引入promise模塊

    var Model=require("./Model.js");

    var Admin=Model.Admin;

    var AdminBusiness={

    gotAdmin:function(id){

    return Admin.findById(id);

    },

    validate:function(id,password){

    var promise = new Promise(function (resolve, reject){

    Admin.findOne({ where: {aid:id,apassword:password} }).then(function(admin) {

    if(admin===null){

    resolve({result:"N"});

    }else{ resolve({result:"Y"}); }

    });

    });

    return promise; }

    };

    module.exports=AdminBusiness;

    業(yè)務(wù)層調(diào)用持久層Sequelize提供的Model對象的方法實現(xiàn)對數(shù)據(jù)庫的基本操作。為使前端能訪問業(yè)務(wù)層方法,需要使用下面的微服務(wù)發(fā)布層將業(yè)務(wù)服務(wù)層方法發(fā)布為REST API。

    4 微服務(wù)REST API設(shè)計與實現(xiàn)

    在現(xiàn)代化企業(yè)應(yīng)用開發(fā)中,微服務(wù)架構(gòu)的日益普及是大勢所趨。相對于單一整體模式的應(yīng)用程序高昂的維護(hù)費用和基礎(chǔ)設(shè)施開銷,基于微服務(wù)的應(yīng)用程序把各種功能分開,形成一系列的微型服務(wù),可通過REST API連接和訪問這些微服務(wù)。

    基于Node.js平臺的Seneca框架,提供了極其簡便的語法實現(xiàn)微服務(wù)的定義和實現(xiàn)。Seneca將每個微服務(wù)定義為Command,通過add函數(shù)將各種訪問指令發(fā)布為REST API地址。微服務(wù)定義中使用role劃分微服務(wù)類別,cmd表達(dá)微服務(wù)的動作,二者組合形成REST API URL地址。使用Seneca實現(xiàn)微服務(wù)的代碼參見程序4所示。

    程序4:管理員微服務(wù)API定義代碼

    var AdminBusiness=require("../business/AdminBusiness.js");

    //管理員微服務(wù)API

    module.exports=function AdminService(options){

    this.add({role:"admin",cmd:"got"},function (msg,respond){

    AdminBusiness.gotAdmin(msg.req.query.id).then(function(data){

    console.log(data.dataValues);

    respond(null,data.dataValues);

    });

    });

    this.add({role:"admin",cmd:"validate"},function(msg,respond){

    AdminBusiness.validate(msg.req.query.id,msg.req.query.password).then(function(data){

    console.log(data);

    respond(null,data);

    });

    });

    //將微服務(wù)映射為REST API

    this.act('role:web',{use:{

    prefix: '/adminapi',

    pin: {role:'admin',cmd:'*'},

    map:{ got: {GET:true}, validate:{GET:true} }

    }});

    };

    上述代碼定義的微服務(wù)REST API可以通過/adminapi/admin/validate/:name/:password進(jìn)行管理員的驗證,地址/adminapi/admin/got/:id取得管理員的信息。由碼可見,使用Seneca實現(xiàn)微服務(wù)是非常簡單,使得微服務(wù)編程極其高效。

    5 前端架構(gòu)設(shè)計與實現(xiàn)

    現(xiàn)代軟件系統(tǒng)都需要支持不同客戶終端的訪問,如PC、手機(jī)和平板,未來更要支持各種便攜設(shè)備或物聯(lián)網(wǎng)設(shè)備等。為實現(xiàn)快速開發(fā)和部署,本系統(tǒng)主要采用Web前端,使用Bootstrap框架實現(xiàn)對手機(jī)和平板等不同屏幕尺寸的自動適應(yīng),實現(xiàn)響應(yīng)式應(yīng)用[15]。

    Web前端主要采用最新的AngularJS框架實現(xiàn)單頁面應(yīng)用(SPA),使用HTML結(jié)合Angular指令實現(xiàn)Web頁面模版,通過AngularJS的service訪問后臺微服務(wù)的API,使用Angular的controller調(diào)用service實現(xiàn)與Web頁面交互。

    SPA頁面的路由使用ui-router框架,該框架支持視圖的多層嵌套,克服了Angular內(nèi)置的ng-router插件只能進(jìn)行單層嵌套子頁面的弊病,可以實現(xiàn)非常復(fù)雜的Web前端頁面的實現(xiàn),程序5展示了多級嵌入頁面的路由定義代碼。

    程序5:使用ui-router實現(xiàn)的多層視圖嵌入的路由定義。

    var cityApp = angular.module('citylearning', ['ui.router','citylearning.admincenter']);

    cityApp.config(function(stateProvider,urlRouterProvider){

    stateProvider.state({

    name: 'home',

    url: '/home',

    templateUrl:"home.html"

    }).state({

    name: 'admincenter.home',

    url: '/home',

    templateUrl:"../admincenter/main/view/home.html"

    }).state({

    name: 'admincenter.department',

    url: '/department',

    templateUrl:"../admincenter/department/view/main.html"

    }).state({

    name: 'admincenter.department.add',

    url: '/add',

    templateUrl:"../admincenter/department/view/add.html"

    });

    });

    //系統(tǒng)主控制器

    cityApp.controller("citylearning.maincontroller",function(scope,state){

    $scope.showHeader=false;

    $scope.toHome=function(){

    $scope.showHeader=true;

    $state.go("home");

    };

    $scope.toLessonCenter=function(){

    $scope.showHeader=false;

    $state.go("lessoncenter");

    };

    $scope.toHome();

    });

    AngularJS的service提供了便于各種controller訪問的共享單例模式,整個Web應(yīng)用中提供集中的機(jī)制訪問后臺微服務(wù)API。項目中使用Angular的內(nèi)置服務(wù)http訪問Seneca實現(xiàn)的微服務(wù),其實現(xiàn)示意代碼參見程序6所示。

    程序6:Web前端Service定義代碼。

    angular.module('citylearning.admincenter')

    .service("admindepartmentservice",function(http){

    //后臺專業(yè)Service

    this.getlist=function(){

    return http.get("http://localhost:8200/department/all");

    };

    this.getDepartment=function(departmentNo){

    return http.get("http://localhost:8200/department/get/"+departmentNo);

    };

    this.add=function(department){

    var url="http://localhost:8200/department/add/"+department.dcode+"/"+department.dname;

    return http.get(url);

    };

    });

    Angular中控制器負(fù)責(zé)在UI頁面和Service之間進(jìn)行協(xié)調(diào)與調(diào)用,將Service取得的服務(wù)器端JSON數(shù)據(jù)通過雙向綁定機(jī)制實現(xiàn)與頁面元素的同步更新,控制器的示意代碼如程序7所示。

    程序7:控制器示意代碼

    angular.module('citylearning.admincenter')

    .controller("departmentcontroller",function(scope,state,departmentservice){

    scope.add=function(){

    admindepartmentservice.add(scope.department).then(function(data){

    if(data.data.result=="Y"){

    BootstrapDialog.alert('增加專業(yè)成功!');

    $scope.toList();

    } }); };

    6 系統(tǒng)實際應(yīng)用

    本課程自主學(xué)習(xí)平臺以課程視頻的播放為核心業(yè)務(wù),對系統(tǒng)的處理和響應(yīng)能力要求較高。所有的任課教師將自己教授的課程,按照每集15分鐘以內(nèi)要求制作成課程微課視頻,并上傳到平臺,同時還有課程的輔助材料,在線測試等,學(xué)生可在任何時間和地點學(xué)習(xí)課程所講知識,由于真對性強(qiáng),受到學(xué)生的普遍歡迎,高峰時間并發(fā)訪問量突破5 000人,對系統(tǒng)性能要求很高。傳統(tǒng)的基于Java Web結(jié)合SSH(Spring+Struts2+Hibernate)由于采用多線程模式處理并發(fā)請求,難以承受之高并發(fā)訪問,導(dǎo)致系統(tǒng)響應(yīng)卡頓,視頻播放不流暢,學(xué)生不滿和吐槽頻繁。采用了基于全新的異步、非阻塞、實時性、高并發(fā)的Node.js以及與微服務(wù)Seneca實現(xiàn)的該系統(tǒng)完美解決傳統(tǒng)系統(tǒng)的以上問題,尤其性能改進(jìn)巨大,系統(tǒng)完全能適應(yīng)高并發(fā)訪問,在相同的硬件環(huán)境下,不再出現(xiàn)原有系統(tǒng)的任何問題。

    7 總結(jié)

    該測試系統(tǒng)采用具有高速數(shù)據(jù)采集卡的便攜式測試計算機(jī)為硬件平臺,軟件設(shè)計采用模塊化設(shè)計思想,提高了系統(tǒng)的可靠性和維護(hù)性。采用全新的基于微服務(wù)架構(gòu)在我院大學(xué)生自主學(xué)習(xí)平臺項目中得到實際運用,取代了原來使用Java平臺的SSH架構(gòu)的單一整體設(shè)計的系統(tǒng),經(jīng)過與原有系統(tǒng)的平行測試,新系統(tǒng)在不斷增加客戶訪問量時,性能依然維持在非常理想的水平,而原有系統(tǒng)當(dāng)并發(fā)訪問量到一定規(guī)模后,響應(yīng)延遲嚴(yán)重。實際應(yīng)用表明使用全新架構(gòu)的軟件系統(tǒng)能非常好的適應(yīng)超大規(guī)模的并發(fā)客戶訪問,并且基于微服務(wù)REST API設(shè)計的新系統(tǒng),各個模塊可以單獨開發(fā)和部署,極大提高了系統(tǒng)的可維護(hù)性和可伸縮性。

    [1] 高嘉譯,高強(qiáng),等.面向移動應(yīng)用的后端服務(wù)平臺[J].計算機(jī)系統(tǒng)應(yīng)用,2014(2):22-27.

    [2] 陳雋.軟件架構(gòu)復(fù)用的研究與應(yīng)用[J]. 華東師范大學(xué)學(xué)報, 2011(3).

    [3] 劉春輝.DevOps:企業(yè)實現(xiàn)移動和云計算轉(zhuǎn)型的關(guān)鍵[N].人民郵電,2013-07-11(5).

    [4] 陳春霞. 基于容器的微服務(wù)架構(gòu)的淺析[J]. 信息系統(tǒng)工程, 2016(3):95-96.

    [5] 楊小嬌. 輕量級高并發(fā)Web服務(wù)器的研究與實現(xiàn)[D].南京:南京郵電大學(xué), 2014.

    [6] 王金龍, 宋斌,丁銳. Node.js:一種新的Web應(yīng)用構(gòu)建技術(shù)[J]. 現(xiàn)代電子技術(shù), 2015(6):70-73.

    [7] 俞黎敏. Web Services之REST風(fēng)格架構(gòu)設(shè)計[J]. 程序員, 2010(11):26-26.

    [8] 趙婉芳,張錚.基于三層架構(gòu)體系的教學(xué)視頻點播系統(tǒng)研究與開發(fā)[J]. 數(shù)字技術(shù)與應(yīng)用, 2013(4):176-176.

    [9] 董英茹. 簡談AngularJS在下一代Web開發(fā)中的應(yīng)用[J].軟件工程師,2015(5):30-31.

    [10] Kim,Bohyun.Responsive Web design, discoverability, and mobile challenge[J]. Library Technology Reports, 2013(6):49-51.

    [11] 穆瑞潔.單頁面網(wǎng)站導(dǎo)航設(shè)計研究[J].藝術(shù)科技, 2014(4):64-64.

    [12] 岳俊梅.基于網(wǎng)絡(luò)環(huán)境的自主學(xué)習(xí)平臺設(shè)計與實現(xiàn)[J].電腦開發(fā)與應(yīng)用,2014(6):22-24.

    [13] 楊偉強(qiáng). 安全高效的Nginx反向加速技術(shù)在站群中的應(yīng)用[J]. 信息系統(tǒng)工程, 2013(3):83-84.

    [14] 朱建兵. 基于Node.Js高并發(fā)網(wǎng)絡(luò)應(yīng)用架構(gòu)的研究與實現(xiàn)[D]. 北京:北京郵電大學(xué), 2014.

    [15] 羅予東,陳偉君,劉秀湛,劉宏威. 響應(yīng)式移動互聯(lián)的中小型企業(yè)網(wǎng)站設(shè)計[J]. 計算機(jī)與現(xiàn)代化, 2015(11):53-55.

    Design and Implementing of Self-learning Platform Based on Reactive Micro Service

    Wang Shankun,Lv Haidong

    (City Institute Dalian University of Technology,Dalian 116600,China)

    In order to overcome the weakness on maintainability, scalability, and scalability in traditional applications which can not meet the current request of access of mobile internet, a new reactive micro service application architecture which based on event-driven, asynchronous,real-time is designed in this paper. Based on this architecture a self-learning platform is implemented with SPA Web model using the new technologies each as Node.js, AngularJS and micro service framework Seneca. Real application results show that the new architecture can handle the large access and response faster than the traditional system which based on Java Web platform.

    Micro service; Reactivity; Event driven; SPA

    王善坤(1961-),男,大連市人,副教授,學(xué)士。研究方向:網(wǎng)絡(luò)工程、企業(yè)級應(yīng)用架構(gòu)、云計算 呂海東(1964-),男,內(nèi)蒙古興安盟,本科,副教授,研究方向:企業(yè)級應(yīng)用架構(gòu),云計算,物聯(lián)網(wǎng),大數(shù)據(jù)處理

    1007-757X(2017)03-0062-05

    TN919

    A

    2016.09.19)

    猜你喜歡
    頁面架構(gòu)框架
    大狗熊在睡覺
    基于FPGA的RNN硬件加速架構(gòu)
    刷新生活的頁面
    框架
    功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實踐
    汽車工程(2021年12期)2021-03-08 02:34:30
    廣義框架的不相交性
    LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實現(xiàn)
    WTO框架下
    法大研究生(2017年1期)2017-04-10 08:55:06
    一種基于OpenStack的云應(yīng)用開發(fā)框架
    一種基于FPGA+ARM架構(gòu)的μPMU實現(xiàn)
    伦精品一区二区三区| 麻豆国产av国片精品| 成年女人永久免费观看视频| 神马国产精品三级电影在线观看| 国产探花极品一区二区| 日韩欧美国产在线观看| 亚洲精品456在线播放app| 久久久色成人| 亚洲婷婷狠狠爱综合网| 国产高清有码在线观看视频| 我要看日韩黄色一级片| 黑人高潮一二区| 91麻豆精品激情在线观看国产| 欧美日韩精品成人综合77777| 我的老师免费观看完整版| 日本成人三级电影网站| 国产精品一区二区三区四区免费观看 | 欧美丝袜亚洲另类| 精品久久久久久久末码| 嫩草影院新地址| 亚洲国产欧美人成| 色噜噜av男人的天堂激情| 成人毛片a级毛片在线播放| 熟妇人妻久久中文字幕3abv| 国产 一区 欧美 日韩| 欧美中文日本在线观看视频| 亚洲欧美清纯卡通| av视频在线观看入口| 久久久久久久久久黄片| 日本 av在线| 亚洲精品在线观看二区| 国产高清视频在线播放一区| 搡老熟女国产l中国老女人| 国产 一区 欧美 日韩| 蜜桃亚洲精品一区二区三区| 可以在线观看的亚洲视频| 久久久久九九精品影院| 夜夜爽天天搞| 久久久久久国产a免费观看| 在线观看一区二区三区| 久久欧美精品欧美久久欧美| 亚洲中文字幕日韩| 亚洲色图av天堂| 国产欧美日韩精品一区二区| 精品久久久久久成人av| 插阴视频在线观看视频| 亚洲av熟女| 男女之事视频高清在线观看| 亚洲精品粉嫩美女一区| 久久中文看片网| 国产伦精品一区二区三区视频9| 日韩一本色道免费dvd| 波野结衣二区三区在线| 国内精品一区二区在线观看| 日日摸夜夜添夜夜添av毛片| 午夜免费男女啪啪视频观看 | 中文字幕熟女人妻在线| 国产精品一及| 久久这里只有精品中国| 婷婷六月久久综合丁香| av.在线天堂| 国产视频一区二区在线看| 欧美最新免费一区二区三区| 网址你懂的国产日韩在线| 久久久久国产网址| 亚洲av二区三区四区| 国产精品一区二区三区四区免费观看 | 人人妻人人看人人澡| 黄色欧美视频在线观看| 日韩欧美国产在线观看| 国产91av在线免费观看| 精品无人区乱码1区二区| 别揉我奶头~嗯~啊~动态视频| 好男人在线观看高清免费视频| 欧美xxxx性猛交bbbb| 免费在线观看成人毛片| 99热全是精品| 一级黄片播放器| 亚洲成a人片在线一区二区| 精品一区二区三区视频在线| 一本一本综合久久| 俺也久久电影网| 精品久久久久久久末码| 美女内射精品一级片tv| av视频在线观看入口| 久久天躁狠狠躁夜夜2o2o| 久久久久九九精品影院| 性色avwww在线观看| 乱系列少妇在线播放| 夜夜夜夜夜久久久久| 国产日本99.免费观看| 精品欧美国产一区二区三| 能在线免费观看的黄片| 国产精品一二三区在线看| 97超级碰碰碰精品色视频在线观看| 91精品国产九色| 国产久久久一区二区三区| 国产大屁股一区二区在线视频| 国产精品一区二区免费欧美| 免费一级毛片在线播放高清视频| 亚洲丝袜综合中文字幕| 欧美高清成人免费视频www| 成人永久免费在线观看视频| 久久鲁丝午夜福利片| 99久久九九国产精品国产免费| 亚洲成人av在线免费| 熟女电影av网| 又粗又爽又猛毛片免费看| 欧美日本亚洲视频在线播放| 深夜a级毛片| 在线观看一区二区三区| 一进一出好大好爽视频| 五月玫瑰六月丁香| 97在线视频观看| 色哟哟·www| 淫秽高清视频在线观看| 亚洲欧美日韩卡通动漫| 亚洲精品久久国产高清桃花| 高清毛片免费观看视频网站| 在线免费十八禁| 久久精品国产亚洲网站| 久久精品国产99精品国产亚洲性色| 中文字幕免费在线视频6| 国产aⅴ精品一区二区三区波| 国产精品一区二区免费欧美| 久久久久久久久中文| 久久久久久久久久成人| 亚洲国产精品合色在线| 床上黄色一级片| 香蕉av资源在线| 精品久久久久久久久av| 我要搜黄色片| 97热精品久久久久久| 国产淫片久久久久久久久| 99热6这里只有精品| 欧美丝袜亚洲另类| 日本在线视频免费播放| 国产乱人偷精品视频| 国产av麻豆久久久久久久| 日韩国内少妇激情av| 老熟妇乱子伦视频在线观看| 亚洲专区国产一区二区| 亚洲欧美精品自产自拍| 欧美日韩在线观看h| 香蕉av资源在线| 国产精品日韩av在线免费观看| 男女边吃奶边做爰视频| 日本a在线网址| 日韩高清综合在线| 热99re8久久精品国产| 亚洲一区高清亚洲精品| 日本一本二区三区精品| 免费一级毛片在线播放高清视频| 免费看光身美女| 欧美日韩综合久久久久久| ponron亚洲| 亚洲美女黄片视频| 少妇丰满av| 五月玫瑰六月丁香| 偷拍熟女少妇极品色| 免费人成视频x8x8入口观看| 毛片女人毛片| 日本黄色片子视频| 久久久久久久久久久丰满| 中文在线观看免费www的网站| 免费人成在线观看视频色| 在线国产一区二区在线| 国产精品一区二区三区四区免费观看 | 欧美高清成人免费视频www| 午夜日韩欧美国产| 久久久久国产精品人妻aⅴ院| 精品熟女少妇av免费看| 久久久久久九九精品二区国产| 五月伊人婷婷丁香| 在线免费观看的www视频| 黄色视频,在线免费观看| 嫩草影院入口| 国产精品美女特级片免费视频播放器| 高清毛片免费看| 黄色欧美视频在线观看| 亚洲欧美成人精品一区二区| 白带黄色成豆腐渣| 午夜福利高清视频| 亚洲精品成人久久久久久| 九九久久精品国产亚洲av麻豆| 国产国拍精品亚洲av在线观看| 淫秽高清视频在线观看| 我要搜黄色片| 久久九九热精品免费| 最近的中文字幕免费完整| 欧美极品一区二区三区四区| av专区在线播放| 你懂的网址亚洲精品在线观看 | 少妇猛男粗大的猛烈进出视频 | 青春草视频在线免费观看| 中文字幕av在线有码专区| 久久久久国产精品人妻aⅴ院| 亚洲中文字幕日韩| 日韩av不卡免费在线播放| eeuss影院久久| 国产亚洲91精品色在线| 一个人免费在线观看电影| 久久久久国内视频| 99热6这里只有精品| 国产久久久一区二区三区| 赤兔流量卡办理| 网址你懂的国产日韩在线| 国产乱人视频| 少妇丰满av| 有码 亚洲区| 91在线精品国自产拍蜜月| 好男人在线观看高清免费视频| 一级av片app| 免费观看精品视频网站| 熟妇人妻久久中文字幕3abv| 精品熟女少妇av免费看| 无遮挡黄片免费观看| 我的女老师完整版在线观看| 偷拍熟女少妇极品色| 亚洲最大成人手机在线| 国产精品久久久久久久久免| 亚洲人成网站在线观看播放| 成人特级黄色片久久久久久久| 一级a爱片免费观看的视频| 国产国拍精品亚洲av在线观看| 亚洲aⅴ乱码一区二区在线播放| 亚洲国产精品成人久久小说 | 亚洲一区高清亚洲精品| 久久久精品大字幕| 人妻制服诱惑在线中文字幕| 欧美+亚洲+日韩+国产| 亚洲自偷自拍三级| 日日干狠狠操夜夜爽| 51国产日韩欧美| 精品一区二区三区av网在线观看| 日韩精品中文字幕看吧| 中文字幕av成人在线电影| 美女黄网站色视频| 欧美性感艳星| 午夜爱爱视频在线播放| 久久久久精品国产欧美久久久| 一个人看视频在线观看www免费| 国产女主播在线喷水免费视频网站 | 天堂影院成人在线观看| 午夜视频国产福利| 夜夜看夜夜爽夜夜摸| 美女大奶头视频| 国产精品爽爽va在线观看网站| 亚洲四区av| 美女高潮的动态| 欧美最黄视频在线播放免费| 一个人看的www免费观看视频| 亚洲成人精品中文字幕电影| 天堂√8在线中文| 最后的刺客免费高清国语| 久久99热6这里只有精品| 国产av麻豆久久久久久久| 欧美区成人在线视频| av国产免费在线观看| 亚洲最大成人av| 最近2019中文字幕mv第一页| 人妻丰满熟妇av一区二区三区| 国产熟女欧美一区二区| 欧美bdsm另类| 综合色丁香网| 麻豆成人午夜福利视频| 国产精品一区二区免费欧美| 看十八女毛片水多多多| 亚洲美女黄片视频| 色综合站精品国产| 日本欧美国产在线视频| 精品日产1卡2卡| 特级一级黄色大片| 亚洲激情五月婷婷啪啪| 综合色丁香网| 久久午夜亚洲精品久久| av黄色大香蕉| 欧美激情久久久久久爽电影| 人人妻,人人澡人人爽秒播| 国产精品三级大全| 毛片女人毛片| 国产大屁股一区二区在线视频| 亚洲欧美日韩东京热| 日韩一本色道免费dvd| 天堂√8在线中文| 99riav亚洲国产免费| 国产91av在线免费观看| 搞女人的毛片| 国产真实伦视频高清在线观看| 亚洲性夜色夜夜综合| 在线免费观看不下载黄p国产| 国产精品电影一区二区三区| 成年女人看的毛片在线观看| 免费av毛片视频| 69av精品久久久久久| 啦啦啦啦在线视频资源| 尾随美女入室| 亚洲欧美日韩无卡精品| 日本免费a在线| 99热这里只有是精品在线观看| 中文资源天堂在线| 国产精品久久久久久亚洲av鲁大| 国产精品日韩av在线免费观看| 99热这里只有是精品在线观看| 真人做人爱边吃奶动态| 久久久午夜欧美精品| 五月玫瑰六月丁香| 在现免费观看毛片| 99热这里只有是精品50| 精品一区二区三区人妻视频| 国产一区亚洲一区在线观看| 免费观看的影片在线观看| 精品久久久久久久久久免费视频| 午夜福利在线观看免费完整高清在 | 尾随美女入室| av在线蜜桃| 九色成人免费人妻av| 亚洲四区av| 天堂网av新在线| 一区二区三区高清视频在线| 久久人人爽人人爽人人片va| 国内精品宾馆在线| 日韩大尺度精品在线看网址| 我的老师免费观看完整版| 五月玫瑰六月丁香| 高清毛片免费观看视频网站| 亚洲天堂国产精品一区在线| 精品不卡国产一区二区三区| 免费av毛片视频| videossex国产| av黄色大香蕉| 午夜福利在线观看免费完整高清在 | 国产亚洲精品av在线| 男人舔奶头视频| 最近视频中文字幕2019在线8| 在线免费观看不下载黄p国产| 色5月婷婷丁香| 国产一区二区三区av在线 | 国产av不卡久久| 亚洲国产色片| 国产精品野战在线观看| 国产亚洲精品久久久久久毛片| 在线免费观看的www视频| 亚洲av免费高清在线观看| 99热精品在线国产| 99国产极品粉嫩在线观看| 免费观看人在逋| 成年av动漫网址| 婷婷精品国产亚洲av| 九九久久精品国产亚洲av麻豆| 日韩欧美精品免费久久| 国产 一区 欧美 日韩| 全区人妻精品视频| 国产欧美日韩精品亚洲av| 久99久视频精品免费| 赤兔流量卡办理| 亚洲美女黄片视频| 99国产精品一区二区蜜桃av| 日本三级黄在线观看| 欧美日韩一区二区视频在线观看视频在线 | 国产真实伦视频高清在线观看| 天美传媒精品一区二区| 亚洲第一电影网av| 亚洲中文字幕一区二区三区有码在线看| 黄色视频,在线免费观看| 亚洲精品456在线播放app| 欧美绝顶高潮抽搐喷水| avwww免费| 国产精华一区二区三区| 美女被艹到高潮喷水动态| 亚洲精品日韩av片在线观看| 99国产精品一区二区蜜桃av| 中文在线观看免费www的网站| 我的老师免费观看完整版| 精品久久久久久久久av| 三级毛片av免费| 免费看光身美女| 久久精品国产清高在天天线| 久久国内精品自在自线图片| 啦啦啦韩国在线观看视频| 神马国产精品三级电影在线观看| 免费观看人在逋| 亚洲国产精品国产精品| 你懂的网址亚洲精品在线观看 | 成年av动漫网址| 国产极品精品免费视频能看的| 国产一区二区激情短视频| 欧美xxxx性猛交bbbb| 久久精品国产亚洲av涩爱 | 免费av毛片视频| 最近在线观看免费完整版| 中国美白少妇内射xxxbb| 最新中文字幕久久久久| 午夜精品在线福利| 小蜜桃在线观看免费完整版高清| 91av网一区二区| 97超级碰碰碰精品色视频在线观看| 18+在线观看网站| 国内揄拍国产精品人妻在线| 美女cb高潮喷水在线观看| 国产探花在线观看一区二区| 国产真实伦视频高清在线观看| 亚洲欧美日韩卡通动漫| 亚洲美女搞黄在线观看 | 国产不卡一卡二| 99热只有精品国产| 97在线视频观看| 亚州av有码| 国产国拍精品亚洲av在线观看| 我的女老师完整版在线观看| 亚洲国产欧洲综合997久久,| 精品欧美国产一区二区三| 看黄色毛片网站| 精品人妻视频免费看| 18禁裸乳无遮挡免费网站照片| 亚洲av中文字字幕乱码综合| 美女大奶头视频| 亚洲五月天丁香| 日韩在线高清观看一区二区三区| 久久精品国产自在天天线| 欧美色视频一区免费| 一个人看视频在线观看www免费| 精品乱码久久久久久99久播| 麻豆精品久久久久久蜜桃| 亚洲精品一卡2卡三卡4卡5卡| 一级毛片电影观看 | 两性午夜刺激爽爽歪歪视频在线观看| 男女做爰动态图高潮gif福利片| 麻豆乱淫一区二区| 人妻夜夜爽99麻豆av| 97热精品久久久久久| 国产精品电影一区二区三区| 蜜臀久久99精品久久宅男| 久久久久国内视频| 久久精品国产亚洲av涩爱 | 丰满的人妻完整版| 熟女人妻精品中文字幕| 亚洲性久久影院| 亚洲一级一片aⅴ在线观看| 亚洲人与动物交配视频| 久久久a久久爽久久v久久| 午夜精品一区二区三区免费看| 日日啪夜夜撸| 午夜福利在线观看吧| 亚洲欧美成人精品一区二区| 97超视频在线观看视频| aaaaa片日本免费| 九九在线视频观看精品| 偷拍熟女少妇极品色| 亚洲在线自拍视频| 国产av在哪里看| 春色校园在线视频观看| 伦精品一区二区三区| 亚洲精品色激情综合| 欧美成人免费av一区二区三区| 在线观看av片永久免费下载| 18禁在线无遮挡免费观看视频 | 99热只有精品国产| 欧美3d第一页| 亚洲av二区三区四区| 床上黄色一级片| 蜜桃久久精品国产亚洲av| 国产乱人视频| 久久久久国内视频| 熟妇人妻久久中文字幕3abv| 十八禁网站免费在线| 校园春色视频在线观看| 22中文网久久字幕| 日韩欧美精品免费久久| 亚洲,欧美,日韩| 国产成人福利小说| 中文在线观看免费www的网站| 国产成人freesex在线 | 亚洲图色成人| 久久精品人妻少妇| 性色avwww在线观看| 欧美人与善性xxx| 免费高清视频大片| 在线播放国产精品三级| 午夜福利18| 亚洲欧美清纯卡通| 伦理电影大哥的女人| 久久久久久久午夜电影| 级片在线观看| 成人三级黄色视频| 少妇人妻精品综合一区二区 | 欧美国产日韩亚洲一区| 国产av在哪里看| 亚洲欧美日韩高清专用| 全区人妻精品视频| 亚洲aⅴ乱码一区二区在线播放| 亚洲成av人片在线播放无| 波多野结衣高清作品| 在线播放国产精品三级| 美女大奶头视频| 欧美xxxx性猛交bbbb| 精品熟女少妇av免费看| 午夜福利在线观看吧| 日韩国内少妇激情av| 国产精品爽爽va在线观看网站| 国产在线精品亚洲第一网站| 一a级毛片在线观看| 桃色一区二区三区在线观看| 91久久精品电影网| 亚洲精品久久国产高清桃花| 内射极品少妇av片p| 欧美性猛交黑人性爽| 国产在线精品亚洲第一网站| 九九久久精品国产亚洲av麻豆| 男人狂女人下面高潮的视频| 神马国产精品三级电影在线观看| 国产欧美日韩一区二区精品| 99视频精品全部免费 在线| 亚洲精品影视一区二区三区av| 国产精品国产高清国产av| 搡老妇女老女人老熟妇| 少妇的逼水好多| 久久久久久久午夜电影| 日本一本二区三区精品| 国产伦精品一区二区三区视频9| 极品教师在线视频| 亚洲美女黄片视频| 久久人人爽人人片av| 九九爱精品视频在线观看| 无遮挡黄片免费观看| 99热6这里只有精品| 久久久久久九九精品二区国产| 男人和女人高潮做爰伦理| 免费观看在线日韩| 99国产精品一区二区蜜桃av| 熟妇人妻久久中文字幕3abv| a级毛片a级免费在线| 国产伦精品一区二区三区四那| 精品乱码久久久久久99久播| 久久精品国产亚洲av天美| www日本黄色视频网| 国产单亲对白刺激| 亚洲成人精品中文字幕电影| 欧美色欧美亚洲另类二区| 大型黄色视频在线免费观看| 在线免费十八禁| 日本黄大片高清| 久久九九热精品免费| 成年女人看的毛片在线观看| 国产精华一区二区三区| 精品不卡国产一区二区三区| 一区二区三区免费毛片| 伦理电影大哥的女人| 91在线精品国自产拍蜜月| 熟妇人妻久久中文字幕3abv| 欧美性感艳星| 中文资源天堂在线| 久久久久久大精品| 国产探花在线观看一区二区| 亚洲熟妇熟女久久| 天堂网av新在线| 国产男人的电影天堂91| 久久久久久久亚洲中文字幕| 精品乱码久久久久久99久播| 级片在线观看| 日韩制服骚丝袜av| 国产av一区在线观看免费| 男女做爰动态图高潮gif福利片| 欧洲精品卡2卡3卡4卡5卡区| 婷婷色综合大香蕉| 久久草成人影院| 国产真实伦视频高清在线观看| 女的被弄到高潮叫床怎么办| 国产蜜桃级精品一区二区三区| 最近的中文字幕免费完整| 最好的美女福利视频网| a级毛色黄片| 午夜福利18| 晚上一个人看的免费电影| 在线观看一区二区三区| 国产精品久久电影中文字幕| 久久婷婷人人爽人人干人人爱| 亚洲欧美精品综合久久99| 最新中文字幕久久久久| 亚洲精品乱码久久久v下载方式| 亚洲美女视频黄频| 亚洲国产精品国产精品| 色综合亚洲欧美另类图片| 观看免费一级毛片| 深夜精品福利| 免费人成在线观看视频色| 床上黄色一级片| 国产欧美日韩精品一区二区| 国产一区二区在线av高清观看| 一级毛片aaaaaa免费看小| 亚洲av成人av| 国产伦精品一区二区三区四那| 久久久精品94久久精品| 午夜日韩欧美国产| 一级毛片久久久久久久久女| 日韩,欧美,国产一区二区三区 | 18+在线观看网站| 国产精品精品国产色婷婷| 内射极品少妇av片p| 女人十人毛片免费观看3o分钟| 变态另类成人亚洲欧美熟女| 午夜精品在线福利| 日韩av不卡免费在线播放| 欧美3d第一页| 少妇丰满av| 国产 一区 欧美 日韩| 深夜精品福利| 亚洲av中文字字幕乱码综合| 少妇的逼好多水| 久久久久久久久中文| 美女xxoo啪啪120秒动态图| 又黄又爽又免费观看的视频| 中国美女看黄片| 精品熟女少妇av免费看| 在线免费十八禁|