原文:.NET Core微服务之路:不断更新中的目录 (v0.43)

  微服务架构,对于从事JAVA架构的童鞋来说,早已不是什么新鲜的事儿,他们有鼎鼎大名的Spring Cloud这样的全家桶框架支撑,包含微服务核心组件如

1. Eureka:实现服务注册与发现。

2. Zuul:实现统一API网关。

3. Hystrix:实现熔断保护与可视化监控。

4. Config:实现统一管理配置。

(如还有更多组件,欢迎补充)

  都是我们NET程序员梦寐以求的组件,而.NET Core发展至今,也专门是为微服务提供的框架平台,只是目前处于各路神仙各显神通的阶段,没有一个统一的框架体系来完成和维护这样的框架集,当然,笔者也是按照目前在NET上所了解到的开源框架摸着石头一个一个的寻找和研究,谁叫我是NET的忠实粉呢,因此,笔者也特意开出一个系列来详细探讨NET Core微服务架构体系的各种知识,水平有限,欢迎拍砖。

一:服务注册与发现

基于Consul最少化集群实现服务的注册与发现(一)

  本节介绍Consul最小化集群的安装,以及用ASP.NET Core快速建立一个服务,并将这个服务注册到Consul上。

基于Consul最少化集群实现服务的注册与发现(二)

  本节在Consul最小化集群安装的基础上,实现多个客户端节点通过配置化自动生成,并根据Consul的Watches机制实现自动运维告警。

二:服务间通信传输方式

.NET Core微服务之路:(纯干货)基于gRPC服务发现与服务治理的方案

  我API和服务分离好了,怎么通过服务中心进行发现呢,这个过程是通过什么来实现的呢,本篇我们就来介绍这个基于gRPC的“调用过程”。

.NET Core微服务之路:利用DotNetty实现一个简单的通信过程

  在远程调用的过程中,首先需要的是远程通讯,建立两台或多台的连接,才能进行数据传输和调用,本篇我们介绍基于强大的DotNetty框架而实现的简单C/S通讯过程。

.NET Core微服务之路:让我们对这个简单Demo通讯进行一次升级和封装

  对上一篇的DotNetty通讯Demo进行简单的升级,利用protobuf-net进行序列化,再结合DotNetty Demo并进行一次简单的RPC远程调用。

.NET Core微服务之路:自己动手实现Rpc服务框架,基于DotEasy.Rpc服务框架的介绍和集成

  本篇重点介绍DotEasy.Rpc的简单构建,以及如何通过Asp.net core + consul + doteasy.rpc实现一个rpc远程调用服务,利用doteasy.rpc框架,关键代码精简不到十行(接口定义和实现除外)。

三:API网关

NET Core微服务之路:基于Ocelot的API网关实现--http/https协议篇

  API网关是一个服务器,是系统的唯一入口。从面向对象设计的角度看,它与外观模式类似。API网关封装了系统内部架构,为每个客户端提供一个定制的API。它可能还具有其它职责,如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响应处理。

NET Core微服务之路:基于Ocelot的API网关Relay实现--tcp协议篇

  

四:熔断与降级

Ocelot内置Polly实现熔断与降级

五:统一验证与授权

Ocelot内置IdentityServer实现统一验证与授权

六:追踪与日志

基于butterfly实现分布式追踪

基于Exceptionless实现分布式日志记录

七:数据一致性与事件总线

基于MassTransit实现数据最终一致性

基于RabbitMQ实现消息队列

八:统一配置中心

基于Apollo实现统一配置中心

九:统一性能监控

基于App.Metrics实现Net core监控

基于InfluxDB实现数据库监控

基于Grafana实现统一GUI界面监控面板

十:持续发布与持续交付

基于Jenkins和Docker实现CI&CD

推荐一本微软出品的《微服务架构指南》,值得一看,点我下载

