
SpringCloud
文章平均质量分 73
一点点星辰
这个作者很懒,什么都没留下…
展开
-
八、Gateway
3、断言工厂:docs.spring.io/spring-cloud-gateway/docs/current/reference/html/#the-after-route-predicate-factory。1、我们在配置文件中写的断言规则只是字符串,这些字符串会被Predicate Factory读取并处理,转变为路由判断的条件。请求进入网关会碰到三类过滤器:当前路由的过滤器、DefaultFilter、GlobalFilter。每一个过滤器都必须指定一个int类型的order值,原创 2022-11-27 17:01:27 · 939 阅读 · 1 评论 -
一、微服务入门
缺点:需要考虑一些问题,如:拆分粒度、集群地址维护、服务间远程地址调用、服务健康状态。分布式架构:根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,称为一个服务。单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署。隔离性强:服务调用做好隔离、容错、降级、避免出现级联问题。自治:数据独立、部署独立、团队独立、技术独立。优点:降低服务耦合,有利于拓展升级。单一职责:每个服务对应唯一的业务。面向服务:微服务对外暴露业务接口。优点:架构简单、部署成本低。原创 2022-11-26 15:07:55 · 348 阅读 · 0 评论 -
二、微服务拆分案例
【代码】二、微服务拆分案例。原创 2022-11-27 07:49:45 · 1292 阅读 · 0 评论 -
三、Eureka
服务提供者会每隔30秒向 eureka-server 发送心跳请求,报告健康状态;服务消费者:一次业务中,调用其他微服务的服务。(调用其他微服务提供的接口)服务提供者:一次业务中,被其他微服务调用的服务。eureka 会更新记录服务列表信息,心跳不正常会被剔除;服务提供者启动时向 eureka 注册自己的信息;服务消费者利用负载均衡算法,从服务列表中挑选一个;消费者如何得知服务提供者的健康状态(是否挂掉)?如果有多个服务提供者,服务消费者该如何选择?服务消费者该如何获取服务提供者的地址信息?原创 2022-11-26 15:33:41 · 653 阅读 · 0 评论 -
四、Ribbon均衡原理
Ribbon 的负载均衡规则是一个叫做 IRule 的接口来定义的,每一个子接口都是一种规则: 大致流程: 详细流程(被拦截器拦截): 例:修改为随机。 ①修改Bean ②通过修改 yml 配置文件(在user-service模块的application.yml): 四、Ribbon 饥饿加载 Ribbon 默认是采用懒加载,即第一次访问时才会去创建 LoadBalanceClient,请求时间会很长。而饥饿加载会在项目启动时创建,降低第一次访问耗时。原创 2022-11-26 15:43:22 · 138 阅读 · 0 评论 -
五、Nacos
注释掉 order-service 和user-service 中原有的 eureka 依赖。原创 2022-11-26 15:53:25 · 916 阅读 · 0 评论 -
六、nacos环境隔离、服务配置拉取和多环境配置共享
在微服务中添加bootstrap.yaml,配置nacos地址、当前环境、服务名称、文件后缀名。Nacos中服务存储和数据存储的最外层都是一个名为namespace的东西,用来做最外层隔离。Group:组,常用将业务相关程度较高的放同一个组(订单和支付)。Namespace:命名空间,常用于生产环境、开发环境的区分。不同namespace下的服务不可见。在微服务中引入nacos的config依赖。每个namespace都有唯一id。namespace用来做环境隔离。在nacos中添加配置文件。原创 2022-11-26 16:16:11 · 2755 阅读 · 2 评论 -
七、Feign
代码可读性差,编程体验不统一。参数复杂URL难以维护。原创 2022-11-26 16:23:05 · 1203 阅读 · 0 评论