微服务核心概念
服务注册与服务发现
服务注册:服务提供者将所提供的服务的信息(服务器ip和端口、服务访问协议等),注册/登记到注册中心
服务发现:服务消费能够从注册中心获取到较为实时的服务列表,然后根究一定的策略选择一个服务访问。
负载均衡:负载均衡即将请求压力分配到多个服务器(应用服务器、数据库服务器等),以此来提高服务 的性能、 可靠性
熔断:熔断即是短路保护,微服务架构中,如果下游服务因为访问压力过大而相应变慢或者失败,上游服务为了保护系统整体的可用性,可以暂时切断对下游服务的调用,这种牺牲局部,保全整体的措施就叫做溶断。
链路追踪:微服务架构越发流行,一个项目往往拆分成很多个服务,那么一次请求就需要涉及到很多个服务,不同的微服务可能是由不同的团队开发、可能使用不同的编程语言实现,整个项目可能部署在很多台服务器上横跨多个不同的数据中心。所谓链路追踪,就是对一次请求涉及到的很多个服务器链路进行日志记录、性能监控。
API网关:微服务架构下,不同的微服务往往会有不同的访问地址,客服端可能需要调用多个服务的接口才能完成一个业务需求,如果让客服端直接与各个微服务通信可能出现:
1.客服端需要调用不同的url地址,增加了维护调用的难度
2.在一定的场景下,也存在跨域请求的问题(前后端分离就会碰到跨域问题、原本我们在后端采用Cors就可以解决,现在利用网关,就放在网关这层做了)
3.每个微服务都需要进行单独的身份认证
API网关功能:
1.统一接入(路由)
2.安全防护(统一鉴权,负责网关访问身份验证,与访问认证中心通信,实际认证业务逻辑交移“访问认证中心”处理)
3.黑白名单(实现通过IP地址控制禁止访问网关功能,控制访问)
4.流量管控(限流)
5.长短链接支持
6.容错能力(负载均衡)