mysql - Spring Boot 应用程序使用 mysql 进行扩展

标签 mysql docker spring-boot docker-compose microservices

我使用 mysql 创建了 spring-boot 应用程序和数据库。然后我对它进行了 Docker 化和部署。下面显示我的 docker-compse.yml

version: '2'
services:
  seat_reservation_service:
    image: springio/seat_reservation_service
    ports:
     - "8090:8090"
    environment:
     - SPRING_PROFILES_ACTIVE=docker
  seat_reservation_sql:
    image: mysql:5.7
    ports:
    - 33306:3306
    environment:
    - MYSQL_ROOT_PASSWORD=root
    - MYSQL_DATABASE=seat-reservation-query

这是我的 spring application.yml 文件

server:
  port: 8090
spring:
  profiles: docker
  main:
    banner-mode: 'off'
  datasource:
    url: jdbc:mysql://seat_reservation_sql:3306/seat-reservation-query?useSSL=false
    username: root
    password: root
    validation-query: SELECT 1
    test-on-borrow: true
  jpa:
    show_sql: false
    hibernate:
      ddl-auto: update
      dialect: org.hibernate.dialect.MySQL5
    properties:
      hibernate:
        cache:
          use_second_level_cache: false
          use_query_cache: false
        generate_statistics: false
  data:
    rest:
      base-path: /api/
  rabbitmq:
      host: rabbitmq-1
      username: test
      password: password
logging:
  level:
    org.springframework: false
    org.hibernate: ERROR
  path: logs/prod/

axon:
  amqp:
    exchange: SeatReserveEvents
  eventhandling:
    processors: 
      statistics.source: statisticsQueue

我的问题是我需要更多 seat_reservation_service 服务的副本。如果我扩展引用相同数据库的 seat_reservation_service 。根据微服务架构,我需要为每个副本使用单独的数据库。我怎样才能做到这一点?

if I use in memory database it can do

最佳答案

According to micro-service architecture I need separate database for each replica. How can I do that?

此“规则”指的是微服务类型,而不是同一微服务的实例。因此,您可以分别扩展 seat_reservation_serviceseat_reservation_sql。例如,您可能有 4 个 seat_reservation_service 实例和 3 个 seat_reservation_sql 实例(1 个主服务器和 2 个从服务器或 Galera 集群)。

关于mysql - Spring Boot 应用程序使用 mysql 进行扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48141031/

相关文章:

docker - 登录到控制台时,简单的 Flume 代理会出现一些延迟

spring-boot - Spring Boot 应用程序意外关闭并记录问题

jsf - Spring Boot + Primefaces 默认 URL 重定向

spring-boot - 测试容器中的 Kafka 监听器,避开端口 9092

MySQL 对来自多个表的项目进行分页

mysql - 为高频(流)数据创建新数据库的成本结构

mysql - 查询内查询

docker - 使用 Docker for Mac 创建 swarm 集群

docker - Kubernetes集群 "cni config uninitialized"

mysql - sql : Flag the next few rows of a column based on another column value