微服务
文章平均质量分 71
未来的JAVA高级开发工程师
三年后的高级JAVA高发工程师!
展开
-
分布式事务(2)
组织定义的分布式事务处理(DTP,Distributed Transaction Processing)标准,XA 规范 描述了全局的。可见,AT模式使用起来更加简单,无业务侵入,性能更好。Seata支持多种存储模式,但考虑到持久化的需要,我们一般选择基于数据库存储。为了方便各个微服务集成seata,我们需要把seata配置共享到nacos,因此。A是规范,目前主流数据库都实现了这种规范,实现的原理都是基于两阶段提交。之间的接口,几乎所有主流的数据库都对 XA 规范 提供了支持。原创 2024-09-25 13:41:14 · 913 阅读 · 0 评论 -
分布式事务(1)
首先我们看看项目中的下单业务整体流程:由于订单、购物车、商品分别在三个不同的微服务,而每个微服务都有自己独立的数据库,因此下单过程中就会跨多个数据库完成业务。而每个微服务都会执行自己的本地事务:交易服务:下单事务购物车服务:清理购物车事务库存服务:扣减库存事务整个业务中,各个本地事务是有关联的。因此每个微服务的本地事务,也可以称为。多个有关联的分支事务一起就组成了。我们必须保证整个全局事务同时成功或失败。我们知道每一个分支事务就是传统的。原创 2024-09-25 13:33:43 · 259 阅读 · 0 评论 -
微服务保护
保证服务运行的健壮性,避免级联失败导致的雪崩问题,就属于微服务保护。这章我们就一起来学习一下微服务保护的常见方案以及对应的技术。原创 2024-09-22 19:54:26 · 1046 阅读 · 0 评论 -
@PostConstruct
是 Java EE 中的一个注解,用于标记一个非私有的 void 方法,该方法将在依赖注入完成后由容器调用。这个注解通常用于执行一些初始化工作,例如设置对象的状态或执行一些必要的计算。注解属于 Java 的生命周期回调机制的一部分。原创 2024-09-21 21:10:18 · 145 阅读 · 0 评论 -
Nacos配置管理(2)-----配置热更新
有很多的业务相关参数,将来可能会根据实际情况临时调整。例如购物车业务,购物车数量有一个上限,默认是10,对应代码如下:现在这里购物车是写死的固定值,我们应该将其配置在配置文件中,方便后期修改。但现在的问题是,即便写在配置文件中,修改了配置还是需要重新打包、重启服务才能生效。能不能不用重启,直接生效呢?这就要用到Nacos的配置热更新能力了,分为两步:在Nacos中添加配置在微服务读取配置。原创 2024-09-21 15:36:57 · 282 阅读 · 0 评论 -
Nacos配置管理(1)----配置共享
微服务共享的配置可以统一交给Nacos保存和管理,在Nacos控制台修改配置后,Nacos会将配置变更推送给相关的微服务,并且无需重启即可生效,实现配置热更新。我们可以把微服务共享的配置抽取到Nacos中统一管理,这样就不需要每个微服务都重复配置了。网关的路由同样是配置,因此同样可以基于这个功能实现动态路由功能,无需重启网关即可修改路由配置。)初始化时处理的,发生在项目的引导阶段。不过,需要注意的是,读取Nacos配置是SpringCloud上下文(中,那么在项目引导阶段就可以读取nacos中的配置了。原创 2024-09-21 15:32:24 · 1410 阅读 · 0 评论 -
网关登录校验(3)-----如何在微服务之间传递用户信息
微服务之间调用是基于OpenFeign来实现的,并不是我们自己发送的请求。下单的过程中,需要调用商品服务扣减库存,调用购物车服务清理用户购物车。这样以来,每次OpenFeign发起请求的时候都会调用该方法,传递用户信息。前端发起的请求都会经过网关再到微服务,由于我们之前编写的过滤器和拦截器功能,微服务可以轻松获取登录用户信息。但有些业务是比较复杂的,请求到达微服务后还需要调用其它多个微服务。由于微服务获取用户信息是通过拦截器在请求头中读取,因此要想实现微服务之间的用户信息传递,就。原创 2024-09-20 22:40:20 · 143 阅读 · 0 评论