随笔分类 -  java

摘要:转载至我的博客 https://www.infrastack.cn ,公众号:架构成长指南 在并发一致性控制场景中,我们常常用for update悲观锁来进行一致性的保证,但是如果不了解它的机制,就进行使用,很容易出现事故,比如for update进行了锁表导致其他请求只能等待,从而拖垮系统,因此了 阅读全文
posted @ 2024-03-12 12:58 架构成长指南 阅读(2480) 评论(4) 推荐(9) 编辑
摘要:转载至我的博客https://www.infrastack.cn ,公众号:架构成长指南 大家好,我是蜗牛哥,跨系统转账网上教程很多,但是都是讲的比较浅,这个功能看似简单,但是细节很多,要做好没那么容易,因为涉及到分布式事务、交易安全性等方面,做不好就出现资损,本文讲一下如何设计一个高可靠跨系统转账 阅读全文
posted @ 2024-01-16 09:11 架构成长指南 阅读(1078) 评论(1) 推荐(5) 编辑
摘要:转载至我的博客 ,公众号:架构成长指南 在金融系统中,我们会跟钱打交道,而保证在高并发下场景下,对账户余额操作的一致性,是非常重要的,如果代码写的时候没考虑并发一致性,就会导致资损,本人在金融行业干了 8 年多,对这块稍微有点经验,所以这篇聊一下,如何在并发场景下,保证账户余额的一致性 1. 扣款流 阅读全文
posted @ 2024-01-10 16:05 架构成长指南 阅读(4049) 评论(40) 推荐(11) 编辑
摘要:Guava Preconditions类的各种用法公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享。 Guava Preconditions类 提供静态方法列表,用于检查是否使用有效参数值调用方法或构造函数。如果前提条件失败,则会抛出指定的异常。 前置依赖 引入 pom <dependency> <groupId>com. 阅读全文
posted @ 2023-12-06 12:55 架构成长指南 阅读(211) 评论(0) 推荐(0) 编辑
摘要:解密Spring Cloud微服务调用:如何轻松获取请求目标方的IP和端口公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享。 目的 Spring Cloud 线上微服务实例都是2个起步,如果出问题后,在没有ELK等日志分析平台,如何确定调用到了目标服务的那个实例,以此来排查问题 效果 可以看到服务有几个实例是上线,并且最终调用了那个实例 考虑到S 阅读全文
posted @ 2023-11-27 13:00 架构成长指南 阅读(1031) 评论(1) 推荐(2) 编辑
摘要:生产实践:Redis与Mysql的数据强一致性方案数据库和Redis如何保持强一致性,这篇文章告诉你 目的 Redis和Msql来保持数据同步,并且强一致,以此来提高对应接口的响应速度,刚开始考虑是用mybatis的二级缓存,发现坑不少,于是决定自己搞 要关注的问题点 操作数据必须是唯一索引 如果更新数据不是唯一索引,则数据库更新后的值,与缓存不一 阅读全文
posted @ 2023-11-24 12:52 架构成长指南 阅读(1662) 评论(0) 推荐(1) 编辑
摘要:微服务系列-基于Spring Cloud Eureka进行服务的注册与消费公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享。 在之前的几个教程中,我们学了: 使用 RestTemplate 的 Spring Boot 微服务通信示例 使用 WebClient 的 Spring Boot 微服务通信示例 使用 Spring Cloud Open F 阅读全文
posted @ 2023-11-16 13:48 架构成长指南 阅读(897) 评论(1) 推荐(0) 编辑
摘要:Java Lambda 表达式常见面试问题与解答公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享。 在本文中,我们将讨论一些重要且常见的 Java Lambda 表达式面试问题和解答 1.什么是 Lambda 表达式? lambda表达式只是一个没有任何名称的函数,它甚至可以用作函数中的参数,Lambda 表达式有利于函 阅读全文
posted @ 2023-11-15 11:55 架构成长指南 阅读(340) 评论(0) 推荐(0) 编辑
摘要:公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享。 前言 Lambda表达式是 Java 8 中引入的最有影响力的功能之一。它们通过允许简洁而优雅地创建匿名函数来实现 Java 中的函数式编程。在这篇博文中,我们将探讨编写 lambda 表达式的各种形式。 概述 lambd 阅读全文
posted @ 2023-11-14 12:44 架构成长指南 阅读(67) 评论(0) 推荐(0) 编辑
摘要:公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享。 前言 在前几个教程中我们已经看到: 使用 RestTemplate 的 Spring Boot 微服务通信示例 使用 WebClient 的 Spring Boot 微服务通信示例 在本教程中,我们将学习如何使用 Spri 阅读全文
posted @ 2023-11-14 10:04 架构成长指南 阅读(1378) 评论(0) 推荐(0) 编辑
摘要:概述 下面我们将学习如何创建多个 Spring boot 微服务以及如何使用 RestTemplate 类在多个微服务之间进行同步通信。 微服务通信有两种风格: 同步通讯 异步通信 同步通讯 在同步通信的情况下,客户端发送请求并等待服务的响应。这里重要的一点是协议(HTTP/HTTPS)是同步的,客 阅读全文
posted @ 2023-11-10 12:47 架构成长指南 阅读(433) 评论(1) 推荐(1) 编辑
摘要:什么是JAVA内存模型前言 在并发编程中,当多个线程同时访问同一个共享的可变变量时,会产生不确定的结果,所以要编写线程安全的代码,其本质上是对这些可变的共享变量的访问操作进行管理。导致这种不确定结果的原因就是可见性、有序性和原子性问题,Java 为解决可见性和有序性问题引入了 Java 内存模型,使用互斥方案(其核心实现 阅读全文
posted @ 2022-10-30 23:08 架构成长指南 阅读(301) 评论(0) 推荐(0) 编辑
摘要:生产系统CPU飙高问题排查现状 生产系统CPU占用过高,并且进行了报警 排查方法 执行top命令,查看是那个进程导致的,可以确定是pid为22168的java应用导致的 执行top -Hp命令,查看这个进程的那个线程导致cpu过高,如下图,可以看到是22749线程导致的 top -Hp 22168 由于jstack里面的线程 阅读全文
posted @ 2022-10-17 23:13 架构成长指南 阅读(664) 评论(0) 推荐(1) 编辑
摘要:开源动态可监控线程池DynamicTp介绍前言 使用线程池 ThreadPoolExecutor 过程中你是否有以下痛点呢? 代码中创建了一个 ThreadPoolExecutor,但是不知道那几个核心参数设置多少比较合适 凭经验设置参数值,上线后发现需要调整,改代码重新发布服务,非常麻烦 线程池相对开发人员来说是个黑盒,运行情况不能及时感 阅读全文
posted @ 2022-09-26 23:56 架构成长指南 阅读(1158) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示