SpringCloudalibaba

一、分布式和微服务

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

分布式系统

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

特点:

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

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

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

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

微服务

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

特点:

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

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

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

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

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

区别

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

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

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

总结

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

二、简单上手

创建父工程

SpringCloudalibaba_第1张图片

更改父进程的pom.xml配置



    
    4.0.0

    
    
        org.springframework.boot
        spring-boot-starter-parent
        2.4.2
         
    

    
    com.aaa
    SpringCloud
    0.0.1-SNAPSHOT
    pom
    SpringCloud
    SpringCloud

    
    
        foundation
        commodity
        orders
    

    
    
        1.8
        UTF-8
        UTF-8

        2020.0.1
        2021.1
    

    
    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            
            
                com.alibaba.cloud
                spring-cloud-alibaba-dependencies
                ${spring-cloud-alibaba.version}
                pom
                import
            
        
    

    
    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    
                        paketobuildpacks/builder-jammy-base:latest
                    
                
            
        
    


创建子工程

创建commodity

SpringCloudalibaba_第2张图片

SpringCloudalibaba_第3张图片

写一个实体类

SpringCloudalibaba_第4张图片

创建foundation

创建过程同上

pom.xml文件导入如下

SpringCloudalibaba_第5张图片

 

创建配置文件

SpringCloudalibaba_第6张图片

SpringCloudalibaba_第7张图片

修改启动类

SpringCloudalibaba_第8张图片

写一个controller类

SpringCloudalibaba_第9张图片

另一个controller

SpringCloudalibaba_第10张图片

你可能感兴趣的:(spring)