如何跟领导解释为什么选择SpringCloud alibaba作为微服务开发框架

  |   0 评论   |   0 浏览

微服务这种架构风格就是把一组小服务演化成为一个单一的应用的一种方法。每个应用都运行在自己的进程中,并通过轻量级的机制保持通信,就像HTTP这样的API。这些服务要基于业务场景,并使用自动化布署工具进行独立的发布。可以有一个非常轻量级的集中式管理来协调这些服务,可以使用不同的语言来编写服务,也可以使用不同的数据存储。

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%以上。

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