.NET 微服务
前文传送门:
- 什么是云原生?
 - 现代云原生设计理念
 
Microservices
微服务是构建现代应用程序的一种流行的体系结构样式,云原生系统拥抱微服务。
微服务是由一组(使用共享结构交互的、独立的小块服务)搭建的分布式集,具有以下特征:
- 在大型的领域上下文中,每个微服务实现特定的业务功能
 - 每个微服务都自主开发的,且可以独立部署
 - 每个微服务都独立封装了自己的数据存储技术(SQL,NoSQL)和编程平台。
 - 每一个微服务都运行在独立进程,并使用标准的通信协议(例如HTTP/HTTPS、WebSocket或AMQP)与其他进程进行通信。
 - 它们一起组成一个应用程序。
 
下图对比单体与微服务应用:
请注意,单体应用由分层架构组成,在单个进程中执行,通常使用关系型数据库。
但是,微服务方法将功能分为包含逻辑和数据的独立服务,每个微服务都托管自己的数据存储。

微服务依然遵守"十二要素应用"中的One Codebase, One Application”原则。
每个微服务存储在独立代码仓库,通过版本管理进行跟踪,可以部署到多个环境。
Why microservices?
微服务提供了敏捷性。
上一段落,我们已经对比了单体和微服务,我们看到了一些明显的好处:
每个微服务都有自治的生命周期,可以独立演进、多频次部署。
你不必等待发布窗口即可部署新功能或更新,你可以只更新复杂应用的一小部分区域,减少破坏整个系统的风险。每个微服务都可以独立扩展。
不需要以应用整体为单位扩展,而仅扩展那些需要更多处理能力或网络带宽的微服务,这种细粒度的伸缩方法提供更好的控制力和成本优势。
学习微服务的最佳指南是《.NET Microservices: Architecture for Containerized .NET Applications》,这本书深入探讨了微服务设计和架构,它是微服务实践https://github.com/dotnet-architecture/eShopOnContainers的阅读搭档。
Developing microservices
可以使用任何现代开发平台来创建微服务。
微软.NET平台是一个绝佳的选择,免费、开源,内置许多功能以简化微服务开发。 .NET是跨平台的,可以在Windows、macOS和大多数Linux上构建和运行应用程序。
.NET的性能很高,在TechEmpower组织的性能基准测试中,.NET相当优秀。
.NET由Microsoft和.NET社区在GitHub上维护。
.NET 微服务的更多相关文章
- 高大上的微服务可以很简单,使用node写微服务
		
安装 npm install m-service --save 使用 编写服务处理函数 // dir1/file1.js // 使用传入的console参数输出可以自动在日志里带上request id ...
 - 微服务与Docker介绍
		
什么是微服务 微服务应用的一个最大的优点是,它们往往比传统的应用程序更有效地利用计算资源.这是因为它们通过扩展组件来处理功能瓶颈问题.这样一来,开发人员只需要为额外的组件部署计算资源,而不需要部署一个 ...
 - 我所理解的SOA和微服务
		
本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p/5847441.html SOA和微服务到底是什么关系? 说实话,我确实不明白SOA和微服务到底有什么本质上 ...
 - CI Weekly #5 | 微服务架构下的持续部署与交付
		
CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Ti ...
 - 微服务和SOA服务
		
微服务和SOA都被认为是基于服务的架构,这意味着这两种架构模式都非常强调将“服务”作为其架构中的首要组件,用于实现各种功能(包括业务层面和非业务层面).微服务和SOA是两种差异很大的架构模式,但是他们 ...
 - 【DDD/CQRS/微服务架构案例】在Ubuntu 14.04.4 LTS中运行WeText项目的服务端
		
在<WeText项目:一个基于.NET实现的DDD.CQRS与微服务架构的演示案例>文章中,我介绍了自己用Visual Studio 2015(C# 6.0 with .NET Frame ...
 - WeText项目:一个基于.NET实现的DDD、CQRS与微服务架构的演示案例
		
最近出于工作需要,了解了一下微服务架构(Microservice Architecture,MSA).我经过两周业余时间的努力,凭着自己对微服务架构的理解,从无到有,基于.NET打造了一个演示微服务架 ...
 - 微服务(Microservices)—Martin Fowler【翻译】
		
本文转载自:http://www.cnblogs.com/liuning8023/p/4493156.html -------------------------------------------- ...
 - Microservice 微服务的理论模型和现实路径
		
两年前接触到了微服务的概念,面对日益膨胀的系统感觉豁然开朗.之后的两年逐步把系统按微服务的架构理念进行了重构,并将业务迁移到了新架构之上.感觉现在差不多是时候写一篇关于微服务的总结文章了. 定义 在 ...
 - 翻译-使用Ratpack和Spring Boot打造高性能的JVM微服务应用
		
这是我为InfoQ翻译的文章,原文地址:Build High Performance JVM Microservices with Ratpack & Spring Boot,InfoQ上的中 ...
 
随机推荐
- MySQL中in('5,6,7')只取第一个id为5对应的数据的思考
			
通过阅读本文你可以更好的理解两个知识点: 1.#{}与${}在实际项目中的使用,避免在项目中使用不当造成不可预知的Bug; 2.MySQL中in里面如果是字符串的话,为什么只取第一个对应的数据,eg: ...
 - RHEL8/CentOS8的网络IP配置
			
rhel8与7的区别 在rhel7上,同时支持network.service和NetworkManager.service(简称NM).默认情况下,这2个服务都有开启,但许多人都会将NM禁用掉. 在r ...
 - [leetcode] 周赛 223
			
比赛题目:https://leetcode-cn.com/contest/weekly-contest-223/. 解码异或后的数组 题目:1720. 解码异或后的数组. 还记得数列求和的「累加法」? ...
 - CICD基础概念
			
windows下搭建jenkins:安装方法一:1.安装JDK,配置好环境变量2.下载安装最新版本Jenkins:登陆 http://mirrors.jenkins-ci.org/ 下载windows ...
 - 简要MR与Spark在Shuffle区别
			
一.区别 ①本质上相同,都是把Map端数据分类处理后交由Reduce的过程. ②数据流有所区别,MR按map, spill, merge, shuffle, sort, r educe等各阶段逐一实现 ...
 - 基于Python开发数据宽表实例
			
搭建宽表作用,就是为了让业务部门的数据分析人员,在日常工作可以直接提取所需指标,快速做出对应专题的数据分析.在实际工作中,数据量及数据源繁多,如果每个数据分析人员都从计算加工到出报告,除了工作效率巨慢 ...
 - xtrabackup_binlog_info
			
文件保存了备份结束时刻binlog的名称和位置
 - oracle查看用户的系统权限,角色以及数据库对象权限
			
select * from dba_sys_privs where GRANTEE='monkey'; select * from dba_role_privs where GRANTEE='monk ...
 - egret 解决游戏loading前的黑屏
			
一.问题 egret游戏loading界面的制作可以参考这个,我就不多赘述啦,步骤也比较详细<Egret制作Loading页面及分步加载资源教程>. 后面我发现即便加上loading,在游 ...
 - 【转】Js中的window.parent ,window.top,window.self 详解
			
[转自]http://blog.csdn.net/zdwzzu2006/article/details/6047632 在应用有frameset或者iframe的页面时,parent是父窗口,top是 ...