maven聚合分布式架构_Dubbo 分布式架构搭建教育 PC 站

痛定思痛。 2022-10-25 14:09 225阅读 0赞

9fb06413b20551ef49216a0ffcd4583b.png

架构设计与环境搭建

项目架构

项目介绍

教育 PC 站是提供给学员观看技术视频的网站。

学员使用手机号注册登录后,可以选择适合自己的课程,并观看课程视频,当然,有免费的课程,也有 VIP 专属课程。

技术选型

前端技术选型

  • Vue.js - 是一套用于构建用户界面的渐进式 JavaScript 框架
  • ElementUI 库 - 是饿了么前端出品的基于 Vue.js 的后台组件库,方便程序员进行页面快速布局和构建
  • node.js - 简单的说 Node.js 就是运行在服务端的 JavaScript 运行环境
  • Axios - 对 Ajax 的封装, 简单来说就是 Ajax 技术实现了局部数据的刷新,AXIOS 实现了对 Ajax 的封装

后端技术选型

  • Web 层借助 SpringMVC 接收请求,进行视图跳转
  • Service 层借助 Spring 进行 IOC、AOP、及事务管理
  • Dao 层 借助 MyBatis 进行数据库交互
  • EasyCode 插件 IDEA 快速生成实体类的插件
  • Zookeeper 服务注册与服务发现
  • Dubbo 分布式框架,远程 RPC 调用
  • Redis 内存数据库,缓存
  • Lombok 消除实体类中冗余的 get 和 set
  • SpringSocial 简单理解就是和第三方应用打交道,微信登录用

项目开发环境

开发工具

  • 后端 - IDEA 2019
  • 前端 - VS code
  • 数据库客户端工具 - SQLYog

开发环境

  • JDK 11
  • Maven 3.6.3
  • MySQL 5.7
  • Zookeeper 3.6.0
  • Dubbo 2.5.7
  • Redis 5.0.4

开发后端服务接口

采用前后端分离的开发模式,先开发后端服务接口,测试成功,再开发前端 Vue.js 界面,最后进行前后端联调,项目上线。

项目结构与命名

单一架构:

  1. tomcat-[view -> controller -> service -> dao -> mySQL]

分布式架构:

  1. tomcat-[view:PC] --> tomcat-[controller]
  2. tomcat-[view:phone] --> tomcat-[controller]
  3. tomcat-[controller] --> tomcat-[service->redis->dao->MySQL]

后端项目架构,采用 Dubbo 的生产者和消费者的理论,创建服务提供方和服务消费方两个工程,通过 Maven 聚合工程来搭建,模块划分如下:

  1. ----------------------------------------------
  2. > 服务提供 <
  3. lagou-edu-parent - pom 聚合父工程,统一依赖设置
  4. lagou-edu-entity - jar 工程,封装实体类
  5. lagou-edu-dao - jar 工程,封装与数据库打交道的部分
  6. lagou-edu-service - web 工程,暴露服务的接口和实现
  7. ----------------------------------------------
  8. > 服务消费 <
  9. lagou-edu-web - web 工程,接收前端工程发来的请求,远程调用服务并消费
  10. ----------------------------------------------

URL 命名

  • 查询(get 开头):http://localhost:8002/course/getList
  • 保存(save 开头):http://localhost:8002/course/saveXx
  • 更新(update 开头):http://localhost:8002/course/updateXx

接口响应格式

  1. /**
  2. * Data Transfer Object
  3. * 数据传输对象
  4. */
  5. @Data
  6. @AllArgsConstructor
  7. @NoArgsConstructor
  8. @ToString
  9. public class ResponseDTO<T> implements Serializable {
  10. private static final long serialVersionUID = 1L;
  11. // 操作状态
  12. private int state;
  13. // 状态描述
  14. private String message;
  15. // 相应内容
  16. private T content;
  17. ...
  18. }

初始化数据库

参考数据库设计文档

服务提供方项目搭建

父模块 `lagou-edu-parent`

POM 聚合父工程,统一依赖设置

pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>com.renda</groupId>
  7. <artifactId>lagou-edu-parent</artifactId>
  8. <version>1.0-SNAPSHOT</version>
  9. <modules>
  10. <module>lagou-edu-entity</module>
  11. <module>lagou-edu-dao</module>
  12. <module>lagou-edu-service</module>
  13. </modules>
  14. <packaging>pom</packaging>
  15. <!-- 指定编码及版本 -->
  16. <properties>
  17. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  18. <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
  19. <java.version>1.11</java.version>
  20. <maven.compiler.source>11</maven.compiler.source>
  21. <maven.compiler.target>11</maven.compiler.target>
  22. <spring.version>5.0.6.RELEASE</spring.version>
  23. </properties>
  24. <dependencies>
  25. <!-- Spring -->
  26. <dependency>
  27. <groupId>org.springframework</groupId>
  28. <artifactId>spring-context</artifactId>
  29. <version>${spring.version}</version>
  30. </dependency>
  31. <dependency>
  32. <groupId>org.springframework</groupId>
  33. <artifactId>spring-beans</artifactId>
  34. <version>${spring.version}</version>
  35. </dependency>
  36. <dependency>
  37. <groupId>org.springframework</groupId>
  38. <artifactId>spring-webmvc</artifactId>
  39. <version>${spring.version}</version>
  40. </dependency>
  41. <dependency>
  42. <groupId>org.springframework</groupId>
  43. <artifactId>spring-jdbc</artifactId>
  44. <version>${spring.version}</version>
  45. </dependency>
  46. <dependency>
  47. <groupId>org.springframework</groupId>
  48. <artifactId>spring-aspects</artifactId>
  49. <version>${spring.version}</version>
  50. </dependency>
  51. <dependency>
  52. <groupId>org.springframework</groupId>
  53. <artifactId>spring-test</artifactId>
  54. <version>${spring.version}</version>
  55. <scope>test</scope>
  56. </dependency>
  57. <!-- Mybatis -->
  58. <dependency>
  59. <groupId>org.mybatis</groupId>
  60. <artifactId>mybatis</artifactId>
  61. <version>3.2.8</version>
  62. </dependency>
  63. <dependency>
  64. <groupId>org.mybatis</groupId>
  65. <artifactId>mybatis-spring</artifactId>
  66. <version>1.3.2</version>
  67. </dependency>
  68. <!-- 连接池 -->
  69. <dependency>
  70. <groupId>com.alibaba</groupId>
  71. <artifactId>druid</artifactId>
  72. <version>1.0.9</version>
  73. </dependency>
  74. <!-- 数据库 -->
  75. <dependency>
  76. <groupId>mysql</groupId>
  77. <artifactId>mysql-connector-java</artifactId>
  78. <version>5.1.32</version>
  79. </dependency>
  80. <!-- dubbo -->
  81. <dependency>
  82. <groupId>com.alibaba</groupId>
  83. <artifactId>dubbo</artifactId>
  84. <version>2.5.7</version>
  85. </dependency>
  86. <!-- zookeeper -->
  87. <dependency>
  88. <groupId>org.apache.zookeeper</groupId>
  89. <artifactId>zookeeper</artifactId>
  90. <version>3.4.6</version>
  91. </dependency>
  92. <!-- zookeeper 客户端 -->
  93. <dependency>
  94. <groupId>com.github.sgroschupf</groupId>
  95. <artifactId>zkclient</artifactId>
  96. <version>0.1</version>
  97. </dependency>
  98. <dependency>
  99. <groupId>javassist</groupId>
  100. <artifactId>javassist</artifactId>
  101. <version>3.11.0.GA</version>
  102. </dependency>
  103. <!-- fastjson -->
  104. <dependency>
  105. <groupId>com.alibaba</groupId>
  106. <artifactId>fastjson</artifactId>
  107. <version>1.2.47</version>
  108. </dependency>
  109. <!-- junit -->
  110. <dependency>
  111. <groupId>junit</groupId>
  112. <artifactId>junit</artifactId>
  113. <version>4.12</version>
  114. <scope>test</scope>
  115. </dependency>
  116. <!-- spring 操作 redis 的工具类 -->
  117. <dependency>
  118. <groupId>org.springframework.data</groupId>
  119. <artifactId>spring-data-redis</artifactId>
  120. <version>2.3.2.RELEASE</version>
  121. </dependency>
  122. <!-- redis 客户端 -->
  123. <dependency>
  124. <groupId>redis.clients</groupId>
  125. <artifactId>jedis</artifactId>
  126. <version>3.1.0</version>
  127. </dependency>
  128. <!-- json 解析工具 -->
  129. <dependency>
  130. <groupId>com.fasterxml.jackson.core</groupId>
  131. <artifactId>jackson-databind</artifactId>
  132. <version>2.9.8</version>
  133. </dependency>
  134. </dependencies>
  135. </project>

