微服务优缺点:
很小,便于特定业务功能的聚焦
很小,可以被一个小团队单独实施,团队合作一定程度上解耦。
很小,便于重用和模块间的组装。
可以使用不同语言开发
更容易引入新技术
更好实现DevOps开发运维一体化
缺点:
分布式复杂,难以管理
分布式链路跟踪(debug)难
分布式事务等管理困难
熔断机制
负载过高时,断开连接,返回准备好的默认数据等方式处理业务 。一般是不核心业务
链路追踪
全局唯一的taceId串起调用服务所经过的微服务节点,每个节点记录调用日志。
spanId,属于某个节点,记录该节点运行状态
api网关的用途
统一接入
安全防护
黑白名单
协议适配
流量管控
长短链接支持
容错能力
什么是springCloud
一系列框架的有序集合
开发服务发现注册,配置中心、消息总线、负载均恒、断路器,数据监控
利用SpringBoot的开发便利性简化了微服务的开发
SpringCloud(SCN)常用组件:
注册中心:NetFlix Eureka
负载均衡:NetFlix Ribbon
熔断器: NetFlix Hystrix
网关:SpringCloud Gateway
配置中心: SpringCloud config
服务调用: Feign
消息驱动:SpringCloud stream
链路追踪:zipkon/sleuth
分布式事务:seata(SCA所有)