总体架构

    本平台从技术上采用ABP vNext.NET Core编写的微服务架构。客户端层主要以现代浏览器为主,适配了PC端和移动端的访问,采用API和应用程序进行交互,同时提供第三方使用的API,支持通过Web服务或消息代理与其他应用程序集成。数据工厂用于整合数据,将分散数据整合到一起,并进行汇总计算,采用统一数据接口向服务层提供数据支撑。如果您之前了解过数据仓库技术,就可以把数据工厂理解为ETL工具。应用支撑层采用Docker部署集群,使用 Kubernetes 进行容器编排和集群管理,静态文件资源使用第三方提供的 CDN 服务进行加速。

  • ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。

微服务概念

    微服务体系架构(简称微服务)是开发软件系统的一种架构风格,该架构试图集中精力构建具有明确定义的接口和操作的单功能模块。它将应用程序构建为以业务领域为模型的小型自治服务集合。近年来,随着企业希望变得更加敏捷并朝着DevOps和持续测试迈进,这一趋势变得越来越流行。

微服务的利与弊

    微服务不是灵丹妙药,通过微服务的实施,将暴露出团队沟通、合作以及其它以前可能隐含但现在被迫公开的问题。但是微服务中的API网关可以大大减少构建和质量检查的时间和精力。微服务体系结构是否适合您取决于您的业务场景复杂度,当业务不复杂,团队规模不大的时候,单块架构比微服务架构具有更高的生产率,因为它们各有优缺点。以下是一些优点和缺点:

  • 优点:

    • 微服务架构使开发人员可以自由地独立开发和部署服务;
    • 可以由相当小的团队来开发微服务;
    • 易于集成和自动部署(使用开源持续集成工具,例如Jenkis);
    • 易于扩展并与第三方服务集成;
    • 可以使用不同的语言来编写用于不同服务的代码;
    • 故障隔离:如果一个微服务失败,则另一个将继续工作。
  • 缺点:
    • 由于分布式部署,测试可能变得复杂;
    • 服务数量的增加可能会导致信息壁垒;
    • 作为分布式系统,可能会导致重复工作;
    • 当服务数量增加时,整个产品的集成和管理可能会变得复杂;
    • 开发人员必须付出额外的努力来实现服务之间的通信机制。

系统架构

    微服务层中提供了各种服务,服务之间使用http相互通信或者通过队列服务进行调度来支撑整个业务系统。其中基础服务提供了应用中心、模板中心、表单和流程引擎等功能;数据可视化服务提供数据展示分析包含模板管理、组件管理等功能;二、三维服务提供组件管理、图层管理、三维模型管理及空间分析等功能;Iot管控服务提供设备接入管理、协议解析、设备网关管理等功能;第三方服务与阿里云、腾讯云、华为云等服务商提供的云服务功能进行融合,并与钉钉、企业微信集成;系统管理服务提供整体系统管理功能包含租户管理、功能管理、权限管理、单点登录、企业组织管理等功能。同时系统提供统一日志、消息列队、定时任务、文件处理等服务。日志采用ELK(Elasticsearch、Logstash、Kibana)进行管理,Elasticsearch是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能;Logstash是一个用来搜集、分析、过滤日志的工具;Kibana是一个基于Web的图形界面,用于搜索、分析和可视化存储在 Elasticsearch指标中的日志数据。消息队列服务主要提供了各类通知消息的推送,使用队列的方式防止因消息过多导致推送服务过载。定时任务服务主要用于定时提醒、定时推送等功能。文件处理服务主要用于PDF打印、数据文件导入导出和二维码生成等功能。

持续集成(CI)、自动化构建

    个人理解持续集成是为了配合敏捷开发的速度和效率而产生的一个用于编译、测试、发布、部署的工具。为什么叫持续呢?其实就是编码人员提交了源码,那么该工具就可以进行编译,测试等一系列运作。怎么能够让编码人员很快的知道编码的异常。

工作流程:

