SpringCloud(一) 微服务由来
文章内索引
[显示]
架构的衍变
说到微服务不得不提服务端架构的衍变(持久层细化暂不记录,比如缓存、分布式、NOSQL…),随着压力的增加,架构会逐渐衍变为粒度更加细化,更加可拆分。
初期单机架构
所有的后端服务放到一台物理机一个容器去跑,此时讲究的是面向接口编程,根据接口划清边界,实现内部解耦。
数据库与服务分离
将数据库与服务分离,更好的拆分资源,提高响应速度。远程调用(RMI、RPC)
当单机性能不再满足满足需求,基于远程调用的雏形形成,服务分布在不同物理机上,此时讲究的是按照业务拆分。
分布式负载均衡
当某一服务压力过高,单一物理机已经无法满足需求时,此时出现了分布式系统,把同一服务分布式部署在不同物理机,他们通过BL进行负载均衡。外部服务访问此服务时通过BL(客户端(调用方做负载)、服务端(服务方内部做负载类似DNS))访问
SOA(ESB)
当远程服务过多时,如上图事例图已经乱的跟屎一样了,后期的维护会异常麻烦,所以有了企业总线的思想,对服务进行整体的维护(限流、鉴权等等)并暴露给外部。
微服务
当访问量过大时,总线会成为整体架构的瓶颈,所以微服务应运而生,服务为独立的个体,通过外围的支撑(限流、容错、鉴权、配置中心、错误追踪、健康检查、服务发现、BL等等),对整体架构提供保障,下一章节会详细介绍微服务的概念。
©版权声明:本文为【翰林小院】(huhanlin.com)原创文章,转载时请注明出处!
发表评论