microdot - 一个开源 .NET 微服务框架。

简介

Microdot 是一个开源 .NET 框架,可满足轻松创建微服务的许多需求。

它的一些主要特点

•用于托管微服务的服务容器•服务间 RPC,便于基于接口的服务通信•服务之间的客户端透明响应缓存•日志记录和分布式跟踪支持•客户端负载均衡和服务发现•详细的健康检查,便于服务监控•具有在线变更检测的分层配置系统•依赖注入

使用

Microdot 框架可帮助您创建可扩展且可靠的微服务(“微服务底盘”),让您可以专注于编写定义服务逻辑的代码,而无需应对开发分布式系统的开发挑战。

Microdot 实现并支持许多已建立的微服务相关模式。下面是由Microservices.io的 Chris Richardson 创建的综合图表,添加了颜色突出显示以显示在 Microdot 中实现的部分(黄色),计划实现的部分(紫色)以及未实现但可以轻松合并的模式(蓝色)。

ad5fc5c6b6626b39cac9731437fbed22.png

Microservices.io包含许多关于微服务模式/架构以及正编写良好的信息。如果您不熟悉此架构,它可以帮助您快速上手,并可能帮助您充分利用 Microdot。

Microdot 提供与Microsoft Orleans的集成,这反过来又提供:

•易于开发- 一个简单的编程模型 ( Virtual Actors ),让您无需处理线程、锁、互斥体、事务、分布式状态一致性等。•扩大规模- 编写异步代码;每个 CPU 核心只有一个线程,协同多任务处理和异步 IO。提供高吞吐量、低延迟、低开销的服务。•横向扩展- 无需对代码进行任何更改,您就可以将服务扩展到任意数量的节点,而不会中断服务。•低延迟和磁盘 I/O - 自动缓存。

系统架构

15dcff3b87c0cfc23d1698da61e465c2.png

节点架构

ba5331c7297f5af721cefb5312477412.png

最后大家如果喜欢我的文章,还麻烦给个关注并点个赞, 希望net生态圈越来越好!

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

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

相关文章

U3D 如何计算一个UI四个角的绝对坐标

//方式一&#xff0c;使用API获取var rtrans gameObject.GetComponent<RectTransform>();Vector3[] worldcorners new Vector3[4];rtrans.GetWorldCorners(worldcorners);//方式二&#xff0c;手动计算var cam GameObject.Find("Camera").GetComponent<C…

回溯算法之购物车(0-1 背包问题)