子模块 `lagou-edu-entity`

Jar 工程,封装实体类

pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <parent>
  6. <artifactId>lagou-edu-parent</artifactId>
  7. <groupId>com.renda</groupId>
  8. <version>1.0-SNAPSHOT</version>
  9. </parent>
  10. <modelVersion>4.0.0</modelVersion>
  11. <artifactId>lagou-edu-entity</artifactId>
  12. <dependencies>
  13. <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
  14. <dependency>
  15. <groupId>org.projectlombok</groupId>
  16. <artifactId>lombok</artifactId>
  17. <version>1.18.12</version>
  18. <scope>provided</scope>
  19. </dependency>
  20. </dependencies>
  21. </project>

子模块 `lagou-edu-dao`

Jar 工程,封装与数据库打交道的部分,依赖于 lagou-edu-entity

pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <parent>
  6. <artifactId>lagou-edu-parent</artifactId>
  7. <groupId>com.renda</groupId>
  8. <version>1.0-SNAPSHOT</version>
  9. </parent>
  10. <modelVersion>4.0.0</modelVersion>
  11. <artifactId>lagou-edu-dao</artifactId>
  12. <dependencies>
  13. <dependency>
  14. <groupId>com.renda</groupId>
  15. <artifactId>lagou-edu-entity</artifactId>
  16. <version>1.0-SNAPSHOT</version>
  17. </dependency>
  18. </dependencies>
  19. </project>

子模块 `lagou-edu-service`

Web 工程,暴露服务的接口和实现,依赖于 lagou-edu-dao

pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <parent>
  6. <artifactId>lagou-edu-parent</artifactId>
  7. <groupId>com.renda</groupId>
  8. <version>1.0-SNAPSHOT</version>
  9. </parent>
  10. <modelVersion>4.0.0</modelVersion>
  11. <artifactId>lagou-edu-service</artifactId>
  12. <packaging>war</packaging>
  13. <dependencies>
  14. <dependency>
  15. <groupId>com.renda</groupId>
  16. <artifactId>lagou-edu-dao</artifactId>
  17. <version>1.0-SNAPSHOT</version>
  18. </dependency>
  19. </dependencies>
  20. <build>
  21. <plugins>
  22. <plugin>
  23. <groupId>org.apache.tomcat.maven</groupId>
  24. <artifactId>tomcat7-maven-plugin</artifactId>
  25. <configuration>
  26. <port>8001</port>
  27. <path>/</path>
  28. </configuration>
  29. <executions>
  30. <execution>
  31. <!-- 打包完成后,运行服务 -->
  32. <phase>package</phase>
  33. <goals>
  34. <goal>run</goal>
  35. </goals>
  36. </execution>
  37. </executions>
  38. </plugin>
  39. </plugins>
  40. </build>
  41. </project>

服务消费方项目搭建

`lagou-edu-web`

Web 工程,消费服务,依赖于 lagou-edu-entity

pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>com.renda</groupId>
  7. <artifactId>lagou-edu-web</artifactId>
  8. <version>1.0-SNAPSHOT</version>
  9. <packaging>war</packaging>
  10. <!-- 指定编码及版本 -->
  11. <properties>
  12. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  13. <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
  14. <java.version>1.11</java.version>
  15. <maven.compiler.source>11</maven.compiler.source>
  16. <maven.compiler.target>11</maven.compiler.target>
  17. <spring.version>5.0.6.RELEASE</spring.version>
  18. </properties>
  19. <dependencies>
  20. <dependency>
  21. <groupId>com.renda</groupId>
  22. <artifactId>lagou-edu-entity</artifactId>
  23. <version>1.0-SNAPSHOT</version>
  24. </dependency>
  25. <!-- Spring -->
  26. <dependency>
  27. <groupId>org.springframework</groupId>
  28. <artifactId>spring-context</artifactId>
  29. <version>${spring.version}</version>
  30. </dependency>
  31. <dependency>
  32. <groupId>org.springframework</groupId>
  33. <artifactId>spring-beans</artifactId>
  34. <version>${spring.version}</version>
  35. </dependency>
  36. <dependency>
  37. <groupId>org.springframework</groupId>
  38. <artifactId>spring-webmvc</artifactId>
  39. <version>${spring.version}</version>
  40. </dependency>
  41. <dependency>
  42. <groupId>org.springframework</groupId>
  43. <artifactId>spring-jdbc</artifactId>
  44. <version>${spring.version}</version>
  45. </dependency>
  46. <dependency>
  47. <groupId>org.springframework</groupId>
  48. <artifactId>spring-aspects</artifactId>
  49. <version>${spring.version}</version>
  50. </dependency>
  51. <dependency>
  52. <groupId>org.springframework</groupId>
  53. <artifactId>spring-test</artifactId>
  54. <version>${spring.version}</version>
  55. <scope>test</scope>
  56. </dependency>
  57. <!-- Mybatis -->
  58. <dependency>
  59. <groupId>org.mybatis</groupId>
  60. <artifactId>mybatis</artifactId>
  61. <version>3.2.8</version>
  62. </dependency>
  63. <dependency>
  64. <groupId>org.mybatis</groupId>
  65. <artifactId>mybatis-spring</artifactId>
  66. <version>1.3.2</version>
  67. </dependency>
  68. <!-- 连接池 -->
  69. <dependency>
  70. <groupId>com.alibaba</groupId>
  71. <artifactId>druid</artifactId>
  72. <version>1.0.9</version>
  73. </dependency>
  74. <!-- 数据库 -->
  75. <dependency>
  76. <groupId>mysql</groupId>
  77. <artifactId>mysql-connector-java</artifactId>
  78. <version>5.1.32</version>
  79. </dependency>
  80. <!-- dubbo -->
  81. <dependency>
  82. <groupId>com.alibaba</groupId>
  83. <artifactId>dubbo</artifactId>
  84. <version>2.5.7</version>
  85. </dependency>
  86. <!-- zookeeper -->
  87. <dependency>
  88. <groupId>org.apache.zookeeper</groupId>
  89. <artifactId>zookeeper</artifactId>
  90. <version>3.4.6</version>
  91. </dependency>
  92. <!-- zookeeper 客户端 -->
  93. <dependency>
  94. <groupId>com.github.sgroschupf</groupId>
  95. <artifactId>zkclient</artifactId>
  96. <version>0.1</version>
  97. </dependency>
  98. <dependency>
  99. <groupId>javassist</groupId>
  100. <artifactId>javassist</artifactId>
  101. <version>3.11.0.GA</version>
  102. </dependency>
  103. <!-- fastjson -->
  104. <dependency>
  105. <groupId>com.alibaba</groupId>
  106. <artifactId>fastjson</artifactId>
  107. <version>1.2.47</version>
  108. </dependency>
  109. <!-- junit -->
  110. <dependency>
  111. <groupId>junit</groupId>
  112. <artifactId>junit</artifactId>
  113. <version>4.12</version>
  114. <scope>test</scope>
  115. </dependency>
  116. <!-- spring 操作 redis 的工具类 -->
  117. <dependency>
  118. <groupId>org.springframework.data</groupId>
  119. <artifactId>spring-data-redis</artifactId>
  120. <version>2.3.2.RELEASE</version>
  121. </dependency>
  122. <!-- redis 客户端 -->
  123. <dependency>
  124. <groupId>redis.clients</groupId>
  125. <artifactId>jedis</artifactId>
  126. <version>3.1.0</version>
  127. </dependency>
  128. <!-- json 解析工具 -->
  129. <dependency>
  130. <groupId>com.fasterxml.jackson.core</groupId>
  131. <artifactId>jackson-databind</artifactId>
  132. <version>2.9.8</version>
  133. </dependency>
  134. <dependency>
  135. <groupId>com.thetransactioncompany</groupId>
  136. <artifactId>cors-filter</artifactId>
  137. <version>2.5</version>
  138. </dependency>
  139. <!-- 需要使用 HttpServletRequest 获得参数 -->
  140. <dependency>
  141. <groupId>javax.servlet</groupId>
  142. <artifactId>servlet-api</artifactId>
  143. <version>2.4</version>
  144. <scope>provided</scope>
  145. </dependency>
  146. <!-- 需要使用 HttpClient 发出请求 -->
  147. <dependency>
  148. <groupId>org.apache.httpcomponents</groupId>
  149. <artifactId>httpclient</artifactId>
  150. <version>4.5.12</version>
  151. </dependency>
  152. <dependency>
  153. <groupId>com.github.wxpay</groupId>
  154. <artifactId>wxpay-sdk</artifactId>
  155. <version>0.0.3</version>
  156. </dependency>
  157. <dependency>
  158. <groupId>com.jfinal</groupId>
  159. <artifactId>jfinal</artifactId>
  160. <version>3.5</version>
  161. </dependency>
  162. <!-- 解决跨域问题所需依赖 -->
  163. <dependency>
  164. <groupId>com.thetransactioncompany</groupId>
  165. <artifactId>cors-filter</artifactId>
  166. <version>2.5</version>
  167. </dependency>
  168. </dependencies>
  169. <build>
  170. <plugins>
  171. <plugin>
  172. <groupId>org.apache.tomcat.maven</groupId>
  173. <artifactId>tomcat7-maven-plugin</artifactId>
  174. <configuration>
  175. <port>8002</port>
  176. <path>/</path>
  177. </configuration>
  178. <executions>
  179. <execution>
  180. <!-- 打包完成后,运行服务 -->
  181. <phase>package</phase>
  182. <goals>
  183. <goal>run</goal>
  184. </goals>
  185. </execution>
  186. </executions>
  187. </plugin>
  188. </plugins>
  189. </build>
  190. </project>

