分布式事务

转载 自 掘金: https://juejin.cn/post/6844903573667446797常用的分布式事务解决方案

众所周知,数据库能实现本地事务,也就是在同一个数据库中,你可以允许一组操作要么全都正确执行,要么全都不执行。这里特别强调了本地事务,也就是目前的数据库只能支持同一个数据库中的事务。但现在的系统往往采用微服务架构,业务系统拥有独立的数据库,因此就出现了跨多个数据库的事务需求,这种事务即为“分布式事务”。那么在目前数据库不支持跨库事务的情况下,我们应该如何实现分布式事务呢?本文首先会为大家梳理分布式事务的基本概念和理论基础,然后介绍几种目前常用的分布式事务解决方案。废话不多说,那就开始吧~

书写技术文档的规范结合阮一峰的博客介绍

技术文档每天都会遇到,条理不够清晰,表达不够准确首先是很难让人理解,同时还会增加沟通的成本

我这边结合阮一峰的博客也结合我最近写文档的思路列一下
两个方向是实践类(包括但不限于 部署,搭建),预研学习类(包括 新技术,技术选型,新趋势)
实践类较为简单
先来个实例网站华为云的部署文档
1.t1
1.1 t2
1.1.1t3
a.
b.
c.
或者
-
-
-

这种来分开步骤和梳理逻辑
同时遇到的问题或者是要集中介绍和梳理的内容可以放在后面开头
问题这种一般先描述现象和问题,然后 列出解决方案不必纠结与 ,把问题讲清楚
在md也尽量使用规范 引用 代码块 需要分开使用不要乱用,对应主要的部分可以加粗高亮

docker容器导入导出和配置

镜像导入导出

目前的导入导出是 sava/load,export/import ,前者有完整的数据,后者类似于容器的快照,开始搭建时,想直接复制我们服务器中运行的容器,导出后在docker中运行后 一直报

No command specified” from re-imported docker image/container

后面有了解 sava/load 会有完整的数据 但是 export的tar包这个命令将导入镜像文件和参数

dockerfile使用

目前需要创建docker容器 之前用的是基于 Java环境的镜像 构件的,当前开发都后期需要gdal和其他的环境,仅仅基于java的 命令是远远不够用户的

首先gdal 官方提供了源,但是这个源没有java环境需要我们安装,他提供了多个Linux发行版本 包括Ubuntu和alpine ,起初基于Ubuntu small来搭建的

1
2
3
4
5
6
7
8
9
10
FROM osgeo/gdal:ubuntu-small-3.2.1
MAINTAINER gdallikedemo
RUN add-apt-repository ppa:openjdk-r/ppa && \
apt-get update && \
apt-get install -y java-1.8.0-openjdk && \
apt-get clean;
COPY MY_JAR.jar /home/MY_JAR.jar
# RUN nohup java -jar /home/MY_JAR.jar >/dev/null 2>&1 &
CMD ["java","-jar","/home/MY_JAR.jar"]

编写Linux启动文件并设置为自启动使用systemctl

编写Linux启动文件并设置为自启动使用systemctl

常见使用的格式模板

1
2
3
4
5
6
7
8
9
10
11
12
13
[Unit]
Description=Sakura Frp Client Service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
Restart=on-failure
RestartSec=5s
ExecStart= 执行步骤

[Install]
WantedBy=multi-user.target