parent
							
								
									132feea1fa
								
							
						
					
					
						commit
						9114c8cb8e
					
				
					 7 changed files with 96 additions and 0 deletions
				
			
		| 
						 | 
					@ -51,6 +51,23 @@ db:
 | 
				
			||||||
  #extra:
 | 
					  #extra:
 | 
				
			||||||
  #  ssl: true
 | 
					  #  ssl: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dbReplications: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# You can configure any number of replicas here
 | 
				
			||||||
 | 
					#dbSlaves:
 | 
				
			||||||
 | 
					#  -
 | 
				
			||||||
 | 
					#    host: 
 | 
				
			||||||
 | 
					#    port: 
 | 
				
			||||||
 | 
					#    db: 
 | 
				
			||||||
 | 
					#    user: 
 | 
				
			||||||
 | 
					#    pass: 
 | 
				
			||||||
 | 
					#  -
 | 
				
			||||||
 | 
					#    host: 
 | 
				
			||||||
 | 
					#    port: 
 | 
				
			||||||
 | 
					#    db: 
 | 
				
			||||||
 | 
					#    user: 
 | 
				
			||||||
 | 
					#    pass: 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#   ┌─────────────────────┐
 | 
					#   ┌─────────────────────┐
 | 
				
			||||||
#───┘ Redis configuration └─────────────────────────────────────
 | 
					#───┘ Redis configuration └─────────────────────────────────────
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -51,6 +51,23 @@ db:
 | 
				
			||||||
  #extra:
 | 
					  #extra:
 | 
				
			||||||
  #  ssl: true
 | 
					  #  ssl: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dbReplications: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# You can configure any number of replicas here
 | 
				
			||||||
 | 
					#dbSlaves:
 | 
				
			||||||
 | 
					#  -
 | 
				
			||||||
 | 
					#    host: 
 | 
				
			||||||
 | 
					#    port: 
 | 
				
			||||||
 | 
					#    db: 
 | 
				
			||||||
 | 
					#    user: 
 | 
				
			||||||
 | 
					#    pass: 
 | 
				
			||||||
 | 
					#  -
 | 
				
			||||||
 | 
					#    host: 
 | 
				
			||||||
 | 
					#    port: 
 | 
				
			||||||
 | 
					#    db: 
 | 
				
			||||||
 | 
					#    user: 
 | 
				
			||||||
 | 
					#    pass: 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#   ┌─────────────────────┐
 | 
					#   ┌─────────────────────┐
 | 
				
			||||||
#───┘ Redis configuration └─────────────────────────────────────
 | 
					#───┘ Redis configuration └─────────────────────────────────────
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -51,6 +51,23 @@ db:
 | 
				
			||||||
  #extra:
 | 
					  #extra:
 | 
				
			||||||
  #  ssl: true
 | 
					  #  ssl: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dbReplications: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# You can configure any number of replicas here
 | 
				
			||||||
 | 
					#dbSlaves:
 | 
				
			||||||
 | 
					#  -
 | 
				
			||||||
 | 
					#    host: 
 | 
				
			||||||
 | 
					#    port: 
 | 
				
			||||||
 | 
					#    db: 
 | 
				
			||||||
 | 
					#    user: 
 | 
				
			||||||
 | 
					#    pass: 
 | 
				
			||||||
 | 
					#  -
 | 
				
			||||||
 | 
					#    host: 
 | 
				
			||||||
 | 
					#    port: 
 | 
				
			||||||
 | 
					#    db: 
 | 
				
			||||||
 | 
					#    user: 
 | 
				
			||||||
 | 
					#    pass: 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#   ┌─────────────────────┐
 | 
					#   ┌─────────────────────┐
 | 
				
			||||||
#───┘ Redis configuration └─────────────────────────────────────
 | 
					#───┘ Redis configuration └─────────────────────────────────────
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -38,6 +38,8 @@
 | 
				
			||||||
- Add Minimizing ("folding") of windows
 | 
					- Add Minimizing ("folding") of windows
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Server
 | 
					### Server
 | 
				
			||||||
 | 
					- PostgreSQLのレプリケーション対応
 | 
				
			||||||
 | 
						- 設定ファイルの `dbReplications` および `dbSlaves` にて設定できます
 | 
				
			||||||
- イベント用Redisを別サーバーに分離できるように
 | 
					- イベント用Redisを別サーバーに分離できるように
 | 
				
			||||||
- ジョブキュー用Redisを別サーバーに分離できるように
 | 
					- ジョブキュー用Redisを別サーバーに分離できるように
 | 
				
			||||||
