
微服务开发
文章平均质量分 76
轻舟慢行.
学习开发的小白
展开
-
【微服务】分布式事务(通过Seata解决分布式事务问题)
在分布式系统中,如果一个业务需要多个服务合作完成,而且每一个服务都有事务,多个事务必须同时成功或失败,这样的事务就是分布式事务,其中每个事务就是一个分支事务,整个业务的事务称为全局事务。XA规范是X/Open组织定义的分布式事务处理(DTP)标准,XA规范,描述了全局的TM与局部的RM之间的接口,几乎所有的主流的数据库都对XA规范提供了支持。Seata主推的是AT模式,AT模式同样是分阶段提交的事务模型,弥补了XA模型中资源锁定周期过长的缺陷。:定义全局事务的范围,开始全局事务,提交或回滚全局事务。原创 2024-05-05 18:56:35 · 994 阅读 · 1 评论 -
【微服务】服务保护(通过Sentinel解决雪崩问题)
单击调用链路,是一次请求进入服务后经过的每一个被Sentinel监控的资源链,默认会监控SpringMVC中的每一个EndPoint(http接口),限流,熔断等都是针对簇点链路中的资源设置的,而资源名默认就是接口的请求路径。:配合线程隔离进行,由断路器统计请求的异常比例或慢调用比例,如果超出阈值则会熔断该业务,则拦截该接口的请求,熔断期间,所有的请求快速失败,全都走fallback逻辑(让业务失败时不再抛出异常,而是走fallback逻辑):限制访问接口的请求的并发量,避免服务因流量激增出现故障。原创 2024-05-05 17:12:04 · 1335 阅读 · 1 评论 -
【微服务】配置管理
在未来的微服务启动的时候,首先根据SpringCloud框架拉取Nacos中的共有配置初始化Spirng容器,然后再根据SpringBoot加载自己的配置信息,再次初始化Spring容器,但是由于Nacos的地址配置存在于本地的配置文件中,所以需要再SpringCloud中创建一个bootstrap配置文件作为引入文件,从它开始进行读取。由于SpringCloud Config的依赖进行自动配置后,项目启动会自动将本地的配置文件中的配置信息将Nacos中拉取下来的配置信息占位符进行替换。原创 2024-05-05 14:26:52 · 525 阅读 · 1 评论 -
【微服务】网关(详细知识以及登录验证)
快速掌握微服务网关原创 2024-05-05 13:37:21 · 1483 阅读 · 0 评论 -
【微服务】 OpenFeign
OpenFeign是一个声明式的http客户端,是SpringCloud在Eureka公司开源的Feign基础上改造而来。基于SpringMVC的常见注解,简化RestTemplate的http请求的发送。由于Feign默认的日志级别就是NONE,所以默认我们看不到请求日志。:记录所有请求和响应的明细,包括头信息,请求体,元数据。:在BASIC的基础上,额外记录了请求和响应的头信息。如果要更改默认的日志级别需要自定义日志级别的Bean。:仅记录请求的方式,URL以及响应状态码和执行时间。原创 2024-05-04 20:58:39 · 583 阅读 · 0 评论 -
【微服务】服务治理(Nacos注册中心)
RestTemplate进行服务间的相互调用是非常有问题的,如果服务备份多个服务器,进行集群服务,而且在开发阶段,我们也不知道其它服务器的地址,那这时我们将如何进行服务器之间的相互调用,我们就需要用到注册中心技术。我的理解:在现在一个服务备份多个分布在多台服务器上,当多个服务启动就将自己挂到注册中心,共消费者选择,起到一个公共黑板墙的作用。服务提供者通过心跳机制向注册中心报告自己的健康状态,当心跳异常时注册中心会将异常服务剔除,并通知订阅了该服务的消费者。:暴露服务接口,供其他服务调用。原创 2024-05-04 19:50:33 · 770 阅读 · 0 评论 -
【微服务 开发】微服务介绍,服务拆分,远程调用
SpringCloud是目前国内使用最广泛的微服务框架,SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配。Spring给我们提供了一个RestTemplate工具,可以方便的实现Http请求的发送。微服务是一种软件架构风格,它是以专注于单一职责的很多小型项目为基础,组合成复杂的大型应用。:每个微服务的职责要尽量单一,包含的业务相互关联度高,完整度高。:每个微服务的功能要相互独立,尽量减少对其它微服务的依赖。先采用单体架构,快速开发,随着规模扩大逐渐拆分。原创 2024-05-04 18:54:57 · 565 阅读 · 0 评论