SpringCloud Alibaba微服务实战三十二 - 集成RocketMQ实现分布式事务

  |   0 评论   |   0 浏览

分布式事务是在微服务开发中经常会遇到的一个问题,之前的文章中我们已经实现了利用Seata来实现强一致性事务,其实还有一种广为人知的方案就是利用消息队列来实现分布式事务,保证数据的最终一致性,也就是我们常说的柔性事务。

今天我们就来实现基于消息队列的柔性事务!

索引组织表:万物皆索引

  |   0 评论   |   0 浏览

InnoDB 存储引擎是 MySQL 数据库中使用最为广泛的引擎,在海量大并发的 OLTP 业务中,InnoDB 必选。它在数据存储方面有一个非常大的特点:索引组织表(Index Organized Table)。

接下来我就带你了解最为核心的概念:索引组织表。希望你学完今天的内容之后能理解 MySQL 是怎么存储数据和索引对象的。

索引:排序的艺术

  |   0 评论   |   0 浏览

索引设计,只有正确设计索引,业务才能达到上线的初步标准

今天我们先来学习关系型数据库最核心的概念——索引,对索引做一个初步的概述,让你对数据库中的索引有一个体系的认知,并用好 B+ 树索引。

SpringCloud Alibaba微服务实战三十一 - 业务日志组件

  |   0 评论   |   0 浏览

在单体项目中如果我们需要记录操作日志一般会通过如下手段实现:

  • 建立一个自定义注解,标注业务操作类型
  • 通过AOP组装日志实体,完成日志的收集工作

具体实现可以参考如下的文章链接:http://javadaily.cn/articles/2020/05/13/1589330750429.html

但是在微服务架构中我们不可能每个服务都写一个自定义注解,再写一个AOP,这很明显违反了 Don’t repeat yourself 精神。所以这时候我们一般都会建立一个公共的组件,在公共组件中完成日志的收集,后端服务只需要引入这个公共的组件即可。

这就是今天文章的内容,独立的业务日志收集组件。

SpringCloud 微服务认证方案

  |   0 评论   |   0 浏览

在微服务开发中中我们首先会通过认证中心获取JWT,然后每次发起后端请求都会将JWT放在请求头中,这时候我们后端需要对这个JWT进行验证判断是否合法及是否有对应请求权限,这一过程主要有两种方案:

  • 服务端自主验签方案
  • API网关统一验签方案

使用MySQL,请用好 JSON 这张牌!

  |   0 评论   |   0 浏览

关系型的结构化存储存在一定的弊端,因为它需要预先定义好所有的列以及列对应的类型。但是业务在发展过程中,或许需要扩展单个列的描述功能,这时,如果能用好 JSON 数据类型,那就能打通关系型和非关系型数据的存储之间的界限,为业务提供更好的架构选择。

当然,很多同学在用 JSON 数据类型时会遇到各种各样的问题,其中最容易犯的误区就是将类型 JSON 简单理解成字符串类型。 但当你看完这篇文章后,会真正认识到 JSON 数据类型的威力,从而在实际工作中更好地存储非结构化的数据。

2021高级JAVA开发面试题精选

  |   0 评论   |   0 浏览

本文结合本人参与的相关面试以及作为面试官对别人的面试,精心挑选十几道高级开发面试题,每个题目都涵盖很多知识点。

如果你是面试官,可以将此文涉及的面试点纳入自己的面试题库,借此考察求职者的技术深度;

如果你是求职者,可以通过此文的面试点准备面试,按我个人的经验来说,虽不说100%通过,如果都能答好的话通过概率起码85%以上。

如果你不是面试官,也不是求职者,也可以通过此文的面试点夯实技术水平,以文促学,带着问题学技术会让你事半功倍。

颠覆认知 - MySQL数字类型存储设计

  |   0 评论   |   0 浏览

在进行表结构设计时,数字类型是最为常见的类型之一,但要用好数字类型并不如想象得那么简单,比如:

  • 怎么设计一个互联网海量并发业务的自增主键?用 INT 就够了?

  • 怎么设计账户的余额?用 DECIMAL 类型就万无一失了吗?

以上全错!

数字类型看似简单,但在表结构架构设计中很容易出现上述“设计上思考不全面”的问题(特别是在海量并发的互联网场景下)。所以我将从业务架构设计的角度带你深入了解数字类型的使用,期待你学完后,能真正用好 MySQL 的数字类型(整型类型、浮点类型和高精度型)。

使用 JMeter 进行压力测试 有更新!

  |   0 评论   |   0 浏览

压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率;预估系统的承载能力,使我们能根据其做出一些应对措施。所以压力测试是一个非常重要的步骤,下面我带大家来使用一款压力测试工具JMeter。

架构师之路 - 业务领域建模

  |   0 评论   |   0 浏览

领域模型是对领域内的概念类或现实世界中对象的可视化表示。又称概念模型、领域对象模型、分析对象模型。它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系。概念比较深奥,其实说白了就是我们把基于对业务的理解画成一个类图,并画出这些类之间的关系(面向对象)。

领域模型可以整理业务中的概念以及关系,帮助团队中的成员对业务的理解保持一致,往后可以指导数据库设计、系统功能设计、指导开发。在整个系统建设周期能起到 上接需求,下承开发 的作用。