SpringCloud与Seata分布式事务初体验

在本篇文章中我们在SpringCloud环境下通过使用Seata来模拟用户购买商品时由于用户余额不足导致本次订单提交失败,来验证下在MySQL数据库内事务是否会回滚

阿里巴巴分布式事务利器Seata环境准备

阿里巴巴自从跟SpringCloud共同发起创建微服务开源社区时,开启了SpringCloud Alibaba分支,而且在生态内提供了一款适用于分布式应用程序(DubboSpringCloud等)的事务框架Seata,该框架经过多个大版本的发布,已经支持MySQLOracle这两种数据库事务回滚(Rollback)以及提交(Commit)控制,每次发版都会修复一些用户反馈的Issue以及添加一些新特性。

搭建Eureka服务注册中心

Eureka服务注册中心是netflix开源组织提供的一个服务高可用的解决方案,在前端时间一直在疯传的2.0开源流产的问题,其实并不影响我们的使用,netflix只不过是不再维护2.0分支的开源代码,所以做出了免责声明,不过对于我们使用者来说确实比较担心这一点,还有不少人更换服务注册中心,比如:zookeeperconsul

SpringCloud Gateway整合Eureka转发服务请求

在上一篇文章SpringCloud Gateway路由转发规则中我们讲解了SpringCloud Gateway内部提供的断言、谓语,让我们可以组合更精确的业务场景进行请求,既然SpringCloud GateWay担任了网关的角色,在之前Zuul可以通过服务名进行自动转发,SpringCloud Gateway是否可以实现自动转发呢?

SpringCloud Gateway路由转发规则

Spring在因Netflix开源流产事件后,在不断的更换Netflix相关的组件,比如:EurekaZuulFeignRibbon等,Zuul的替代产品就是SpringCloud Gateway,这是Spring团队研发的网关组件,可以实现限流、安全认证、支持长连接等新特性。

激活项目配置的多环境(profiles)

在中大型企业项目开发中,环境分离是必不可少的一步,然而现在的开发人员也只是有这个概念,还是有很多项目采用普通的方式,每次打包发布部署的时候改动一大堆的配置文件,有一个地方忘记改就相当于白更新了一次系统,这种修改配置文件完成环境更换的方式给我们带来了很多的困扰,浪费了我们很多宝贵的时间!早在Spring 3.1版本就已经为我们提供了环境分离的相关注解配置方式,不过在传统的Spring项目中配置Profile确实有点麻烦,在Spring版本的不断更新直到后来SpringBoot成长起来后Profile已经能够很好支持项目配置环境分离。

将服务注册到Eureka

Eureka提供了Server当然也提供了Client,如果你对Eureka Server不了解,通过阅读文章查看具体的编码实现。

Eureka服务注册是采用主机名还是IP地址?

我们一直在使用Eureka进行注册服务,然而你有可能很少关心服务在注册到Eureka Server时是采用的主机名的方式?还是IP地址的方式?

Eureka服务注册方式流程源码分析

Eureka服务注册是采用主机名还是IP地址?文章中我们讲到了`服务注册`的几种`注册方式`,那么这几种`注册方式`的源码是怎么实现的呢?我们带着这一个疑问来阅读本章内容能够让你更深入了解这块的知识点!!!

你的Eureka服务注册中心安全吗?

在之前的章节我们讲到了搭建Eureka服务注册中心,已经可以让我们自定义的微服务节点进行注册到该Eureka Server上,不过在注册过程中存在一个风险的问题,如果我们的Eureka Server的地址无意暴露在外,那岂不是通过Eureka协议创建的任意服务都可以进行注册到该Eureka Server吗?(当然如果你配置了服务器的安全组并且使用内网的IP地址或者主机名方式对外提供服务注册地址几乎不存在这个问题。)

微信扫码关注程序员 - 恒宇少年微信公众号
恒宇少年微信公众号

1. 专属优惠分享

2. 知识点讲解

3. 开源框架源码分析

4. 赠书活动

5. 免费资料

6. 文章源码获取

原创文章更新平台 >>>

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×