微服务学习和总结

本文探讨了微服务网关层的高可用架构,通过nginx实现7层负载均衡,确保高可用。同时,介绍了如何在网关层集成Hystrix进行熔断和降级,以及使用令牌桶限流。对于服务内部调用,讲解了Feign配合Ribbon与Hystrix的超时和熔断配置,并利用Sleuth与Zipkin进行服务链路追踪。此外,文章提到了配置动态刷新,推荐使用Spring Cloud Config结合消息总线实现实时更新,并建议在生产环境中选择Nacos作为配置中心。
摘要由CSDN通过智能技术生成

1.微服务网关层的高可用架构:
网关层是直接对外提供服务操作,对应需要设置高可用。网关层其本质是一个web服务的。
可以使用nginx做7层的高可用架构的。
upstream gateway {
server 127.0.0.1:9002;
server 127.0.0.1:9003;
}
location / {
proxy_pass http://gateway;
}
nginx上层可以做4层的高可用的。这样就可以构建出来出来一个高可用的网关层服务了。
对应的可以采用这样的架构设计微服务网关层的服务的。
在这里插入图片描述
网关层具体可以执行的功能是可以参考文档:https://zhuanlan.zhihu.com/p/289161648相关的理解的。
2.网关层的熔断和降级支持
网关层作为外部流量的入口,承担了所有的压力来源的。需要解决网关层的请求积累问题和快速响应的问题,这样的话,网关层才可以实现更加及时和快速的响应请求的。可以按照如下的流程来理解相关的网关层的熔断和降级机制的。
2-1:spring-cloud采用了webflux的reactor响应机制的,底层类似与netty的。是异步非阻塞的io模型的。天然的适合处理大量的数据请求的。
2-2可以将geteway层增加hystrix组件来实现熔断和降级的支持的。

org.springframework.cloud
spring-cloud-starter-netflix-hystrix

server:
port: 8089

spring:
application:
name: spring-cloud-gateway
cloud:
gateway:
routes:
- id: service_customer
#下游服务地址
uri: http://127.0.0.1:8083/
order: 0
#网关断言匹配
predicates:
- Path=/gateway/**
filters:
#熔断过滤器
- name: Hystrix
args:
name: fallbackcmd
fallbackUri: forward:/defaultfallback #降级策略,特定的页面处理降级
- StripPrefix=1

#熔断器配置
hystrix:
command:
default:
execution:
isolation:
strategy: SEMAPHORE
thread:
timeoutInMilliseconds: 3000
shareSecurityContext: true

#网关日志输出
logging:
level:
org.springframework.cloud.gateway: TRACE
org.springframewo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值