单体、SOA、微服务

单体架构-》SOA-》微服务:html

1. 从三层到mvc单体架构(特色:用户少并发少,并发增长),便于管理在一个项目中,但项目愈来愈大知足不了需求过于臃肿、不能拓展(有些模块须要进行扩展有些无需扩展)、资源不能分离。
 
2.SOA和微服务都是架构思想,基于SOA的架构思想将重复公用的功能抽取为组件,以服务的方式给系统提供服务,系统与服务之间采用webservice、rpc等方式进行通讯,ESB企业服务总线做为项目与服务之间通讯的桥梁。EAI是什么,各个系统间互联,相互传数据的解决方案,原来经过socket通信方式,只能在同一平台上进行通信。基于中间系统,为了能知足跨平台的通信,出现了webserver松耦合的通信方式,数据经过xml传输。ESB包含了EAI的功能, 简单 来讲 ESB 就是一根管道,用来链接各个服务节点。为了集 成不一样系统,不一样协议的服务,ESB 作了消息的转化解释和路由工做,让不一样的服务互联互通。与API网关统一层面的东西,在微服务思想中叫API网关,SOA思想中是ESB,在以前是EAI。
 
3. 前端代码和后台得分离,将后台代码分布在多个服务器上,负载均衡,缓解并发压力。慢慢对于模块中不一样的需求,某个模块须要更多的服务器有些或许对性能要求不高,从而产生了微服务化,将原有的业务拆成独立的工程, 独立部署,灵活扩展。微服务是以每个独立组件(例如用户服务,商品服务)为单位进行部署,每一个模块为一个独立模块进行部署,经过调用相关的接口来实现交互。 微服务是协做小而自治的服务:小专一于一件事,自治每一个服务独立部署不受影响,协做每一个服务是个体组成了总体相互交互沟通。微服务架构(Microservices Architecture)是将系统拆分为多个应用服务。应用服务实现具体的业务功能,单独部署维护。应用服务之间经过轻量级通讯框架进行,而且支持应用服务用不一样技术或者平台实现。微服务架构是SOA架构设计思想另外一种实现方式。SOA 是粗粒度,松耦合的服务架构,异构系统间的服务通信。微服务是按业务边界作细粒度的拆分和部署。
  
   API 网关是什么?系统暴露在外面的一个惟一入口,像一个公司的门卫承担着寻址、限制进入、安全检查、位置引导等功能。2个系统间或者服务端与客户端间通信,加上一个中间件协做API调用,那就是API网关。同时API网关上能够实现协议转换,负载均衡,请求路由,流量控制等,若涉及到对系统的请求,而且可以从业务中抽离出来的功能,都有可能在网关上实现。
  Ocelot是一个用.NET Core实现而且开源的API网关。实现了路由、请求聚合、服务发现、认证、鉴权、限流熔断、并内置了负载均衡器与Service Fabric、Butterfly Tracing集成。下图网上找的说的蛮清楚:
 

 

  涉及受权的将集成Identity Server。前端

 

  集群: web

  增长consul:api

详细参考这篇文章https://www.cnblogs.com/jesse2013/p/net-core-apigateway-ocelot-docs.html安全

   以上是一个负载均衡的API网关,可是不能自动发现服务要手动进行配置,孕育而生的consul,服务发现。如何服务发现呢?服务器

 简单理解了一下:consul是个集群,有consul server leader和consul server follower服务器,而后在有不少服务,如服务A,B,C等,在他们的服务器上会安装consul client,服务注册到consul client上,当有个服务要调用其余服务时,如服务D要调用服务B,服务D告诉服务器上的consul client,consul client通知consul server查找服务B的信息,服务D最终调用了服务B。架构

 网上有文章如何实现以下地址:并发

https://www.cnblogs.com/ibeisha/p/ocelot.htmlmvc

相关文章
相关标签/搜索