From 3617b53482c8fc621126ae2c2cf60cea3f2c7130 Mon Sep 17 00:00:00 2001 From: fxb Date: Tue, 31 Jul 2018 00:53:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=9B=AE=E5=BD=95=E7=BB=93?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 +- springboot系列/springboot搭建.md | 3 - .../springboot搭建.assets/1532967570728.png | Bin 0 -> 42262 bytes .../springboot搭建.assets/1532967772110.png | Bin 0 -> 29677 bytes .../springboot搭建.assets/1532967825469.png | Bin 0 -> 45970 bytes .../springboot搭建.assets/1532967938985.png | Bin 0 -> 47008 bytes .../springboot搭建.assets/1532968024509.png | Bin 0 -> 15310 bytes .../springboot搭建.assets/1532969025023.png | Bin 0 -> 15304 bytes .../springboot搭建/springboot搭建.md | 48 +++ .../数据库/springboot整合mybatis.md | 386 ++++++++++++++++++ .../springboot整合activeMQ(1).md | 0 数据库/分布式事务1.md | 75 ++++ 12 files changed, 512 insertions(+), 4 deletions(-) delete mode 100644 springboot系列/springboot搭建.md create mode 100644 springboot系列/springboot搭建/springboot搭建.assets/1532967570728.png create mode 100644 springboot系列/springboot搭建/springboot搭建.assets/1532967772110.png create mode 100644 springboot系列/springboot搭建/springboot搭建.assets/1532967825469.png create mode 100644 springboot系列/springboot搭建/springboot搭建.assets/1532967938985.png create mode 100644 springboot系列/springboot搭建/springboot搭建.assets/1532968024509.png create mode 100644 springboot系列/springboot搭建/springboot搭建.assets/1532969025023.png create mode 100644 springboot系列/springboot搭建/springboot搭建.md create mode 100644 springboot系列/数据库/springboot整合mybatis.md rename springboot系列/{ => 消息队列}/springboot整合activeMQ(1).md (100%) create mode 100644 数据库/分布式事务1.md diff --git a/.gitignore b/.gitignore index 74add85..535b116 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ -pic \ No newline at end of file +pic +**.docx +**.doc \ No newline at end of file diff --git a/springboot系列/springboot搭建.md b/springboot系列/springboot搭建.md deleted file mode 100644 index a720201..0000000 --- a/springboot系列/springboot搭建.md +++ /dev/null @@ -1,3 +0,0 @@ -  idea和eclipse在使用spring initliallizr搭建springboot项目过程类似,这里以idea为例。 - -# 一、 \ No newline at end of file diff --git a/springboot系列/springboot搭建/springboot搭建.assets/1532967570728.png b/springboot系列/springboot搭建/springboot搭建.assets/1532967570728.png new file mode 100644 index 0000000000000000000000000000000000000000..00a4c81aec39dffa6fdc5e3236941256502a165f GIT binary patch literal 42262 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 b;B3hTGUshwkGk=|83}VU%iqc_xJ3UQW0Abf literal 0 HcmV?d00001 diff --git a/springboot系列/springboot搭建/springboot搭建.assets/1532967772110.png b/springboot系列/springboot搭建/springboot搭建.assets/1532967772110.png new file mode 100644 index 0000000000000000000000000000000000000000..f034903214711aca096ab8243788cff43b77c069 GIT binary patch literal 29677 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 literal 0 HcmV?d00001 diff --git a/springboot系列/springboot搭建/springboot搭建.assets/1532967825469.png b/springboot系列/springboot搭建/springboot搭建.assets/1532967825469.png new file mode 100644 index 0000000000000000000000000000000000000000..83a3b693cf27aef99c4935d14aa485bb586f13a8 GIT binary patch literal 45970 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
    m8VXuHhjVs+5 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 YJ1guUm;6pAxOx`ob)#!lT8@wY1#>233;+NC literal 0 HcmV?d00001 diff --git a/springboot系列/springboot搭建/springboot搭建.assets/1532967938985.png b/springboot系列/springboot搭建/springboot搭建.assets/1532967938985.png new file mode 100644 index 0000000000000000000000000000000000000000..89cafd937b873f2a0e9a045d18bba3fece606455 GIT binary patch literal 47008 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 PK}J_@T`sz0|MY(VvAap( literal 0 HcmV?d00001 diff --git a/springboot系列/springboot搭建/springboot搭建.assets/1532969025023.png b/springboot系列/springboot搭建/springboot搭建.assets/1532969025023.png new file mode 100644 index 0000000000000000000000000000000000000000..07677e4ff27fc60c00546fe015e6a30d1df38fae GIT binary patch literal 15304 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 HDCqwH+fKfj literal 0 HcmV?d00001 diff --git a/springboot系列/springboot搭建/springboot搭建.md b/springboot系列/springboot搭建/springboot搭建.md new file mode 100644 index 0000000..dcd42c3 --- /dev/null +++ b/springboot系列/springboot搭建/springboot搭建.md @@ -0,0 +1,48 @@ +  前面的博客有说到spring boot搭建见另一篇博文,其实那篇博文还没写,现在来填个坑。我们使用spring initializr来构建,idea和eclipse都支持这种方式,构建过程类似,这里以idea为例,详细记录构建过程。 + +###1.选择spring initializr + +![1532967570728](D:\笔记\markdown\springboot系列\springboot搭建.assets\1532967570728.png) + +next + +#### 2.设置参数 + +![1532967772110](D:\笔记\markdown\springboot系列\springboot搭建.assets\1532967772110.png) + +next + +#### 3.选择依赖 + +  在这里选择spring boot版本和web依赖(忽略sql的依赖,如有需要[点击这里](f),单独将mybatis的整合),后面也可手动编辑pom文件修改增加删除依赖 + +![1532967938985](D:\笔记\markdown\springboot系列\springboot搭建.assets\1532967938985.png) + +这里我们选择web搭建一个简单的REST风格demo。然后next。 + +####4.设置项目存放地址 + +![1532968024509](D:\笔记\markdown\springboot系列\springboot搭建.assets\1532968024509.png) + +这样就成功构建了一个springboot项目。 + +#### 5.测试 + +  现在新建一个controller包,包下新建一个HelloController,创建之后项目目录结构如下: + +![1532969025023](D:\笔记\markdown\springboot系列\springboot搭建.assets\1532969025023.png) + +HelloController代码如下: + +```java +@RestController +@RequestMapping("/home") +public class HelloController{ + @GetMapping("/hello") + public String sayHello(){ + return "hello"; + } +} +``` + +然后运行项目,访问localhost:8080/home/hello即可看到hello字符串。 \ No newline at end of file diff --git a/springboot系列/数据库/springboot整合mybatis.md b/springboot系列/数据库/springboot整合mybatis.md new file mode 100644 index 0000000..861f322 --- /dev/null +++ b/springboot系列/数据库/springboot整合mybatis.md @@ -0,0 +1,386 @@ +## 写在前面 + +​ 刚毕业的第一份工作是java开发,项目中需要用到mybatis,特此记录学习过程,这只是一个简单demo,mybatis用法很多不可能全部写出来,有更复杂的需求建议查看mybatis的官方中文文档,[点击跳转](http://www.mybatis.org/mybatis-3/zh/index.html)。下面时项目环境/版本。 + +- 开发工具:IDEA +- jdk版本:1.8 +- springboot版本:2.03 + +其他依赖版本见下面pom.xml: + +```xml + + + 4.0.0 + + com.example + mybatis-test + 0.0.1-SNAPSHOT + jar + + mybatis-test + Demo project for Spring Boot + + + org.springframework.boot + spring-boot-starter-parent + 2.0.3.RELEASE + + + + + UTF-8 + UTF-8 + 1.8 + + + + + org.springframework.boot + spring-boot-starter-web + + + mysql + mysql-connector-java + runtime + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 1.3.2 + + + + com.alibaba + druid-spring-boot-starter + 1.1.9 + + + + com.github.pagehelper + pagehelper-spring-boot-starter + 1.2.5 + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + +``` + +## 1.创建项目 + +​ 使用idea中的spring initializr生成maven项目,项目命令为mybatis-test,选择web,mysql,mybatis依赖,即可成功。(详细过程不赘述,如有需要学习springboot创建过程,可参考[这篇文章]()。 + +​ 然后依照上面的pom文件,补齐缺少的依赖。接着创建包entity,service和mybatis映射文件夹mapper,创建。为了方便配置将application.properties改成application.yml。由于我们时REST接口,故不需要static和templates目录。修改完毕后的项目结构如下: + +![pic][pic1] + +​ 修改启动类,增加`@MapperScan("com.example.mybatistest.dao") `,以自动扫描dao目录,避免每个dao都手动加`@Mapper`注解。代码如下: + +```java +@SpringBootApplication +@MapperScan("com.example.mybatistest.dao") +public class MybatisTestApplication { + public static void main(String[] args) { + SpringApplication.run(MybatisTestApplication.class, args); + } +} +``` + + 修改application.yml,配置项目,代码如下: + +```yml +mybatis: + #对应实体类路径 + type-aliases-package: com.example.mybatistest.entity + #对应mapper映射文件路径 + mapper-locations: classpath:mapper/*.xml + +#pagehelper物理分页配置 +pagehelper: + helper-dialect: mysql + reasonable: true + support-methods-arguments: true + params: count=countSql + returnPageInfo: check + +server: + port: 8081 + +spring: + datasource: + name: mysqlTest + type: com.alibaba.druid.pool.DruidDataSource + #druid连接池相关配置 + druid: + #监控拦截统计的filters + filters: stat + driver-class-name: com.mysql.jdbc.Driver + url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=true + username: root + password: 123456 + #配置初始化大小,最小,最大 + initial-size: 1 + min-idle: 1 + max-active: 20 + #获取连接等待超时时间 + max-wait: 6000 + #间隔多久检测一次需要关闭的空闲连接 + time-between-eviction-runs-millis: 60000 + #一个连接在池中的最小生存时间 + min-evictable-idle-time-millis: 300000 + #打开PSCache,并指定每个连接上PSCache的大小。oracle设置为true,mysql设置为false。分库分表设置较多推荐设置 + pool-prepared-statements: false + max-pool-prepared-statement-per-connection-size: 20 + http: + encoding: + charset: utf-8 + enabled: true +``` + +## 2.编写代码 + +​ 首先创建数据表,sql语句如下: + +```sql +CREATE TABLE `user` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `age` tinyint(4) NOT NULL DEFAULT '0', + `password` varchar(255) NOT NULL DEFAULT '123456', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8; +``` + +​ 然后在entity包中创建实体类User.java + +```java +public class User { + private int id; + private String name; + private int age; + private String password; + + public User(int id, String name, int age, String password) { + this.id = id; + this.name = name; + this.age = age; + this.password = password; + } + public User(){} + //getter setter自行添加 +} +``` + +​ 在dao包下创建UserDao.java + +```java +public interface UserDao { + //插入用户 + int insert(User user); + //根据id查询 + User selectById(String id); + //查询所有 + List selectAll(); +} +``` + +​ 在mapper文件夹下创建UserMapper.xml,具体的xml编写方法查看文首的官方文档。 + +```xml + + + + + user + + + id,name,age,password + + + + INSERT INTO + + name,password, + + age + + + + #{name,jdbcType=VARCHAR},#{password}, + + #{age} + + + + + + + + +``` + +​ 至此使用mybatis的代码编写完了,之后要用时调用dao接口中的方法即可。 + +## 3.测试 + +​ 我们通过编写service,controller然后使用postman进行测试。 + +​ 首先编写UserService.java,代码如下: + +```java +@Component +public class UserService { + + @Autowired + private UserDao userDao; + + public User getByUserId(String id){ + return userDao.selectById(id); + } + //获取全部用户 + public List getAll(){ + return userDao.selectAll(); + } + //测试分页 + public PageInfo getAll(int pageNum,int pageSize){ + PageHelper.startPage(pageNum,pageSize); + List users = userDao.selectAll(); + System.out.println(users.size()); + PageInfo result = new PageInfo<>(users); + return result; + } + + public int insert(User user){ + return userDao.insert(user); + } + +} +``` + +​ 编写UserController.java + +```java +@RestController +public class UserController { + + @Autowired + private UserService userService; + + @GetMapping("/user/{userId}") + public User getUser(@PathVariable String userId){ + return userService.getByUserId(userId); + } + + @GetMapping("/user") + public List getAll(){ + return userService.getAll(); + } + + @GetMapping("/user/page/{pageNum}") + public Object getPage(@PathVariable int pageNum, + @RequestParam(name = "pageSize",required = false,defaultValue = "10") int pageSize){ + return userService.getAll(pageNum,pageSize); + } + + @PostMapping("/user") + public Object addOne(User user){ + userService.insert(user); + return user; + } +} +``` + +​ 启动项目,通过postman进行请求测试,测试结果如下: + +- 插入数据: + +![插入][insert] + +- 查询数据 + +![查询][select] + + + +- 分页查询 + + ![分页查询][selectPage] + + + +## 4.注解编写sql + +​ 上面使用的是xml方式编写sql代码,其实mybatis也支持在注解中编写sql,这样可以避免编写复杂的xml查询文件,但同时也将sql语句耦合到了代码中,也不易实现复杂查询,因此多用于简单sql语句的编写。 + +​ 要使用注解首先将applicaton.yml配置文件中的`mapper-locations: classpath:mapper/*.xml`注释掉。然后在UserDao.java中加入sql注解,代码如下: + +```java +public interface UserDao { + //插入用户 + @Insert("insert into user(name,age,password) value(#{name},#{age},#{password})") + @Options(useGeneratedKeys=true,keyColumn="id",keyProperty="id") + int insert(User user); + //根据id查询 + @Select("select * from user where id=#{id}") + User selectById(String id); + //查询所有 + @Select("select * from user") + List selectAll(); +} +``` + +然后重新启动项目测试,测试结果跟上面完全一样。 + +``` +如果对你有帮助记得点赞、收藏哦! +``` + + + + + + + + + + + + + +[pic1]:data:image/png;base64,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 +[insert]:data:image/jpeg;base64,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+z/3RN32jxH8xMfqPrNCO7J0qHQaVvCpZsVUDpFjmduc9OIHltrKo/cdYW3DNptdXWrsaqCLXuwX8q7cZpYt9y7hrxcMlpCBUqhu1etdFAfCvhPQiB5faqT3FpqXtao4vG71NAuHT8deGfxwnqREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQErb+A/HjLStv4D8eMDB0/8Ad22VcNL6mA8fZSp+kyW+tzuaulxRaLC2DauAEioL6tNPpjxndEDzFN97tx+31uxQgPfRrGglhRUqg8K/wnwqZC2yq3V7myUtBlK9Brtx9QUbNCK31Oe2epEDySjUtvd63QVnC06nXCNTTXR/Mz89mrxnodr1OgnUrqp/F8qVw1edNs2iAiIgUFtKbJPTTKWGyIFemmUdNMpaIGVxVAwHjLBFIGHhF34/nLL8R9IEdNMo6aZTJb5ZtKrVgSCK4AA0r+c061qpGtartxGHhjAnpplHTTKTqFSK4jaPrJgV6aZR00ylogV6aZR00ylogV6aZR00ylogV6aZR00ylogV6aZR00ylogV6aZR00ylogV6aZR00ylogV6aZR00ylogV6aZR00ylogV6aZR00ylogV6aZR00ylogV6aZR00ylogV6aZR00ylogV6aZR00ylogV6aZR00ylogV6aZR00ylogV6aZR00ylogV6aZR00ylogV6aZR00ylogV6aZSqIpUEiaStv4D8eMB00yjpplMmv0Rzp9yNpC5k7N9Zp1beorqGsbVqK7oE9NMo6aZStu6roGJAquoiuwGSblsMFLAM2wVxNcoE9NMo6aZS0QK9NMologBsiUFxKbZPUTOBaJXqJnHUTOBF34/nLL8R9JncZSMD4ywdQBj4QMVsMja1oGLHVt9ysa44bR4Sg7dUQi7TSoIDl28cPi2AnV1EzjqJnAy7YN09b/ADfE/QYCbyvUTOOomcC0SvUTOOomcC0SvUTOOomcC0SvUTOOomcC0SvUTOOomcC0SvUTOOomcC0SvUTOOomcC0SvUTOOomcC0SvUTOOomcC0SvUTOOomcC0SvUTOOomcC0SvUTOOomcC0SvUTOOomcC0SvUTOOomcC0SvUTOOomcC0SvUTOOomcC0SvUTOOomcC0SvUTOOomcC0SvUTOOomcC0SvUTOOomcC0rb+A/Hj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AHSaic977b2t3t+gqCylQaW0SntNcVZWU7cvPbHc2Ldjtr960Clzpv7wTUaqueOM4nN39vd6PWNligDXB3BuKanWwQFbtNmAoMsJqojwmtrut/be0Ttx27W1u21OrS6oRqPjpACj8hOtVVQFUUAFABgABPGf9wOxtC610urv7VXuA1xVLBataLutcMWLeYJm19rn7mw2m6TRP5IN5VWpxZriexqZPtzEExM8b3vS6adQ3NI6hGktT3aRjSsXLdu6jW7ih0YUZWGpSPMGeZr73qdOj6DdKhqHDSxuAkn+Eii8JmnXNq50uuHNo9Yv1P8APNKdPqYZ/D28IrzNPm7x9t+3i0bI7WyLLHUbfTTQWHiVpSZP2/29bdpKpZsWmLraTRbtl7Z1VNB/CcTQjzwkdzZ6FoANeayzg3dLXLtwLQ/ErV8TStNnhhHadpaftgt621AboC3CxfRcdtpJJNRHrMsqKu3oxOZ//wBy1/m/B/j/AJG1fn/e5fznTMYyW/ZcFluKyqKkgg4EVrKt3XbJZF9rqLZOy4WAQ12e44Yyhsdr29pmFv2ALUBWutS38faNRNJxW+66X262RauNcB0gNZu1QmvuKhNVKekqMYn+tztiB6D932yNbV7qK13/AC1LKC/+EHbNGuW1dUZgGeulSaFqYmk8y8F/Z2u3sm7Ur7E6TBLlMNNwsnsH5r9aRctd/wDvrd02rbr1KK4uNVbWhh8emQN+JoJuiPGv7b9l1u3td9ru+2vXGt2ryXLifNFYMy0wxAhe67Ztem6hFo0uUYew5NlOC2L/APPtdu917ZW5/m2+kEusagISlssMT4n6y/Zo1xHs3DcftwFoLidDSy46UAVDpGGf1MThEXN7NnqPQR1calIYVIqDUVGBl5S3bS0ulBpWpNPNiWPGXkT5MIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgBsnELtwAAHZ5Cdo2Tzxsgada5nwHpKt3DqpZmoB5D0lZS9b6lsoMK/WlQa+EDVe4usKkFPIhf7CZbrXM+A9JzWbZTVUBQxwRdgwpkNs1gbvedLJcK1wqK6F06m+msqJ5ncfcb/wDU/tVuy5Hb94L7XFKrVgloOm3EUr4fnPSe4LdkuQxCrWiqzt+SoCTPAuW2t/dfsYcFXK9wXU+DGytQMqZDDKUl9JrbONbZyIm1Bcje5SrUKkUIIwNfIydTZyIii5TrbONbZyIioLlOts41tnIiKguU62zjW2ciIqC5TrbONbZyIioLlOts41tnIiKguU62zjW2ciIqC5TrbONbZyIioLlOts41tnIiKguU62zjW2ciIqC5TrbONbZyIioLlOts41tnIiKguU62zjW2ciIqC5TrbONbZyIioLlOts41tnIiKguU62zjW2ciIqC5TrbONbZyIioLlOts41tnIiKguU62zjW2ciIqC5TrbONbZyIioLlOts41tnIiKguU62zjW2ciIqC5TrbONbZyIioLlOts4kRFQXLYbJnb+C/QfpNBsmdv4L9B+khS0REBERAt4RHhEBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERA//Z + + + +[select]:data:image/jpeg;base64,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yPYC5dSjHbQW1pO6JdkHuZERE0wREQEREBERAREQEREBERAREQERECD9Q+EmQfqHwkwEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAg/UPhJkH6h8JMBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQIP1D4SZB+ofCTAREQK1beOHrFW3jh6xEBVt44esVbeOHrEQFW3jh6xVt44esRAVbeOHrFW3jh6xEBVt44esVbeOHrEQFW3jh6xVt44esRAVbeOHrFW3jh6xEBVt44esVbeOHrEQFW3jh6xVt44esRAVbeOHrFW3jh6xEBVt44esVbeOHrEQFW3jh6xVt44esRAVbeOHrFW3jh6xEBVt44esVbeOHrEQFW3jh6xVt44esRAVbeOHrFW3jh6xEBVt44esVbeOHrEQFW3jh6xVt44esRAVbeOHrFW3jh6xEB7ttR29nrFW3jh6xEBVt44esVbeOHrEQExy9TiwlQ9xZ60CI2Q0G3RAZtOHrbhnwuGy41CuC+JOadbaVFj7f4MDrx5EyIHQ1U7DqPx1lndUUuxoqgknuAqZ5YDDHj5y5lxUenK5gcsWJBcYvd7h8q7aGkrlGZsVvUDMXOGmMY76cwg1v5eldn1aboHrgggEbD+ETg/WXKmAFrctuStT7FxgXqPjpxM74CIiAJABJNAO3ulEyq/0131KsBxIEjqEZ8TBRU7t9DXxlMmQvj9gcai72srW11pUQN5BZQwUnVtny1M5ffrS/k3D7r6U1pX3bfnulSuYlSl1AWtLVutpvbf3wOy4VpXUdncZM43OWjWXhaLtDFqa17QfjBDhAbnehPttyrXZ2gkwOsmgqdkzHUYqoLtcuqCh1FK7KSvUXHpHoCGKbO3ZKuoLYHQVFdSPttan4wzMzend5y2V1csFNbDae47e2XnPjP/ANnNTZRAfjQmdELE35+UkREKSnNS0PX2k0BodpNJecYxZOQmraMKpQUpd8KwOyJyDm80ks1QxotrWlewA1t1lBz/AHEXarqKOKGutLyYHaGUsVB9w2/PZJnEQ9chxBwDbqwYtQbaXEH+NJZVyGwXOVLGujoQKbKsSfH4QOuUfIikBjS4kD5CvZMUuGanuYa6nmAL/e0MnKadTjY7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 + + + +[selectPage]:data:image/jpeg;base64,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 + diff --git a/springboot系列/springboot整合activeMQ(1).md b/springboot系列/消息队列/springboot整合activeMQ(1).md similarity index 100% rename from springboot系列/springboot整合activeMQ(1).md rename to springboot系列/消息队列/springboot整合activeMQ(1).md diff --git a/数据库/分布式事务1.md b/数据库/分布式事务1.md new file mode 100644 index 0000000..7d26580 --- /dev/null +++ b/数据库/分布式事务1.md @@ -0,0 +1,75 @@ +## 前言 + +  分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在微服务架构中,几乎是无法避免的。 + +##一、从单机事务到分布式 + +###1.数据库事务 + +​ 我们都知道数据库事务的四个特性:原子性、一致性、隔离性和持久性,数据库事务由数据库软件自身来完成。假如数据库在提交事务的时候突然断电,数据库可以在日志记录中找到上一次事务操作然后根据当前数据库的情况进行undo回滚或者是redo前滚(基于某时刻的完整备份然后执行从该时刻到崩溃时间所有增删改查操作,使数据库恢复到崩溃前的状态)。在分布式环境中可能遇到的问题就更多了,例如机器宕机、网络异常、消息乱序、数据错误、存储数据丢失等等,数据库自身并没有比较好的解决方案(下文会提到一种数据库支持的解决方法)。 + +###2.分布式理论 + +  当单个数据库的性能产生瓶颈的时候,我们可能会对数据库进行分区,这里分区指的是物理分区,分区后不同的库可能就在不同的服务器上了,这个时候单个数据库的ACID已经不能适应这种情况了,在集群情况下想保证集群的ACID是很困难的,即使能够达到,效率和性能也会大幅下降,而且难以拓展。这就需要一个新的理论**CAP原则**。 + +  CAP是加州大学伯克利分校Eric Brewer教授提出的,他指出WEB服务无法同时满足以下3个属性: + +- 一致性(Consistency):客户端发起的一系列操作都会同时生效 +- 可用性(Availability):每个操作必须以可预期的响应结束 +- 分区容错性(Partition Tolerance):即使单个组件无法使用,操作任然可以完成 + +具体的说在分布式系统中,任何数据库至多只能同时支持上面的两个属性,但是任何横向拓展策略都要依赖数据分区。因此,设计人员必须在一致性与可用性中作出选择。在此基础上后面又提出了另外一个理论,**BASE**理论,用于对CAP原则进一步扩充。BASE理论指的是: + +- 基本可用(Basically Available) +- 软状态(Soft State) +- 最终一致性(Eventually Consistent) + +BASE理论是对CAP中的一致性和可用性进行一个权衡的结果,理论的核心思想就是:**我们没法做到强一致,但每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性**。 + +## 二、解决方案 + +### 1.两阶段提交(2PC) + +​ 主流关系型数据库大都支持,又叫**XA Transactions(XAT)**。其中XA是一个两阶段提交协议,该协议分为以下两个阶段: + +- 第一阶段:事务协调器要求每个涉及到事务的数据库预提交(precommit)此操作,并反映是否可以提交 +- 第二阶段:事务协调器要求每个数据库提交数据 + +其中,在第一阶段如果有任何一个数据库否决此次提交,那么所有数据库都会被要求回滚它们在此次事务中的那部分信息。通俗的说在进行一次事务操作时,事务管理器会先询问每个用到的数据库能不能操作成功(数据库进行一次预操作看能否成功),如果任意一个说操作失败,所有的数据库都回滚预操作。 + +**优点**:尽量保证了数据的强一致 + +**缺点**:实现复杂,可用性降低,同时对性能影响很大 + +### 2.补偿事务(TCC) + +​ 核心思想是:针对每个操作,都要注册一个与其对应的确认和补偿(撤销)操作。它分为三个阶段: + +- Try阶段主要对业务系统做检测及资源预留 +- Confirm阶段主要对业务系统做确认提交,Try阶段执行成功然后开始执行Confirm阶段时,默认Confirm阶段是不会出错的。也就是只要Try成功,Confirm一定成功。 +- Cancel阶段主要在业务执行错误,需要回滚的状态下执行的业务取消,预留资源释放。 + +**优点**:跟2PC比起来,实现以及流程相对简单了点,但是数据的一致性也差一点 + +**缺点**:在第二阶段、第三阶段都由可能失败。对业务代码入侵比较严重,需要在实现的时候多写很多补偿代码。 + +### 3.本地消息表(异步补偿) + +​ 本地消息应该是业界使用最多的,其核心思想是将分布式事务拆分成本地事务进行处理,这种思路来源于ebay。 + +​ 基本思路如下: + +​ 每个分布式节点都需要额外建一个消息表。 + +​ 消息生产方,记录消息发送状态。消息表和业务数据放在一个事物里提交,然后消息经过MQ发送到消息的消费方,如果消息发送失败,进行重新发送。 + +​ 消息消费方,需要处理这个消息,并完成自己的业务逻辑,同上也要将消息记录到消息表中,此时如果本地事务处理成功,将消息通过MQ发送给下一个消费方,知道所有事物执行完毕,如果事物处理失败,可以给生产方发送一个业务补偿消息,通知生产方进行回滚等操作,生产方再向上传递,直到回到初始状态。 + +​ 生产方和消费方定时扫描本地消息表,把还没处理玩的消息或失败消息再次发送一遍,这需要一个靠谱的自动对账补账逻辑。 + +​ 这种方案遵循BASE理论,采用最终一致性,实现较为简单,性能也不错。 + +**优点**:一种非常经典的实现,避免了分布式事务,实现了最终一致性。 + +**缺点**:消息表耦合到了业务系统中。 +