我使用mysql创建了spring-boot应用程序和数据库。然后我Dockerised并部署了它。下面显示我的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
。根据微服务架构,我需要为每个副本提供单独的数据库。我怎样才能做到这一点?
如果我在内存数据库中使用它可以做
答案 0 :(得分:0)
根据微服务架构,我需要为每个副本提供单独的数据库。我怎么能这样做?
这"规则"是指微服务类型,而不是相同微服务的实例。因此,您可以单独缩放elseif (!empty($post['ID']) && ($post['type']== 'm')) {
echo '<audio controls>';
echo '<source
src="data:audio/mp3;base64,'.base64_encode($post['image']).'">';
echo '</audio>';
}
和seat_reservation_service
。例如,您可以有4个seat_reservation_sql
个实例和3个seat_reservation_service
个实例(1个主服务器和2个从服务器或一个Galera群集)。