ABP vNext微服务架构详细教程——简介

99505e906b18ffc9a019a94fb0a3231c.png

简介

该系列文章主要展示ABP vNext框架在微服务架构下的用法,提供一套可落地的技术实现思路,并演示各服务在Kubernetes下的部署方案。

8a64830b838d257e9e895691b0687164.png

e684f30780fa89c89d359e2117b8eddc.png

基础概念

bd52f43eb0895a0ce17be62706c5d811.png

ABP vNext

基于ASP.NET Core的应用框架,是.Net主流应用开发框架之一。提供基于模块化的灵活项目模板的同时,实现领域驱动设计思想的基础落地,在集成封装大量第三方框架的同时加入了很多独有的功能。

微服务架构

一种架构设计的指导思想,通过将服务拆分为多个原子性的服务,实现服务的职责单一,并结合容器化、服务治理等技术,实现服务的灵活部署。

API网关

是微服务系统的总入口,提供反向代理,负载均衡,身份验证、鉴权、熔断、限流、降级等功能。

认证

根据访问者特有的识别信息,确认访问者的身份。

鉴权

验证访问者是否具有对应API的访问权限。

8a19c26cd33f7a06625c7bba13653255.png

内容列表

3c31a8ddf202d0ce0d363805732b6496.png

(1)总体架构

(2)身份管理服务

(3)服务层

(4)应用层

(5)身份认证服务

(6)API网关

(7)分布式权限

(8)在Kubernetes下部署

(附)Kubernetes+Kubesphere环境部署

53799c98cfbf8167cb4c9614c64a0482.png

版本说明

4232566b2d949fbf732e5d74d9e6efcc.png

开发工具:

Visual Studio 2022

Jetbrains Rider 2021.3以上(推荐)

框架版本:

ASP.Net 6.0.1

ABP vNext 5.1.1

Ocelot 17.0.1

操作系统:

Ubuntu 20.04

容器平台:
Docker 20.10.11

Kubernetes 1.21.5

Kubesphere 3.2.0

96f50be59bd9552114fa7933f4bb6b0a.png

示例地址

7f5960f2ae1f8df62529e8894956ac7e.png

https://gitee.com/lightnehum/abp-microservice-demo‍

d4aef119443d669673e933d30ba5e3d9.png

参考文档

0989efe3ea1e4636c410be3d1bbe00f9.png

ABP vNext:https://abp.io/

Ocelot:https://github.com/ThreeMammals/Ocelot

Kubernetes:https://kubernetes.io/

Kubesphere:https://kubesphere.com.cn/

847c75ae82bb2e2c2894bde655d000ed.png

end

2edd1e6138bcced505810ea8ce432a1c.png

1f0860de898d26d78cce4684ca74d0e2.png

关注我获得

更多精彩

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/292151.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux c之用fopen、fputs、fgets、 fseek来对文件进行写、替换、读

1、函数说明 1、fgets #includechar *fgets(char *s, int size, FILE *stream); 功能:从文件流读取一行,送到缓冲区,使用时注意以下几点: 返回值:成功时s指向哪返回的指针就指向哪,出错或者读到文件末尾时返回NULL 2、fputs #includeint fputs(const char *s, F…

Scala:First Steps in Scala

var and val 简单来说,val声明的变量可以重新修改其引用,val则不行,见下面的例子: 1 def max(x: Int, y: Int): Int {2 if(x > y) x else y 3 }4 5 def max(x: Int, y: Int): Int if(x > y) x else y 6 7 var list Ar…

CIDR

CIDR(无类别域间路由,Classless Inter-Domain Routing)是一个在Internet上创建附加地址的方法,这些地址提供给服务提供商(ISP),再由ISP分配给客户。CIDR将路由集中起来,使一个IP地址…

电脑怎么测试硬盘的读写速度_两块硬盘合二为一,电脑读写翻倍?这样的“好事”你必须得了解...

近日,技嘉在旗下顶级的B550 AORUS MASTER主板上做了一次PCIe4.0固态阵列测试,由于该款主板支持3个PCIe4.0的M.2固态硬盘,所以这次的测试为3块PCIe4.0固态组建RAID0,来进行读写测试。常见的PCIe3.0x4的固态硬盘的读写速度一般在250…

C# 动态创建控件时注册Name属性

动态创建控件1. 容器控件 .RegisterName("Name",要注册的控件) //注册控件2. 容器控件 .FindName("Name") as 控件类型 //找到控件并转换成相应类型注意仅通过控件.Name来设置是不能通过FindName来找到控件的,必须注册动态删除控件1. 容器控件…