基于 abp vNext 微服务开发的敏捷应用构建平台 - 框架分析的更多相关文章

  1. 基于 abp vNext 微服务开发的敏捷应用构建平台 - 文章目录

    系列文章: <基于 abp vNext 微服务开发的敏捷应用构建平台 - 设计构想> [点击查看] <基于 abp vNext 微服务开发的敏捷应用构建平台 - 文章目录> [ ...

  2. 基于 abp vNext 微服务开发的敏捷应用构建平台 - 项目介绍

    缘起 目前使用ABP框架已经将近3年了,大大小小的项目也陆陆续续做了很多.由于现有信息系统的架构模式是在底层的技术平台上直接构建信息系统并采用技术主导,使用业务无关的编程工具来开发信息系统的缺陷使得系 ...

  3. 基于 abp vNext 微服务开发的敏捷应用构建平台 - 设计构想

    许多中小企业的管理模式都是在自身的发展过程中不断摸索,逐步建立起来的,每一家都有其独有的管理模式,而且随着企业的不断发展,管理模式也在不断变化中.企业在发展壮大的过程中离不开信息化系统的支撑,企业在构 ...

  4. [Abp vNext微服务实践] - vue-element-admin管理Identity

    一.简介 abp vNext微服务框架中已经提供通用权限和用户角色管理模块,管理UI使用的是MVC模式,不适用于国内主打的MVVM开发模式.在前端框架选型后笔者决定改造abp vNext微服务框架中原 ...

  5. [Abp vNext微服务实践] - 业务开发

    前几篇分别介绍了abp vNext微服务框架.开发环境搭建和vue element admin前端框架接入,在vue element admin中实现用户角色管理基本功能后就可以开始进行业务开发了,本 ...

  6. abp vNext微服务框架分析

    本文转载自:https://www.cnblogs.com/william-xu/p/11245738.html abp vNext新框架的热度一直都很高,于是最近上手将vNext的微服务Demo做了 ...

  7. [Abp vNext微服务实践] - 框架分析

    一.简介 abp vNext新框架的热度一直都很高,于是最近上手将vNext的微服务Demo做了一番研究.我的体验是,vNext的微服务架构确实比较成熟,但是十分难以上手,对于没有微服务开发经验的.n ...

  8. [Abp vNext微服务实践] - 文章目录

    简介 ABP vNext是volosoft的新一代框架,ABP(vNext)完全使用.NET CORE和DDD(领域驱动)打造,目前GitHub已有6K+次提交,发布版本超过40次,Nuget包下载量 ...

  9. [Abp vNext微服务实践] - 租户登录

    简介 Abp vNext微服务授权验证基于ids4,实现租户登录需要在授权服务中获取token,和之前的介绍的登录方式一样,只是多了tenant参数.本篇将介绍在Abp vNext授权服务中启用多租户 ...

随机推荐

  1. linux(centos8):阿里云ecs配置smtps发邮件(解决不能通过25端口发邮件问题)

    一,2016年9月后购买的阿里云ecs不再支持通过25端口发送邮件 官方的建议是使用465端口 465端口(SMTPS): 465端口是为SMTPS(SMTP-over-SSL)协议服务开放的 它是S ...

  2. 本地ssh快速登录 ssh免密登录

    每次登录都要ssh -p wang@xx.xx.xx.xx 虽然做了公钥验证 https://www.cnblogs.com/php-linux/p/10795913.html 不需要输入密码,但是每 ...

  3. Java中的String到底占用多大的内存空间?你所了解的可能都是错误的!!

    写在前面 最近小伙伴加群时,我总是问一个问题:Java中的String类占用多大的内存空间?很多小伙伴的回答着实让我哭笑不得,有说不占空间的,有说1个字节的,有说2个字节的,有说3个字节的,有说不知道 ...

  4. log4j日志级别怎么搞

    日志的级别之间的大小关系如右所示:ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF Log4j建 ...

  5. 【Azure Developer】使用.Net Core解析JSON的笔记

    在C#中解析JSON的一些历史代码记录,分别记录针对各种情况的解析方式. DLL的引用 using Newtonsoft.Json; using Newtonsoft.Json.Linq; 需要使用的 ...

  6. Java 8新特性解读

    (四)Java 8 相关知识 关于 Java 8 中新知识点,面试官会让你说说 Java 8 你了解多少,下面分享一我收集的 Java 8 新增的知识点的内容,前排申明引用自:Java8新特性及使用 ...

  7. webpack学习遇到大坑(纯属自己记录)

    分清webpack1与webpack2区别 1.webpack2的loader不能使用简写了,否则会报如下的错 正确如下: 2.node-sass安装失败,无法下载:Cannot download h ...

  8. 【转】Extension Libraries and Loading Other Image Formats

    FROM: http://lazyfoo.net/tutorials/SDL/06_extension_libraries_and_loading_other_image_formats/index. ...

  9. 阿里P6晋升到P7是一个坎吗? P7 晋升总结

    作者:程序之心丁仪 来源:https://chengxuzhixin.com/blog/post/P6_jin_sheng_dao_P7_zong_jie.html 公众号停更了挺长一段时间,首先说声 ...

  10. NoSQL非关系型数据库

    NoSQL 关注公众号"轻松学编程"了解更多. 一.概念 NoSQL(Not Only SQL)非关系型数据库(功能换效率). 优点 开发维护成本低 访问灵活 访问速度快(缓存+快 ...