(1).NET CORE微服务 Micro-Service ---- 什么是微服务架构,.netCore微服务选型
开发工具:VS2017 .Net Core 2.1
什么是微服务?
单体结构:
缺点:
1)只能采用同一种技术,很难用不同的语言或者语言不同版本开发不同模块;
2)系统耦合性强,一旦其中一个模块有问题,整个系统就瘫痪了;一旦升级其中一个模块,整个系统就停机了;
3)要上线必须一起上线,互相等待,无法快速响应需求;
4)集群只能是复制整个系统,即使只是其中一个模块压力大;
微服务:
不同模块放到不同的进程/服务器上,模块之间通过网络通讯进行协作。
适用于:模块比较多,访问量比较大的互联网类系统,并不是所有项目都适合微服务
优点:
1)可以用不同的语言或者语言不同版本开发不同模块;
2)系统耦合性弱,其中一个模块有问题,可以通过“降级熔断”等手段来保证系统不血崩;
3)可以独立上线,能够迅速响应需求;
4)可以对不同模块用不同的集群策略,哪里慢集群哪里。
缺点:
1)开发难度大,系统结构更复杂;
2)运行效率低;(网络通讯没有进程通讯快)
微服务架构要处理哪些问题?
服务间通讯;服务治理与服务发现;网关和安全认证;限流与容错;监视等
第一代微服务:Dubbo(Java)、Orleans(.Net)等 和语言绑定紧密;
第二代微服务:Spring Cloud等 适合混合开发
第二代微服务:Service Mesh(Service Fabric(微软内部使用的、开源的)、lstio、Conduit等)
目前:第三方微服务还在快速发展中,更新迭代比较快(还不完善)
.NetCore 微服务选型
为什么是.net Core?虽然.Net Framework也可以实现微服务,但是.Net Core是为云而生,用来实现微服务更方便,而且.Net Core可以跨平台。(.Net Framewordk不会再有.Net5.x 下一代就是.Net Core)
第二代微服务架构:Consul+Ocelot+.Net Core+Polly+.....;
腾讯.net大队长张善友把腾讯内部的架构实战整理出一个开源项目NanoFabric(Github上可以搜到),NanoFabric不是一个独立的技术,它只是帮我们搭建好了,配置好了的一个脚手架,只是一个胶水项目,文档不全,仅供我们参考。
在SpringCloud中:EurekaServer做服务治理和服务发现、Hystrix做熔断降级、Zuul做网关;
在NanoFabric中:Consul做服务治理和服务发现、Polly做熔断降级、Ocelot做网关;
在微服务中,服务之间的通讯有俩种主要形式:
1)Restful,也就是传输Json格式数据。.net中就是对应的webapi技术 效率比较低,数据冗余,短连接
2)二进制RPC:二进制传输协议,比restful用的http通讯效率更高,但是耦合性更强。技术有Thrift、gRPC等
(1).NET CORE微服务 Micro-Service ---- 什么是微服务架构,.netCore微服务选型的更多相关文章
- 微服务平台(Micro Service Platform : MSP)旨在提供一个集开发、测试、运维于一体的开发者专属平台,让开发者能快速构建或使用微服务,让开发更简单,让运维更高效。
微服务平台(Micro Service Platform : MSP)旨在提供一个集开发.测试.运维于一体的开发者专属平台,让开发者能快速构建或使用微服务,让开发更简单,让运维更高效. MSP采用业界 ...
- 微服务(Micro Service Architecture)浅析
最近一段时间,微服务的概念很火,可能是跟Docker技术的快速发展和壮大有一定的关系,同时借助于Uber.Netflix.Groupon等公司的实践.宣传和推广,使得MSA渐渐地成为企业或者架构师讨论 ...
- (1)学习笔记 ) ASP.NET CORE微服务 Micro-Service ---- 什么是微服务架构,.netCore微服务选型
开发工具:VS2017 .Net Core 2.1 什么是微服务?单体结构: 缺点: 1)只能采用同一种技术,很难用不同的语言或者语言不同版本开发不同模块: 2)系统耦合性强,一旦其中一个模块有问题, ...
- 微服务之Service Fabric 系列 (一):概览、环境安装
参考 微软官方文档 service fabric 百家号 大话微服务架构之微服务框架微软ServiceFabric正式开源 一.概述 1.概念 Azure Service Fabric 是一款分 ...
- 唯品会的Service Mesh三年进化史 2018 年 Service Mesh 元年,被誉为是下一代微服务架构
2018 年 Service Mesh 元年,被誉为是下一代微服务架构 https://www.sohu.com/a/225324586_465914 唯品会的Service Mesh三年进化史 - ...
- 浅谈服务治理、微服务与Service Mesh(三) Service Mesh与Serverless
作为本系列文章的第三篇(前两篇<浅谈服务治理.微服务与Service Mesh(一)Dubbo的前世今生>,<浅谈服务治理.微服务与Service Mesh(二) Spring Cl ...
- 基于.Net Core 5.0 Worker Service 的 Quart 服务
前言 看过我之前博客的人应该都知道,我负责了相当久的部门数据同步相关的工作.其中的艰辛不赘述了. 随着需求的越来越复杂,最近windows的计划任务已经越发的不能满足我了,而且计划任务毕竟太弱智,总是 ...
- 微服务 Micro services
微服务 (Microservices) 是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础,利用模组化的方式组合出复杂的大型应用程序, ...
- asp.net core microservices 架构之eureka服务发现
一 简介 微服务将需多的功能拆分为许多的轻量级的子应用,这些子应用相互调度.好处就是轻量级,完全符合了敏捷开发的精神.我们知道ut(单元测试),不仅仅提高我们的程序的健壮性,而且可以强制将类和方法的设 ...
随机推荐
- python操作三大主流数据库(4)python操作mysql④python服务端flask和前端bootstrap框架结合实现新闻展示
python操作mysql④python服务端flask和前端bootstrap框架结合实现新闻展示 参考文档http://flask.pocoo.org/docs/0.11/http://flask ...
- mysql管理工具percona-toolkit-3简单使用介绍
安装percona-toolkit-3 # -.el6.x86_64.rpm :.el6 -y 1.pt-summary #显示和系统相关的基本信息: [root@master ~]# pt-summ ...
- virtual box 安装centos min
2018-4-19 22:20:40 星期四 之前不小心把用了很久的centos镜像删掉了.....这里记录下安装最小版centos的步骤 1. 安装centos 2. 开启网络, 并设置为随机启动 ...
- php7静态方法的链式调用
2018-1-11 20:25:48 星期四 情景: 以前想要链式调用必须先 new 一个对象, 然后 $obj->aa()->bb()... 现在PHP7 (php7.0.13 php ...
- 【原创】运维基础之Docker(5)docker部署airflow
部署方式:docker+airflow+mysql+LocalExecutor 使用airflow的docker镜像 https://hub.docker.com/r/puckel/docker-ai ...
- Go append 省略号
1 前言 Golang append加...用法缘由 2 代码 type Product struct { ID int64 `json:"id"` Name string `js ...
- 学了这么久,vue和微信小程序到底有什么样的区别?
前言 写了vue项目和小程序,发现二者有许多相同之处,在此想总结一下二者的共同点和区别.相比之下,小程序的钩子函数要简单得多. 一.生命周期 先贴两张图: vue生命周期 小程序生命周期 相比之下 ...
- 基础常用的数据结构 Collection Map
map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等.其中这四者的区别如下(简单介绍): HashMap:我们最常用的Map ...
- Confluence 6 后台中为站点添加应用导航
Confluence 6 后台中为站点添加应用导航的连界面和方法. https://www.cwiki.us/display/CONFLUENCEWIKI/Configuring+the+Site+H ...
- 自定义Web框架
http协议 HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本 ...