.NET Core微服务之路:不断更新中的目录 (v0.43)的更多相关文章

  1. .NET Core微服务之路:文章系列和内容索引汇总 (v0.52)

    微服务架构,对于从事JAVA架构的童鞋来说,早已不是什么新鲜的事儿,他们有鼎鼎大名的Spring Cloud这样的全家桶框架支撑,包含微服务核心组件如 1. Eureka:实现服务注册与发现. 2. ...

  2. NET Core微服务之路:实战SkyWalking+Exceptionless体验生产环境下的追踪系统

    前言 当一个APM或一个日志中心实际部署在生产环境中时,是有点力不从心的. 比如如下场景分析的问题: 从APM上说,知道某个节点出现异常,或延迟过过高,却不能及时知道日志反馈情况,总不可能去相应的节点 ...

  3. NET Core微服务之路:实战SkyWalking+Exceptionless体验生产下追踪系统

    原文:NET Core微服务之路:实战SkyWalking+Exceptionless体验生产下追踪系统 前言 当一个APM或一个日志中心实际部署在生产环境中时,是有点力不从心的. 比如如下场景分析的 ...

  4. 【NET CORE微服务一条龙应用】开始篇与目录

    简介 随着业务的发展和变更,项目原先的分布式框架应用业务发展已有些不适应,所以18年初开始准备使用微服务框架,当时正好看到了ocelot项目,特意翻看了源码,发现很灵活和易扩展 于是就开始了微服务的开 ...

  5. NET Core微服务之路:自己动手实现Rpc服务框架,基于DotEasy.Rpc服务框架的介绍和集成

    本篇内容属于非实用性(拿来即用)介绍,如对框架设计没兴趣的朋友,请略过. 快一个月没有写博文了,最近忙着两件事;    一:阅读刘墉先生的<说话的魅力>,以一种微妙的,你我大家都会经常遇见 ...

  6. .NET Core微服务之路:让我们对上一个Demo通讯进行修改,完成RPC通讯

    最近一段时间有些事情耽搁了更新,抱歉各位了. 上一篇我们简单的介绍了DotNetty通信框架,并简单的介绍了基于DotNetty实现了回路(Echo)通信过程. 我们来回忆一下上一个项目的整个流程: ...

  7. NET Core微服务之路:简单谈谈对ELK,Splunk,Exceptionless统一日志收集中心的心得体会

    前言 日志,一直以来都是开发人员和运维人员最关心的问题.开发人员可通过日志记录来协助问题定位,运维人员可通过日志发现系统隐患,故障等定位问题.如果你的系统中没有日志,就像一个断了线的风筝,你永远不知道 ...

  8. .NET Core微服务之路:基于gRPC服务发现与服务治理的方案

    重温最少化集群搭建,我相信很多朋友都已经搭建出来,基于Watch机制也实现了出来,相信也有很多朋友有了自己的实现思路,但是,很多朋友有个疑问,我API和服务分离好了,怎么通过服务中心进行发现呢,这个过 ...

  9. .NET Core微服务之路:基于Consul最少集群实现服务的注册与发现(二)

    重温Consul最少化集群的搭建  

随机推荐

  1. percona-toolkit的安装及简单介绍

    MySQL数据库是轻量级.开源数据库的佼佼者.其功能和管理,健壮性与Oracle相比还是有相当的差距.因此有非常多功能强大第三方的衍生产品,如percona-toolkit,XtraBackup等等. ...

  2. ECMall 25个 数据库表 说明文档

    ecm_acategory //文章分类表 字段 类型 Null 默认 注释 cate_id int(10) 否   自增ID号,分类ID号 cate_name varchar(100) 否   分类 ...

  3. LuceneIndexFileDeleter会保留初始的commit

    给实时索引加入了merge策略,持续更新时发现有做merge,但索引文件夹中的段数远远大于RealTimeIndexWriter中的段数,就是有些merge的段应该删除,文件夹中没有删除.而关闭sea ...

  4. amazeui学习笔记--css(常用组件3)--按钮组Button-group

    amazeui学习笔记--css(常用组件3)--按钮组Button-group 一.总结 1.按钮组用法:把一系列要使用的 .am-btn 按钮放入 .am-btn-group . 2.按钮工具栏: ...

  5. Day2:字符串常用方法

    字符串常用方法 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan name = "my \tname is ...

  6. 微信小程序实现运动步数排行(可删除)

    wxml <!-- 向左滑动删除功能 --> <view class="item-box"> <view class="items" ...

  7. 关于Altium Designer重新修改某一原件pcb封装的问题

    在重新导入的时候可能会影响到类class,所以可能是原理图中没有类吧 上图中的comment的修改是表示下面图片中的 comment栏的改变:

  8. UILabel基本用法

    UILabel *_label = [[UILabel alloc]initWithFrame:CGRectMake(, self.view.frame.size.height*)]; _label. ...

  9. Android 底部TabActivity(0)——开篇(界面分析|系列文章文件夹)

    当下主流的软件没有一个统一明白的风格,App框架什么样的都有,但个人钟情于页面底部Tab分签架构,移动设备的屏幕尽管越来越大,可是显示的内容还是有限,为了能展示很多其它的内容,方便简洁的操作习惯中Ta ...

  10. linux 查看 *.a *.so 符号表(zt)

    objdump -tT libName.so | grep symbel symbolName nm -D libName.so | grep symbel symbolName 很多非常熟悉wind ...