目录

一、什么是微服务

二、使用spring boot搭建微服务

  1.创建 Spring Boot 项目

  2.配置 RabbitMQ

  3.创建消息生产者

  4.创建消息消费者

  5.运行应用程序并测试


一、什么是微服务

微服务(Microservices)是一种软件开发架构风格,它将一个应用程序拆分成一组小型、独立的服务。每个服务都运行在自己的进程中,并使用轻量级的通信机制与其他微服务进行交互。这些独立的服务可以由不同的团队开发、测试和部署,使得应用程序更易于维护、升级和扩展。

微服务架构的优点包括:

  1. 独立性:不同的服务可以独立开发、测试和部署,使得团队间的协作更加灵活高效;
  2. 可伸缩性:可以根据实际需求对不同的服务进行水平或垂直扩展,提高应用程序的性能和可靠性;
  3. 容错性:由于每个服务都是独立部署的,因此当某个服务发生故障时,整个应用程序不会受到影响;
  4. 技术多样性:不同的服务可以使用不同的编程语言和技术栈,使得团队可以选择最适合自己的工具和技术;
  5. 可维护性:由于每个服务都相对较小,因此对于单个服务的维护和修改更加容易。

二、使用spring boot搭建微服务

  1.创建 Spring Boot 项目

首先,您需要创建一个 Spring Boot 项目。您可以使用 Spring Initializr 进行快速构建:https://start.spring.io/。选择适当的选项,例如 Maven/Gradle、Spring Boot 版本和依赖项,然后下载和解压生成的项目。

   2.配置 RabbitMQ

在 pom.xml 文件中添加以下依赖项,以便在应用程序中使用 RabbitMQ:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

然后,在 application.properties 或 application.yml 文件中添加以下配置:

spring.rabbitmq.host=localhost # RabbitMQ 服务器地址
spring.rabbitmq.port=5672 # RabbitMQ 端口号
spring.rabbitmq.username=admin # RabbitMQ 用户名
spring.rabbitmq.password=secret # RabbitMQ 密码

 

  3.创建消息生产者

使用 Spring AMQP 库创建消息生产者非常简单。只需定义一个发送消息的方法,并将其注释为 @Bean 和 @ConfigurationProperties。例如:

import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;

@SpringBootApplication
public class ProducerApplication {

    public static void main(String[] args) {
        SpringApplication.run(ProducerApplication.class, args);
    }

    @Bean
    public Queue queue() {
        return new Queue("hello");
    }

    @Component
    @ConfigurationProperties(prefix = "rabbitmq")
    public class Producer {

        @Autowired
        private RabbitTemplate rabbitTemplate;

        private String exchange;
        private String routingkey;

        public void send(String message) {
            rabbitTemplate.convertAndSend(exchange, routingkey, message);
        }

        public String getExchange() {
            return exchange;
        }

        public void setExchange(String exchange) {
            this.exchange = exchange;
        }

        public String getRoutingkey() {
            return routingkey;
        }

        public void setRoutingkey(String routingkey) {
            this.routingkey = routingkey;
        }
    }
}

在上面的代码中,我们首先定义了一个名为“hello”的队列。然后我们定义了一个名为“Producer”的类,它包含一个 sendMessage() 方法,可以发送消息到队列中。

 

     4.创建消息消费者

使用 Spring AMQP 库创建消息消费者也非常简单。只需定义一个接收消息的方法,并用 @RabbitListener 注释该方法。例如:

import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

@Component
public class Consumer {

    @RabbitListener(queues = "hello")
    public void receive(String message) {
        System.out.println("Received: " + message);
    }
}

在上面的代码中,我们定义了一个名为“Consumer”的类,它包含一个 receive() 方法,用于从队列中接收消息。此方法由 @RabbitListener 注释。

 

      5.运行应用程序并测试

现在您已经准备好了生产者和消费者,可以启动应用程序并测试消息传递。在命令行中运行以下命令启动应用程序:

mvn spring-boot:run

然后,在生产者发送一条消息,消费者将接收到该消息并在控制台上显示。