关于x86、x86_64、x64、amd64和arm64、aarch64的区别

前言

当我们在安装docker或选择docker image镜像时,都需要根据当前服务器的系统和CPU架构来选择对应的软件包或镜像,比如安装docker-compose:

  • docker-compose-linux-aarch64
  • docker-compose-linux-armv6
  • docker-compose-linux-armv7
  • docker-compose-linux-ppc64le
  • docker-compose-linux-riscv64
  • docker-compose-linux-s390x
  • docker-compose-linux-x86_64

或在hub.docker上选择基础镜像时,考虑OS/ARCH:

  • linux/386
  • linux/amd64
  • linux/arm/v6
  • linux/arm64
  • linux/ppc64le
    ...
    等等,那常用的CPU架构都有哪些呢,下面我们就来进一步认识下常用的CPU架构。

不同CPU架构的区别:

CPU架构描述
i38632位AMD/英特尔CPU
x86_64/x86/amd6464位AMD/英特尔 CPU的别称
AArch32/arm/ARMv1到ARMv732位ARM CPU的别称
AArch64/arm64/ARMv8/ARMv964位ARM CPU的别称
rv64gc/rv64g64位RISC-V CPU的别称
ppc64le64位PowerPC CPU(小端字节序存储)

MyBatis多数据库支持databaseId为null问题解决

本文主要讲述MyBatis多数据库支持databaseId为null的问题如何解决,在此之前,我们先来看下Mybatis如何配置支持多数据库。

MyBatis多数据库支持

让一个项目支持不同的数据库在企业开发中是一个比较常见的需求,即一套代码兼容不同的数据库。由于不同的数据库支持的sql语法稍有差别,所以某些功能需要根据数据库的不同书写不同的sql语句。对于这种需求,首先能够想到的解决方案就是针对不同的数据库维护不同的mapper.xml文件,但是这种方案会严重增加开发和维护的成本。因为不同数据库支持的语法大部分都是相同的,不同的毕竟是少数,我们希望只重写不同的部分而重用相同的部分。

针对这种情况,MyBatis提供了解决方案,即databaseIdProvider和databaseId。通过MyBatis提供的这种功能,我们就只需要维护一套mapper.xml文件即可。

查看Linux系统是centos还是ubuntu的方法

前言

本文主要讲述如何查看Linux系统是centos还是ubuntu的4种方法。

常用Linux系统分两大类:
RedHat系列:主要有Redhat、Centos、Fedora等
Debian系列:Debian、Ubuntu等

总结4种区分centos和ubuntu的方法

1、lsb_release -a

使用lsb_release -a命令可以列出你的Linux系统是哪个Linux发行版,还可以列出具体是第几个版本。

2、cat /etc/redhat-release && cat /etc/lsb-release

redhat或centos对应命令:cat /etc/redhat-release
ubuntu对应命令:cat /etc/lsb-release

Windows服务设置依赖关系

语法:
sc config "服务名称" depend= "依赖的服务名称"

注意:depend=后必须有空格

如果有多个依赖项,则以“/”分割:
sc config "服务A" depend= "服务1"/"服务2"/"服务3"/......

示例:
sc config "smaple-admin" depend= "mysql"/"redis"

说明:
smaple-admin服务依赖mysql和redis服务,所以在启动smaple-admin服务之前,会先启动mysql和redis服务。

Spring Cloud-Seata处理分布式事务问题

什么是分布式事务问题

在微服务架构中由于全局数据一致性没法保证产生的问题就是分布式事务问题。简单来说,一次业务操作需要操作多个数据源或需要进行远程调用,就会产生分布式事务问题。

Seata简介

Seata是Alibaba开源的一款分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务,本文将通过一个简单的下单业务场景来对其用法进行详细介绍。

Seata详细介绍参见以下地址:
https://whwtree.com/archives/seata-introduce.html