3-07. 求前缀表达式的值(25) (ZJU_PAT数学)

题目链接:http://pat.zju.edu.cn/contests/ds/3-07 算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。前缀表达式指二元运算符位于两个运算数之前,比如23*(7-4)8/4的前缀表达式是: 2 * 3 - 7 4 / 8 4。请设计程序计算前缀表达式的结果…

linux之文件类型

1 、纯文本文件 这是Unix系统中最多的一种文件类型,之所以称为纯文本文件,是因为内容为我们可以直接读到的数据,例如数字、字母等等。设 置文件几乎都属于这种文件类型。举例来说,使用命令“cat ~/.bashrc”就可以看到该文件的内容 2、二进制文件 我们在GNU发展史中提过,…

java配置运行环境和配置

2019独角兽企业重金招聘Python工程师标准>>> 1:准备好下载的java。开始安装 2:第一次蹦出安装路径设置为(D:\java\jdk)。不要设置下图样式设置路径! 3:jdk安装完成后会再弹出如下窗口,让你选择独立的jre的安…

SQL Server 的锁定和阻塞

本帖提供两种做法,可避免在 SQL Server 事务锁定时产生的不正常或长时间阻塞,让用户和程序也无限期等待,甚至引起 connection pooling 连接数超过容量。 所谓的「阻塞」,是指当一个数据库会话中的事务,正在锁定其他会话…

结构体数组排列_学习RTOS(3)数据结构

在 FreeRTOS 中存在着大量的基础数据结构列表和列表项的操作,列表和列表项是直接从 FreeRTOS 源码注释中的 list 和 list item 翻译过来的,其实就是对应我们 C 语言当中的链表和节点,在后续的讲解,我们说的链表就是列表&#xff0…

python实现元旦多种炫酷高级倒计时_附源码【第20篇—python过元旦】

文章目录 🌍python实现元旦倒计时 — 初级(控制台)⛅实现效果🌋实现源码🌜源码讲解 🌍python实现元旦倒计时 — 中级(精美动态图)⛅实现效果🌋实现源码🌜源码讲解 🌍python实现元旦倒计时 — 高…

.NET6之MiniAPI(十一):本地化

.net开发体系里,大部分本地化的实现都是用资源文件实现(.resx),asp.net core中的多语Culture是指区域性的对象,而UICulture 该对象表示资源管理器在运行时查找区域性特定资源时所用的当前用户接口区域性。asp.net core实现也是通过添注入本地…

C#基础整理

元旦整理书架发现一本小册子——《C#精髓》中国出版社2001年出版的,粗略翻了下关于C#的知识点挺全的虽然内容谈得很浅也有很多过时的内容(话说这本书是我在旧书店花5块钱淘的)我保留原有章节并删减部分过时和不重要内容添加一些自己觉得重要的…

linux c之fdopen(int fd, const char *type)使用总结

1、fdopen(int fd, const char *type)的介绍 比如一写特殊文件不能用io打开,我们先要用open函数得到文件描述符,也就是这个fdopen函数的第一个参数,第二个参数是常量,不同类型不同意义,如下图 2、代码演示 #include<stdio.h> #include<fcntl.h>int main…

HTML form的一些属性(第一版)

HTML表单属性总结(第一版) 基本格式为:<input type"类型" name"名字[唯一,有的类型的同组是需要设置相同的名字]" value"值,类型不同的,他们的含义是不同的">. 例如:<input type"text" name"username" value"…

基于ASA防火墙的SSL ×××配置

基于ASA防火墙的SSL 配置实验拓扑图 实验目的&#xff0c;PC2通过SSL能够访问到PC1SSL服务端配置全在ASA上面&#xff0c;下面为配置步骤&#xff1a;第一步&#xff1a;建立RSA密钥证书&#xff0c;名称为ssl***keypaircrypto key generate rsa label ssl***keypair第二步&…

晚上去宾馆有什么是一定要带的?

1 前任垃圾袋&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼2 上一代摸鱼也是很厉害的&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼3 穿最帅最贵的衣服参加婚礼&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼4 去宾馆要带什么?&#xff08…

100以内素数之和python123_python质数,水仙花数,简单猜拳游戏等

找到所有两位的奇妙数&#xff1a;奇妙数。即一个整数等于其各位数字之和加上各位数字之积 例如 39 (39) (3*9)找到100以内所有的质数要用户从键盘输入任意整数&#xff0c;计算该整数的偶数个数&#xff0c;奇数个数和总位数。将这三个数字拼接成一个新的数字&#xff0c;并…