srcmainwebappWEB-INFweb.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  4. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  5. id="WebApp_ID" version="3.1">
  6. <!-- 解决post乱码 -->
  7. <filter>
  8. <filter-name>charset</filter-name>
  9. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  10. <init-param>
  11. <param-name>encoding</param-name>
  12. <param-value>utf-8</param-value>
  13. </init-param>
  14. <init-param>
  15. <param-name>forceEncoding</param-name>
  16. <param-value>true</param-value>
  17. </init-param>
  18. </filter>
  19. <filter-mapping>
  20. <filter-name>charset</filter-name>
  21. <url-pattern>/*</url-pattern>
  22. </filter-mapping>
  23. <!--跨域配置-->
  24. <filter>
  25. <filter-name>corsFitler</filter-name>
  26. <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
  27. </filter>
  28. <filter-mapping>
  29. <filter-name>corsFitler</filter-name>
  30. <url-pattern>/*</url-pattern>
  31. </filter-mapping>
  32. <servlet>
  33. <servlet-name>springMVC</servlet-name>
  34. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  35. <init-param>
  36. <param-name>contextConfigLocation</param-name>
  37. <param-value>classpath:spring/spring-consumer.xml</param-value>
  38. </init-param>
  39. </servlet>
  40. <servlet-mapping>
  41. <servlet-name>springMVC</servlet-name>
  42. <url-pattern>/</url-pattern>
  43. </servlet-mapping>
  44. </web-app>

srcmainresourcesspringspring-consumer.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
  5. xmlns:mvc="http://www.springframework.org/schema/mvc"
  6. xsi:schemaLocation="
  7. http://www.springframework.org/schema/beans
  8. http://www.springframework.org/schema/beans/spring-beans.xsd
  9. http://www.springframework.org/schema/mvc
  10. http://www.springframework.org/schema/mvc/spring-mvc.xsd
  11. http://code.alibabatech.com/schema/dubbo
  12. http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
  13. <!-- json 转换器 -->
  14. <mvc:annotation-driven>
  15. <mvc:message-converters register-defaults="true">
  16. <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
  17. <property name="supportedMediaTypes" value="application/json"/>
  18. <property name="features">
  19. <array>
  20. <value>WriteMapNullValue</value>
  21. <value>WriteDateUseDateFormat</value>
  22. </array>
  23. </property>
  24. </bean>
  25. </mvc:message-converters>
  26. </mvc:annotation-driven>
  27. <!-- 服务提供方在 zookeeper 中的“别名” -->
  28. <dubbo:application name="lagou-edu-web"/>
  29. <!-- 注册中心的地址 -->
  30. <dubbo:registry address="zookeeper://192.168.186.128:2181"/>
  31. <!-- 扫描类(将什么包下的类作为消费类)-->
  32. <dubbo:annotation package="com.renda"/>
  33. </beans>

想了解更多,欢迎关注我的微信公众号:Renda_Zhang

发表评论

表情:
评论列表 (有 0 条评论,225人围观)

还没有评论,来说两句吧...

相关阅读

    相关 dubbo分布式服务架构

    Dubbo是什么      Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 Dubbo的特点 远程通讯:提供透

    相关 java简单分布式架构

    一般来说,数据库的数据过多,查询效率就很慢,这时候我们如果把表分库到不同的数据库,这时候访问速度就会快很多,如果并且采用多线程去访问的话,查询速度也会提高的更快,我这里是运行内