1、问题(参考趣学算法) 央视有一个大型娱乐节目— 购物街,舞台上模拟超市大卖场,有很多货物,每个嘉宾分配一个购物车,可以尽情的装满购物车,购物车装的价值最高者取胜。假设 n 个物品和 1个购物车,每个物品 i 对应价值为 vi,重量 wi,购物车的容量为 W(你也可以将重量设定为体…

slider控件控制文本框字体大小

1.控件代码 <pre name"code" class"csharp"> <Slider x:Name"slider1" HorizontalAlignment"Left" Margin"0,261,0,0" VerticalAlignment"Top" Width"446" ValueChanged"Slid…

争时金融java_Java高并发编程基础之AQS

引言曾经有一道比较比较经典的面试题“你能够说说java的并发包下面有哪些常见的类&#xff1f;”大多数人应该都可以说出CountDownLatch、CyclicBarrier、Sempahore多线程并发三大利器。这三大利器都是通过AbstractQueuedSynchronizer抽象类(下面简写AQS)来实现的&#xff0c;所…

Android UI设计系统-android selector 开始自定义样式

Selector的结构描述&#xff1a; <?xml version"1.0" encoding"utf-8"?> <selector xmlns:android"http://schemas.android.com/apk/res/android" > <item android:color"hex_color" android:state_pressed"tru…

Xamarin效果第十三篇之弹窗PopupPage

在上一篇文章中使用Xamarin实现控制了一下祖传的PLC;基本的功能也就完事了,这不总觉得少点最基本的配置;那就趁着激情还在赶紧再去完善一下,不然激情已过就懒得去摸索了;来看看最终咱实现的视频效果:1、关于弹窗,直接使用开源的PopupPageInstall-Package Rg.Plugins.Popup -Ver…

UIView中常用的方法

UIView 中常见的方法总结 addSubview: 添加一个子视图到接收者并让它在最上面显示出来。 - (void)addSubview:(UIView *)view 讨论 这方法同样设置了接收者为下一个视图响应对象。接收者保留视图。如果你使用removeFromSuperview方法用来把视图移除他的显示列表&#xff0c;那么…

Android studio之如何快速查看页面的布局

Android studio  &#xff0d;&#xff1e; &#xff54;&#xff4f;&#xff4f;&#xff4c;&#xff53; &#xff0d;&#xff1e; &#xff21;&#xff4e;&#xff44;&#xff52;&#xff4f;&#xff49;&#xff44; &#xff0d;&#xff1e; &#xff2c;&…

你们是不是对QQ总在后台莫名其妙更新一些东西很反感

开始 - 运行 - gpedit.msc 打开策略组依次进入 计算机配置——Windows设置——安全设置——软件限制策略——其他规则有人说软件限制策略下面是空的 你在软件限制策略上右键——新建 下面的目录自然就出来了右键——新建路径规则 依次输入如下路径并选择不允许<系统路径>…

GTKmm 学习资料

GTK2.0 中的容器控件与布局技巧 GTK图形化应用程序开发学习笔记&#xff08;一&#xff09;—概述

Android之在linux终端执行shell脚本文件(通过aapt)得到apk包名

1、问题 我们在ubuntu上经常想看到apk的包名,然后在终端通过pidcat.py packageName 过滤日志,我们常用的办法手机连接电脑,然后打开这个app adb shell dumpsys activity top 我们可以看到当前activity的名字和包名,但是如果这是一个apk呢?还没有运行呢?我们可以通过工…

C# 线程问题之争用条件

用多个线程编程并不容易。在启动访问相同数据的多个线程时&#xff0c;会间歇性地遇到难以发现的问题。如果使用任务、并行 LINQ 或 Parallel 类&#xff0c;也会遇到这些问题。为了避免这些问题&#xff0c;必须特别注意同步问题和多个线程可能发生的其他问题。下面探讨与线程…

BFS HDOJ 2102 A计划

题目传送门 题意:中文题面 分析:双层BFS,之前写过类似的题.总结坑点: 1.步数小于等于T都是YES  2. 传送门的另一侧还是传送门或者墙都会死  3. 走到传送门也需要一步 #include <bits/stdc.h> using namespace std;char maze[2][11][11]; int dx[4] {-1, 1, 0, 0}; i…

MVC 之 Partial View 用法

Partial View 顾名思义就是Html代码片段&#xff0c;因此可以用Partial View 把部分的Html或显示逻辑包装起来&#xff0c;方便多次使用。Partial View 需要放在Views/Shared 目录下&#xff0c;任何Controlller 下的Action 或 View 都可以载入。如何载入Partial View?MVC 的 …

Matlab 7.1安装及打不开问题解决

一、安装方法 1、解压[MATLAB.V7.1.Windows版本].MATLAB.V7.1.R14.SP3.CD1.iso,双击setup进行安装,输入用户名,单位,找到crack下的PLP number.txt文件夹的PLP序列,复制粘贴。 2、安装过程中选择[MATLAB.V7.1.Windows版本].MATLAB.V7.1.R14.SP3.CD2和[MATLAB.V7.1.…

Android之在linux终端执行shell脚本直接打印当前运行app的日志

1、问题 我们一般很多时候会需要在ubuntu终端上打印当前运行app的日志,我们一般常见的做法是 1)、获取包名 打开当前运行的app,然后输入如下命令,然后在第一行TASK后面的就可以看到包名 adb shell dumpsys activity top 2)、我们的终端安装了pidcat.py脚本,然后执行如下…

尾调用优化 java_为什么JVM仍然不支持尾调用优化?

拉丁的传说也许您已经知道这一点&#xff0c;但是这个功能并不像听起来那么简单&#xff0c;因为Java语言实际上将堆栈跟踪暴露给程序员。考虑以下程序&#xff1a;public class Test {public static String f() {String s Math.random() > .5 ? f() : g();return s;}publ…

【AngularJS】—— 2 初识AngularJs(续)

前一篇了解了AngularJS的一些简单的使用&#xff0c;这里继续跟着w3c学习一下剩下的内容。 本篇根据w3cschool.cc继续学习AngularJS剩余的内容&#xff0c;包括&#xff1a; 1 事件 2 模块 3 表单 4 数据验证 5 bootstrap CSS风格 6 include包含其他页面 7 应用程序 8 参考手册…

08_drain a node on the swarm

在之前的小节&#xff0c;所有的节点的状态都是运行着的可用状态。swarm manager 可以分配任务给任意可用的节点。有时候&#xff0c;你可能需要对某台服务器进行维护&#xff0c;你需要配置某个节点为drain状态&#xff0c;即排干该节点上面的所有运行的容器。drain状态可以防…

特斯拉为何使用.NET 技术栈?

【精选转载】| 来源/知乎在知乎上有一个帖子非常热闹&#xff1a;“为何特使拉使用.net core技术栈 而不用 java&#xff1f;”1回答1&#xff1a;Kasim作者&#xff1a;Kasim链接&#xff1a;https://www.zhihu.com/question/496204534/answer/2269157872这题我熟啊&#xff0…