前几篇分别介绍了abp vNext微服务框架和微服务CI/CD环境搭建,本篇开始介绍vNext微服务框架的开发环境搭建。

环境准备

官方介绍的系统架构图如下:

上图中身份服务和网关服务已经集成在系统中,我们需要搭建的是MS Sql、mongoDB、redis、RabbitMQ、elasticsearch。其中MS Sql、RabbiMQ、elasticsearch建议直接安装,redis、mongoDB建议docker安装。安装教程如下:

Ubuntu18.04 安装RabbiMQ:

https://my.oschina.net/u/2364788/blog/2875902

elasticsearch使用的Java环境,十分消耗系统资源,开发过程中建议不要安装,安装教程暂时忽略。

docker安装redis、mongoDB:

https://blog.csdn.net/myNameIssls/article/details/80520465

https://www.jianshu.com/p/2181b2e27021

SQL server版本越高越好。

获取abp vNext代码

通过GitHub官方拉取最新发布代码:https://github.com/abpframework/abp

解压后项目结构如下:

构建本地开发环境

项目根目录cmd进入framework执行:

dotnet restore
dotnet build

构建完成后退出进入modules目录对每个模块分别执行:

dotnet restore
dotnet build

最后构建微服务,进入samples\MicroserviceDemo目录执行:

dotnet restore
dotnet build

如果所有模块都构建成功,下一步打开MicroserviceDemo解决方案开始配置微服务

配置微服务

配置AuthServer

打开applications目录下AuthServer.Host\appsettings.json

修改ConnectionStrings、Redis、RabbitMQ配置,示例如下:

配置BackendAdminAppGateway、InternalGateway

分别修改BackendAdminAppGateway.Host和InternalGateway.Host配置文件中的数据库连接和redis连接。

配置IdentityService、ProductService

分别修改IdentityService.Host和ProductService.Host配置文件中的数据库连接、redis连接和RabbiMQ配置。

其他服务也参考以上进行修改。

使用EF CORE还原数据库

右键AuthServer.Host设置为启动项目,如下:

打开程序包管理控制台,使用ef core 迁移命令:

迁移成功后对ProductService.Host做同样操作:

到此本地开发环境已经搭建完成,下面开始启动项目:

设置启动顺序如下,不要调试:

abp vNext提供了MVC的简单后台管理界面和门户网站界面分别是http://localhost:51954、http://localhost:53435,忙活了这么久,赶紧打开尝试一下吧。。。

总结

直接从源码构建比较麻烦而且容易构建失败,嫌麻烦的话可以直接将MicroserviceDemo中的工程引用改为nuget引用,abp已经同步更新nuget包。改为nuget包后代码构建将十分简单,大家可以根据喜好尝试一下。

文章目录:https://www.cnblogs.com/william-xu/p/12047529.html

 

[Abp vNext微服务实践] - 启动流程的更多相关文章

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

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

  2. [Abp vNext微服务实践] - 前后端分类

    一.前景 abp vNext是ABP 开源 Web应用程序框架,是abp的新一代开源web框架.框架完美的集成.net core.identity server4等开源框架,适用于构建web应用程序和 ...

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

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

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

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

  5. [Abp vNext微服务实践] - 服务通讯

    简介 服务通讯是微服务架构中必不可少的功能,服务通讯的效率决定了微服务架构的优略.常用的微服务通讯策略有两种,分别是rpc.http,其中rpc以gRpc框架为代表使用者最多.abp vNext微服务 ...

  6. [Abp vNext微服务实践] - 添加中文语言

    简介 abp vNext中提供了多语言功能,默认语言是英文,没有提供中文语言包.在业务开发中,定义权限后需要用中文的备注提供角色选择,本篇将介绍如何在abp vNext中加入中文语言. step1:添 ...

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

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

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

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

  9. [Abp vNext微服务实践] - vue-element-admin登录二

    简介: Vue Element Admin是基于vue.element ui开发的后台管理ui,abp vNext是abp新一代微服务框架.本篇将会介绍如何改造Vue Element Admin权限验 ...

随机推荐

  1. linux系统,CentOs7加新硬盘

    1,打开Vmware软件,添加一块新的硬盘,然后一直下一步. 2.通过CRT等终端软件,连接到机器 [root@Mysql ~]# lsblk    //检查一下硬盘分区信息 [root@Mysql ...

  2. MongoDB安装与配置问题

    MongoDB相关 通常我们在不同情境下使用不同的数据存储方式.如果仅仅用来存储测试用的数据,推荐使用TXT CSV格式的文件,因为这两种格式的读写都非常方便, 可以很快的打开文件查看当TXT CSV ...

  3. Dart学习笔记

    一.数据类型 1. 字符串 和 数字 互转 // String 转为 int '); assert(one == ); // String 转为 double var onePointOne = do ...

  4. python3中django-admin找不到core的解决方法

    今天在测试django-admin startproject mysite时,出现以下问题: ImportError: No module named django.core 在执行此命令之前,我将d ...

  5. JavaSE基础(十)--Java中的基本数据类型转换

    Java中的基本数据类型转换 说基本数据类型转换之前,先了解下 Java 中的 8 种基本数据类型,以及它们的占内存的容量大小和表示的范围,如下图所示. 重新温故了下原始数据类型,现在来解释下它们之间 ...

  6. 1、Ubuntu linux下同步windows火狐foxfire 浏览器收藏夹问题

    最近在ubuntu系统中使用自带的firefox浏览器,发现有一些问题,比如登陆后,书签,历史记录等,原本在windows下同步的数据无法同步,添加书签的功能也无法使用. 经过查询资料后得知,unbu ...

  7. servlet获取checkbox的值出现选中的值为on。问题所在。。。

    <form action="/Http/request06" method="post"> 用户名:<input type="tex ...

  8. 【AtCoder】AGC009

    AGC009 A - Multiple Array 从后往前递推即可 #include <bits/stdc++.h> #define fi first #define se second ...

  9. 关于@JsonFormat(出参格式化)和@DateTimeFormat(入参格式化)

    背景: 从数据库查询获取数据时候  返回的json数据 日期会出现一串数字或者其他形式  和我们期待的不一样 如下图: 一开始使用@DateTimeFormat注解 但是输出结果和没有使用返回的jso ...

  10. 【Trie】Immediate Decodability

    [题目链接]: https://loj.ac/problem/10052 [题意]: 就是给一些串,是否存在两个串是相同前缀的. [题解] 模板题,不想解释了. [代码]: #include<c ...