- サーバーの全体的なパフォーマンスを向上
 | 
					- サーバーの全体的なパフォーマンスを向上
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -72,6 +72,23 @@ db:
 | 
				
			||||||
  #extra:
 | 
					  #extra:
 | 
				
			||||||
  #  ssl: true
 | 
					  #  ssl: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dbReplications: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# You can configure any number of replicas here
 | 
				
			||||||
 | 
					#dbSlaves:
 | 
				
			||||||
 | 
					#  -
 | 
				
			||||||
 | 
					#    host: 
 | 
				
			||||||
 | 
					#    port: 
 | 
				
			||||||
 | 
					#    db: 
 | 
				
			||||||
 | 
					#    user: 
 | 
				
			||||||
 | 
					#    pass: 
 | 
				
			||||||
 | 
					#  -
 | 
				
			||||||
 | 
					#    host: 
 | 
				
			||||||
 | 
					#    port: 
 | 
				
			||||||
 | 
					#    db: 
 | 
				
			||||||
 | 
					#    user: 
 | 
				
			||||||
 | 
					#    pass: 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#   ┌─────────────────────┐
 | 
					#   ┌─────────────────────┐
 | 
				
			||||||
#───┘ Redis configuration └─────────────────────────────────────
 | 
					#───┘ Redis configuration └─────────────────────────────────────
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -25,6 +25,16 @@ export type Source = {
 | 
				
			||||||
		disableCache?: boolean;
 | 
							disableCache?: boolean;
 | 
				
			||||||
		extra?: { [x: string]: string };
 | 
							extra?: { [x: string]: string };
 | 
				
			||||||
	};
 | 
						};
 | 
				
			||||||
 | 
						dbReplications?: boolean;
 | 
				
			||||||
 | 
						dbSlaves?: {
 | 
				
			||||||
 | 
							host: string;
 | 
				
			||||||
 | 
							port: number;
 | 
				
			||||||
 | 
							db: string;
 | 
				
			||||||
 | 
							user: string;
 | 
				
			||||||
 | 
							pass: string;
 | 
				
			||||||
 | 
							disableCache?: boolean;
 | 
				
			||||||
 | 
							extra?: { [x: string]: string };
 | 
				
			||||||
 | 
						}[];
 | 
				
			||||||
	redis: {
 | 
						redis: {
 | 
				
			||||||
		host: string;
 | 
							host: string;
 | 
				
			||||||
		port: number;
 | 
							port: number;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -200,6 +200,22 @@ export function createPostgresDataSource(config: Config) {
 | 
				
			||||||
			statement_timeout: 1000 * 10,
 | 
								statement_timeout: 1000 * 10,
 | 
				
			||||||
			...config.db.extra,
 | 
								...config.db.extra,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							replication: config.dbReplications ? {
 | 
				
			||||||
 | 
								master: {
 | 
				
			||||||
 | 
									host: config.db.host,
 | 
				
			||||||
 | 
									port: config.db.port,
 | 
				
			||||||
 | 
									username: config.db.user,
 | 
				
			||||||
 | 
									password: config.db.pass,
 | 
				
			||||||
 | 
									database: config.db.db,
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
								slaves: config.dbSlaves!.map(rep => ({
 | 
				
			||||||
 | 
									host: rep.host,
 | 
				
			||||||
 | 
									port: rep.port,
 | 
				
			||||||
 | 
									username: rep.user,
 | 
				
			||||||
 | 
									password: rep.pass,
 | 
				
			||||||
 | 
									database: rep.db,
 | 
				
			||||||
 | 
								})),
 | 
				
			||||||
 | 
							} : undefined,
 | 
				
			||||||
		synchronize: process.env.NODE_ENV === 'test',
 | 
							synchronize: process.env.NODE_ENV === 'test',
 | 
				
			||||||
		dropSchema: process.env.NODE_ENV === 'test',
 | 
							dropSchema: process.env.NODE_ENV === 'test',
 | 
				
			||||||
		cache: !config.db.disableCache && process.env.NODE_ENV !== 'test' ? { // dbをcloseしても何故かredisのコネクションが内部的に残り続けるようで、テストの際に支障が出るため無効にする(キャッシュも含めてテストしたいため本当は有効にしたいが...)
 | 
							cache: !config.db.disableCache && process.env.NODE_ENV !== 'test' ? { // dbをcloseしても何故かredisのコネクションが内部的に残り続けるようで、テストの際に支障が出るため無効にする(キャッシュも含めてテストしたいため本当は有効にしたいが...)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue