发布了文章2021-02-25
Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。
发布了文章2021-02-07
java 定时任务之一 @Scheduled注解(第一种方法)使用spring @Scheduled注解执行定时任务:步骤:1.xmlns 添加: {代码...} 2.注入: {代码...} 3.注解写在实现类的方法上,实现类上要有组件的注解@Component {代码...} 运行即可!!!关于Cron表达式介绍cronExpression定...
发布了文章2020-12-15
TCC 基本原理TCC 与 Seata AT 事务一样都是两阶段事务,它与 AT 事务的主要区别为:TCC 对业务代码侵入严重每个阶段的数据操作都要自己进行编码来实现,事务框架无法自动处理。TCC 效率更高不必对数据加全局锁,允许多个事务同时操作数据。第一阶段 Try以账户服务为...
发布了文章2020-12-14
Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。
发布了文章2020-12-14
数据库事务数据库事务由一组sql语句组成。所有sql语句执行成功则事务整体成功;任一条sql语句失败则事务整体失败,数据恢复到事务之前的状态。下面以转账为例进一步说明。A 账户向 B 账户转账,需要更新两个账户的记录: {代码...} 两条sql语句都成功则转账成功。任...
发布了文章2020-12-14
事务消息的原理下面来看 RocketMQ 的事务消息是如何来发送“可靠消息”的,只需要以下三步:发送半消息(半消息不会发送给消费者)执行本地事务提交消息完成事务消息发送后,消费者就可以以正常的方式来消费数据。RocketMQ 的自动重发机制在绝大多数情况下,都可以保证...
发布了文章2020-12-13
RocketMQ原生API收发消息代码样例pom文件新建 maven 项目或 module,添加 rocketmq-client 依赖。 {代码...} 同步消息同步消息发送要保证强一致性,发到master的消息向slave复制后,才会向生产者发送反馈信息。这种可靠性同步地发送方式使用的比较广泛,比如:重要的...
发布了文章2020-12-11
RocketMQ安装安装配置 jdk81. 上传jdk压缩文件将文件jdk-8u212-linux-x64.tar.gz上传到 /root 目录2. 解压缩执行解压命令 {代码...} 3. 配置环境变量修改 /etc/profile 配置文件, 配置环境变量 {代码...} 修改完后, 让环境变量立即生效 {代码...} 4. 验证 {代码...} ...
发布了文章2020-12-10
kubernetes的安装过程极其复杂,对Linux运维不熟悉的情况下安装kubernetes极为困难,再加上国内无法访问google服务器,我们安装k8s就更加困难
发布了文章2020-12-08
Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications…
发布了文章2020-12-07
Solr是一个高性能,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。
发布了文章2020-12-06
新建项目pom.xml {代码...} application.yml {代码...} 主程序删除自动创建的主程序我们为每种模式创建一个包,在每个包中创建各自的主程序,单独测试.简单模式主程序Spring提供的Queue类,是队列的封装对象,它封装了队列的参数信息.RabbitMQ的自动配置类,会发现这些Que...
发布了文章2020-12-05
假设有这样一个场景, 服务A产生数据, 而服务B,C,D需要这些数据, 那么我们可以在A服务中直接调用B,C,D服务,把数据传递到下游服务即可
发布了文章2020-12-04
sleuth 链路跟踪随着系统规模越来越大,微服务之间调用关系变得错综复杂,一条调用链路中可能调用多个微服务,任何一个微服务不可用都可能造整个调用过程失败spring cloud sleuth 可以跟踪调用链路,分析链路中每个节点的执行情况微服务中添加 spring cloud sleuth ...
发布了文章2020-12-03
config 配置中心yml 配置文件保存到 git 服务器,例如 github.com 或 gitee.com微服务启动时,从服务器获取配置文件github 上存放配置文件新建 “Project”,命名为 config将sp02,sp03,sp04,sp11四个项目的yml配置文件,复制到config项目,并改名item-service-dev.ymluser...
发布了文章2020-12-03
Zuul API网关zuul API 网关,为微服务应用提供统一的对外访问接口。zuul 还提供过滤器,对所有微服务提供统一的请求校验。Zuul API 网关总结:统一调用入口统一的权限校验集成ribbon集成hystrix统一调用入口zuul依赖@EnableZuulProxyyml 配置转发规则 {代码...} 统一...
发布了文章2020-12-02
Feign集成工具(功能整合)远程调用:声明式客户端ribbon 负载均衡和重试hystrix 降级和熔断feign 声明式客户端接口微服务应用中,ribbon 和 hystrix 总是同时出现,feign 整合了两者,并提供了声明式消费者客户端用 feign 代替 hystrix+ribbon只需要声明一个抽象接口...
发布了文章2020-12-02
Hystrix 断路器系统容错工具降级调用远程服务失败(宕机、500错、超时),可以降级执行当前服务中的一段代码,向客户端返回结果快速失败熔断当访问量过大,出现大量失败,可以做过热保护,断开远程服务不再调用限流防止故障传播、雪崩效应[链接]Hystrix降级hystrix依...
发布了文章2020-12-01
springboot 提供的远程调用工具类似于 HttpClient,可以发送 http 请求,并处理响应。RestTemplate简化了Rest API调用,只需要使用它的一个方法,就可以完成请求、响应、Json转换
发布了文章2020-11-30
spring cloud 是一系列框架的集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一键启动和部署。spring cloud 并没有重复制造...