推荐一个.Net分布式微服务开发框架

news/2024/5/20 0:28:42 标签: 分布式, 微服务, .netcore, github

在给大家介绍之前,我们一起来看看分布式架构的使用场景与好处。

针对一些互联网系统,大数据、高并发和快速响应,都是系统必须满足的,而单机系统的架构是无法满足这样的需求的,这时候我们就需要用到分布式的架构。

分布式架构具备以下的好处:

高性能:把高并发的请求,分散给各个节点,从而达到快速响应的需求。

高可用:单机架构如果出现故障,就会导致无法响应,而分布式架构单一节点故障,系统照样可以运行。

可伸缩性:节点可以灵活增加或者减少,针对一些临时场景,比如双11,可以临时增加服务器节点。

**可维护性:**对于出现故障的节点,可以从系统配置去掉,维护好后再配置加入。

灵活性:系统升级迭代,单机架构需要先停止系统,全部更新完毕才重新上线,所以往往只能在非高峰期升级,而分布式架构可以单一节点逐步升级,不会影响系统的运行。

下面,给大家介绍下这套分布式微服务开发框架。

项目简介

这是一个微服务快速开发框架,底层通讯支持GRPC、Thrift协议,并支持随意切换,系统自动服务发现、调用链追踪、Cron 调度、限流、事件总线、CQRS 、DDD、类似MVC的开发体验,插件化开发。

整体架构分为3个部分:注册中心、微服务、网关。

技术架构

1、跨平台:这是基于.NetCore开发的系统,可以部署在Docker,Windows,Linux,Mac;

2、开发工具:visual studio 2022;

3、同时支持.net core3.1 、.net frameworker4.6.1;

4、数据库支持:MySQL、MSSQL;

5、前端:Vue + Element-Ui。

项目结构

图片

Anno开头为微服务快速开发框架

Viper为示例项目

database为数据库文件

系统功能

1、集群监控:集群总览、链路追踪、服务监控、服务文档、系统日志

2、集群分析:分布统计(小时)、分布统计(24小时)、统计分析、模块分析、用户分布

3、模拟工具:模拟请求

4、系统管理

系统会员:公司列表、会员列表

系统配置:角色权限、角色管理、功能管理

部分功能截图

集群总览

图片

链路追踪

图片

服务监控

图片

服务文档

图片

系统日志

**图片

分布统计(小时)

图片

分布统计(24小时)

图片

统计分析

图片

模块分析

图片

模拟请求

图片

公司列表

图片

会员列表

图片

角色权限

图片

角色管理

图片

功能管理

图片

项目地址

分布式框架:

https://github.com/duyanming/Anno.Core

示例项目

https://github.com/duyanming/Viper

- End -

推荐阅读

用C#自己动手写个操作系统,爽!

盘点5个C#实用的Word、PPT、Excel、Mail第三方库

一个C#开发的Windows远程桌面工具

盘点10个Web开发人员必备的最佳开发工具推荐

盘点10个.Net比较流行的开源的ORM框架


http://www.niftyadmin.cn/n/18041.html

相关文章

机器学习100天(九):009 多项式回归理论

机器学习100天,今天讲的是:多项式回归理论! 在前两期视频我们讲解了简单线性回归理论,并解决了一个房价预测的问题,建立了一个房价与地区人口的线性关系。然而,如果数据的分布不是简单的线性关系,又该怎么做呢? 一、多项式回归 我们来看一个例子,在这个二维平面上,…

Docker配置从私有仓库拉取镜像

修改Docker配置文件 修改docker的配置文件daemon.json,如果配置文件不存在则直接创建。 vim /etc/docker/daemon.json文件内容如下,其中insecure-registries属性值“registry.luntek-inc.com”代表私有仓库的地址,你需要将registry.luntek-…

「C#」异步编程玩法笔记-WinForm中的常见问题

目录 1、异步更新界面 1.1、问题 1.2、解决问题 1.3、AsyncOperationManager和AsyncOperation 1.4、Invoke、BeginInvoke、EndInvoke及InvokeRequired Invoke InvokeRequired BeginInvoke EndInvoke 2、死锁 2.1、问题 2.2、 解决方法 2.2.1、不要await 2.2.2、用…

docker高级篇2-分布式存储之三种算法

面试题: 1~2亿条数据需要缓存,请问如何设计这个缓存案例? 答:单机单台100%是不可能的。肯定是分布式缓存的。那么用Redis如何落地? 一般有三种方案: 哈希取余分区;一致性哈希算法分区&#…

5G无线技术基础自学系列 | 单站点验证准备

素材来源:《5G无线网络规划与优化》 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 单站点验证需要的准备工作包括硬件及通…

Java8之JMX与MBean

参考文章: 《JMX超详细解读》 《JMX》 写在开头:本文为学习后的总结,可能有不到位的地方,错误的地方,欢迎各位指正。 在学习tomcat源码架构的时候了解到其中使用了JMX来实现一些管理工作,于是便整理了这篇…

能够让你装逼的10个Python小技巧

列表推导式 你有一个list: bag [1, 2, 3, 4, 5] 现在你想让所有元素翻倍,让它看起来是这个样子: [2, 4, 6, 8, 10] 大多初学者,根据之前语言的经验会大概这样来做 bag [1, 2, 3, 4, 5] for i in range(len(bag)): bag[i] ba…

css知识复习点

四种css使用方式&#xff1a;内嵌式、外链式、行内式、导入式 复合选择器 后代选择器 选择器之间需要用空格隔开&#xff0c;后代不一定是儿子 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>复合…