zoukankan      html  css  js  c++  java
  • NodeMan架构

    上一篇文章中我们介绍了NodeMan的基本概念,介绍了这是一套利用NodeJs框架来管理Ubuntu服务器的解决方案,接下来我们会继续介绍关于这样一套解决方案更多细节的内容。

    后台:

    使用node作为网站后台可有多种选择方案,最为经典的express、express团队打造的下一代web框架KOA、阿里的egg等等,这些框架均可作为nodeman的后台框架。

        这里,我们并没有选择这些广为人知的框架(因为作者是从Java、C#过来的),在各种框架中选择、徘徊时,作者对于NestJs一见钟情,非常类似Java的springMVC框架,Java和C#开发者看起来非常的熟悉、亲切。因此,一锤定音,就是你啦,NestJs!

        经过长时间的接触(半年了),对于NestJs使用修饰符、依赖注入、仓储的方式非常的喜欢,和之前Java、C#开发几乎一致,不用花费大价钱去学习掌握新技术。

    微信图片_20181107165647

    数据库使用的是MySQL,因为NestJs官方文档的数据库连接就是以MySQL为例的(同时也提供MongoDB的连接方式,不过没有MySQL的详尽),为了避免采坑,选择与官网相同的MySQL数据库。NestJs使用typeorm来驱动MySQL,仓储模式对于使用EntityFramework的作者来说,非常的熟悉,同时还支持原生sql,完美了!

    代理端:

    代理端与后台选取相同的框架——NestJs。代理端所需要做的主要功能是执行命令,例如git fetch、git checkout等等。因此,无需数据库操作,仅仅一个框架加上child_process模块执行命令即可。

    微信图片_20181107165926

    前端:

    nodeman项目采用前后端分离的模式,前端采用vue+elemnt-ui开发,之后webpack打包,使用Nginx部署静态网站。请求使用的是axios。

    微信图片_20181107170027

    最后附上一张架构图:

    架构图_aIP13yLGM

    此博客转载自我们团队的博客,点击查看更多内容。

  • 相关阅读:
    Oracle数据库中truncate命令和delete命令的区别
    数组中只出现一次的数字
    数对之差的最大值
    SQL Server: Difference Between Locking, Blocking and Dead Locking
    字符串处理
    Phpcms_V9任意文件上传
    最初的梦想
    陪你走过漫长岁月
    基于MitM的RDP降级攻击
    CVE-2017-0358
  • 原文地址:https://www.cnblogs.com/danielWise/p/9923682.html
Copyright © 2011-2022 走看看