微服务
定义:
它是一种架构模式,提倡将大的单体系统,按业务拆分成一个个较小且独立的服务,服务与服务之前进行相互协作和配合。
历史:
针对互联网行业的蓬勃发展,需要支撑的业务越来越多,越来越大,单体程序越来越难以支撑,因此才出现了微服务的这种架构。
优点:
它的优点主要是与单体程序相比
1.开发独立:因开发独立就可以使用不同的语言进行开发,这样就更能发挥出各语言擅长的方面。
2.低耦合 :服务与服务间采用轻量级的通信机制相沟通(Http,tcp/id),当某一服务出现问题,可以通过“降级熔断”等手段来保证系统不雪崩。
3.独立部署:这个就厉害了,独立部署带给我们的就是快速的迭代,完全与现在的敏捷开发相符。
4.横向扩展:这就是对于某一个服务的压力大的时候,我们就可以针对这一个服务进行集群扩展,而不像原单体系统那样,需要整个系统作扩展。
缺点:
1.因架构使各服务(系统)的颗粒度更小了,整体来说对开发和维护的难度就增加。(当然现在以云的方式部署,因此能屏蔽一些问题)
2.因服务与服务之前的通信机制是网络的方式,因此对于单体的进程内通信就显得运行效率降下来了。
原则:
1.单一职责:每个微服务只需要实现自己的业务逻辑就可以了,比如订单管理模块,它只需要处理订单的业务逻辑就可以了,其它的不必考虑
2.服务自治:每个微服务从开发、测试、运维等都是独立的,包括存储的数据库也都是独立的,自己就有一套完整的流程,我们完全可以把它当成一个项目来对待。不必依赖于其它模块。
3.轻量级通信:首先是通信的语言非常的轻量,第二,该通信方式需要是跨语言、跨平台的,之所以要跨平台、跨语言就是为了让每个微服务都有足够的独立性,可以不受技术的钳制。
4.接口明确:由于微服务之间可能存在着调用关系,为了尽量避免以后由于某个微服务的接口变化而导致其它微服务都做调整,在设计之初就要考虑到所有情况,让接口尽量做的更通用,更灵活,从而尽量避免其它模块也做调整。
使用:
服务拆分:
1.微服务拆分原则:领域模型、限定上下文、组织架构、康威定律
2.每个服务有自己的数据库
3.微服务之间确定服务边界,通过共享模型建立联系
数据一至性
1.使用最终一致性来代替强一致性
2.可靠性事件模式
3.补尝模式
服务通信
1.通信技术方案: RPC vs REST vs 异步消息
2.服务注册和发现
3.负载均衡
服务网关
1.API Gateway
2.划分前端服务的后端服务,移动端服务
3.身份认证、路由服务、限流防刷、日志统计
高可观察
1.健康检测、集中监控
2.日志聚合及检索
3.分布式追踪
可靠性
1.流量控制,超时控制
2.舱壁隔离,熔断机制
3.服务降级, 幂等重试
 
微服务是近期兴起的一种架构模式,因此再使用时,我们就会遇到不同的坑,比如需要依赖的中间件更新速度比较快,因此会造成每个版本在使用上的不同。因此在使用时请注意尽量选择一些大公司已经使用的技术。
 
在.Net Core中使用的技术
服务治理发现:Consul
熔断降级:Poll
网关: Ocelot
身份认证:Identity Server
RPC通信:Thirft
分布式配置中心:Apollo(阿波罗)
监控插件:App Metrics
分布式日志收集框架: Exceptionless
时间序列数据库:InfluxDB
开源仪表盘工具:Grafana
 
转自:https://www.cnblogs.com/xiao-feng/p/9129784.html

