• SpringCloudalibaba


    一、分布式和微服务

    分布式系统和服务是现代软件开发中的两个重要概念。它们为复杂的应用程序提供了模块化和可扩展性,使其能够在多台机器上运行,并为大量用户提供服务。

    分布式系统

    定义: 分布式系统是由多个独立组件组成的系统,这些组件在地理上分散,但通过网络相互连接,并协同工作。

    特点:

    1. 可扩展性: 分布式系统可以扩展到处理大量数据和用户请求。

    2. 灵活性: 由于组件是独立的,可以根据需要添加或删除它们。

    3. 容错性: 分布式系统中的某个组件出现问题不会影响其他组件。

    4. 通信: 由于组件分布在多个机器上,所以需要高效的通信机制来协调它们之间的交互。

    微服务

    定义: 微服务是一种软件架构风格,它将应用程序构建为一系列小型、独立的服务。

    特点:

    1. 独立性: 每个微服务都是独立的,具有自己的业务逻辑和数据存储。

    2. 可扩展性: 微服务可以独立于其他服务进行扩展。

    3. 灵活性: 可以相对容易地添加或删除微服务。

    4. 技术多样性: 每个微服务可以使用最适合其需求的技术栈和语言。

    5. API 驱动: 微服务之间通过 API 进行通信。

    区别

    1. 规模: 分布式系统通常涉及多个数据中心和大量的服务器,而微服务通常在单个数据中心的单个服务器上运行

    2. 复杂性: 分布式系统由于其规模和地理分布,通常更为复杂。微服务架构通过将复杂性降低到服务级别来简化问题

    3. 通信: 分布式系统侧重于系统内各个组件之间的通信,而微服务主要关注服务之间的通信。

    总结

    分布式系统和服务都是为了解决大规模应用程序的需求而设计的。分布式系统通过将数据和计算分布在多个位置来提供高可用性和可扩展性。微服务则通过将应用程序分解为小型、独立的服务来提高灵活性和可扩展性。在实际应用中,分布式系统和微服务经常结合使用,以充分利用两者的优势

    二、简单上手

    创建父工程

    更改父进程的pom.xml配置

    1. "1.0" encoding="UTF-8"?>
    2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    4. <modelVersion>4.0.0modelVersion>
    5. <parent>
    6. <groupId>org.springframework.bootgroupId>
    7. <artifactId>spring-boot-starter-parentartifactId>
    8. <version>2.4.2version>
    9. <relativePath/>
    10. parent>
    11. <groupId>com.aaagroupId>
    12. <artifactId>SpringCloudartifactId>
    13. <version>0.0.1-SNAPSHOTversion>
    14. <packaging>pompackaging>
    15. <name>SpringCloudname>
    16. <description>SpringClouddescription>
    17. <modules>
    18. <module>foundationmodule>
    19. <module>commoditymodule>
    20. <module>ordersmodule>
    21. modules>
    22. <properties>
    23. <java.version>1.8java.version>
    24. <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
    25. <project.reporting.outputEncoding>UTF-8project.reporting.outputEncoding>
    26. <spring-cloud.version>2020.0.1spring-cloud.version>
    27. <spring-cloud-alibaba.version>2021.1spring-cloud-alibaba.version>
    28. properties>
    29. <dependencyManagement>
    30. <dependencies>
    31. <dependency>
    32. <groupId>org.springframework.cloudgroupId>
    33. <artifactId>spring-cloud-dependenciesartifactId>
    34. <version>${spring-cloud.version}version>
    35. <type>pomtype>
    36. <scope>importscope>
    37. dependency>
    38. <dependency>
    39. <groupId>com.alibaba.cloudgroupId>
    40. <artifactId>spring-cloud-alibaba-dependenciesartifactId>
    41. <version>${spring-cloud-alibaba.version}version>
    42. <type>pomtype>
    43. <scope>importscope>
    44. dependency>
    45. dependencies>
    46. dependencyManagement>
    47. <build>
    48. <plugins>
    49. <plugin>
    50. <groupId>org.springframework.bootgroupId>
    51. <artifactId>spring-boot-maven-pluginartifactId>
    52. <configuration>
    53. <image>
    54. <builder>paketobuildpacks/builder-jammy-base:latestbuilder>
    55. image>
    56. configuration>
    57. plugin>
    58. plugins>
    59. build>
    60. project>

    创建子工程

    创建commodity

    写一个实体类

    创建foundation

    创建过程同上

    pom.xml文件导入如下

     

    创建配置文件

    修改启动类

    写一个controller类

    另一个controller

  • 相关阅读:
    在Spring Boot项目中使用全局异常处理
    Laravel 博客开发|后台项目管理
    Spring5依赖注入(DI)Set方式注入收录
    记一次 .NET 某传感器采集系统 线程爆高分析
    计算机视觉岗实习面经
    【云原生| Docker】 部署 Django & mysql 项目
    学习ArkTS --页面路由
    安装Zookeeper3.4.10
    大龄程序员三战考研变身考研战神
    java精准扶贫项目管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
  • 原文地址:https://blog.csdn.net/weixin_68193389/article/details/134380674