spring boot应用程序使用mysql进行扩展

py49o6xq  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(383)

我用mysql创建了springboot应用程序和数据库。然后我把它放在码头上。下面显示我的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 指的是同一个数据库。根据微服务架构,我需要为每个副本提供单独的数据库。我该怎么做?
如果我使用内存数据库,它可以

whlutmcx

whlutmcx1#

根据微服务架构,我需要为每个副本提供单独的数据库。我该怎么做?
这个“规则”指的是微服务类型,而不是同一个微服务的示例。因此,可以分别缩放 seat_reservation_service 以及 seat_reservation_sql . 例如,可以有4个 seat_reservation_service 和3个 seat_reservation_sql (1个主设备和2个从设备或一个galera集群)。

相关问题