微服务定义及.Net Core中用的技术的更多相关文章

  1. 微服务系列实践 .NET CORE

    从事这个行业转眼已经6年了,从当初刚毕业的在北京朝八晚十,从二环到五环,仍每天精力充沛的小愤青:再到深圳一点一滴的辛勤在软件行业的耕种,从当初单体应用架构到现在微服务架构的经历,回想起来自己的收获倒是 ...

  2. 浅谈微服务架构与.Net Core

    微服务(microservice)这个概念是2012年出现的,2014年3月Martin Fowler在他的个人网站(https://martinfowler.com/articles/microse ...

  3. .NET Core微服务之ASP.NET Core on Docker

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.Docker极简介绍 1.1 总体介绍 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源.D ...

  4. 【微服务目录】.NET Core 微服务介绍

    介绍: 写这篇文章有多方面的原因,第一当然是为了以后自己可以随时翻阅,第二也算是一种积累吧.因为有些东西你弄个之后,过了很长时间不用,可能会有些忘却,但是你因为以前弄个吧,有不是那种小白,需要去找示例 ...

  5. 微服务日志之.NET Core使用NLog通过Kafka实现日志收集

    一.前言 NET Core越来越受欢迎,因为它具有在多个平台上运行的原始.NET Framework的强大功能.Kafka正迅速成为软件行业的标准消息传递技术.这篇文章简单介绍了如何使用.NET(Co ...

  6. 微服务学习及.net core入门教程

    https://www.cnblogs.com/jackyfei/p/12067708.html https://www.cnblogs.com/jesse2013/ http://video.jes ...

  7. .Net Core with 微服务 - Consul 注册中心

    上一次我们介绍了 Ocelot 网关的基本用法.这次我们开始介绍服务注册发现组件 Consul 的简单使用方法. 服务注册发现 首先先让我们回顾下服务注册发现的概念. 在实施微服务之后,我们的调用都变 ...

  8. .Net Core with 微服务 - Elastic APM

    上一次我们介绍了Seq日志聚合组件.这次要给大家介绍的是Elastic APM ,一款应用程序性能监控组件.APM 监控围绕对应用.服务.容器的健康监控,对接口的调用链.性能进行监控.在我们实施微服务 ...

  9. .Net Core with 微服务 - Polly 服务降级熔断

    在我们实施微服务之后,服务间的调用变的异常频繁.多个服务之间可能是互相依赖的关系.某个服务出现故障或者是服务间的网络出现故障都会造成服务调用的失败,进而影响到某个业务服务处理失败.某一个服务调用失败轻 ...

随机推荐

  1. Django之csrf防御机制

    1.csrf攻击过程 csrf攻击说明: 1.用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A; 2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站 ...

  2. python语法_模块_loggin_hashlib_conifgparser

    loggin模块 日志模块,级别从上往下依次增强,debug 和 info 默认不输出信息,只有后三种级别有输出信息 loggin.debug('') loggin.info('') loggin.w ...

  3. 玩转vue前进刷新,后退不刷新and按需刷新

    大白萝卜小课堂开讲了!带你玩转vue前进后退按需刷新! 用vue做后台管理项目,特别是有列表页.列表数据详情页.列表数据修改页功能的码友们,几乎都被vue前进后退都刷新的逻辑坑过,本萝卜更是! 萝卜的 ...

  4. emWin监护仪界面设计,含uCOS-III和FreeRTOS两个版本

    第5期:监护仪界面设计 配套例子:V6-908_STemWin提高篇实验_监护仪界面设计(uCOS-III)V6-909_STemWin提高篇实验_监护仪界面设计(FreeRTOS) 例程下载地址:h ...

  5. HBase之Table.put客户端流程

    首先,让我们从HTable.put方法开始.由于这一节有很多方法只是简单的参数传递,我就简单略过,但是,关键的方法我还是会截图讲解,所以希望大家尽可能对照源码进行流程分析.另外,在这一节,我单单介绍p ...

  6. node开发备注

    设置环境变量 // 命令行启动: "scripts": { "start": "export NODE_ENV=dev && node ...

  7. 【转】getopt模块,实现获取命令行参数

    python中 getopt 模块,该模块是专门用来处理命令行参数的 函数getopt(args, shortopts, longopts = []) 参数args一般是sys.argv[1:],sh ...

  8. 浅谈Web开发中的定时任务

    曾经做过Windows server下的定时任务的业务,最近又做了一些Linux下使用Crontab做的定时任务的业务,觉得有必要进行一次小结,于是有了如下这篇文章. Windows Server下 ...

  9. Android--加载大分辨率图片到内存

    前言 在使用ImageView显示图片的时候,直接加载一个图片资源到内存中,经常会出现内存溢出的错误,这是因为有些图片的分辨率比较高,把它直接加载到内存中之后,会导致堆内存溢出的问题.这篇博客就来讲解 ...

  10. 就算会用python画颗心,可你依然还是只单身狗

    :) 标题是开玩笑的,千万别认真. 随着AI的飞速发展,有志于此行的码农也是急剧的增加,带来的就是大家对算法.数学的兴趣也格外升高. 本文的来历是这样,今天某老同事在朋友圈发了一张屏拍,求公式. 看了 ...