176 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
		
		
			
		
	
	
			176 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
|  | #
 | ||
|  | # Licensed to the Apache Software Foundation (ASF) under one or more
 | ||
|  | # contributor license agreements.  See the NOTICE file distributed with
 | ||
|  | # this work for additional information regarding copyright ownership.
 | ||
|  | # The ASF licenses this file to You under the Apache License, Version 2.0
 | ||
|  | # (the "License"); you may not use this file except in compliance with
 | ||
|  | # the License.  You may obtain a copy of the License at
 | ||
|  | #
 | ||
|  | #     http://www.apache.org/licenses/LICENSE-2.0
 | ||
|  | #
 | ||
|  | # Unless required by applicable law or agreed to in writing, software
 | ||
|  | # distributed under the License is distributed on an "AS IS" BASIS,
 | ||
|  | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | ||
|  | # See the License for the specific language governing permissions and
 | ||
|  | # limitations under the License.
 | ||
|  | #
 | ||
|  | 
 | ||
|  | ######################################################################################################
 | ||
|  | #
 | ||
|  | # Here you can configure the rules for the proxy.
 | ||
|  | # This example is configuration of shadow rule.
 | ||
|  | #
 | ||
|  | ######################################################################################################
 | ||
|  | #
 | ||
|  | #databaseName: shadow_db
 | ||
|  | #
 | ||
|  | #dataSources:
 | ||
|  | #  ds:
 | ||
|  | #    url: jdbc:postgresql://127.0.0.1:5432/demo_ds_0
 | ||
|  | #    username: postgres
 | ||
|  | #    password: postgres
 | ||
|  | #    connectionTimeoutMilliseconds: 30000
 | ||
|  | #    idleTimeoutMilliseconds: 60000
 | ||
|  | #    maxLifetimeMilliseconds: 1800000
 | ||
|  | #    maxPoolSize: 50
 | ||
|  | #    minPoolSize: 1
 | ||
|  | #  shadow_ds:
 | ||
|  | #    url: jdbc:postgresql://127.0.0.1:5432/demo_ds_1
 | ||
|  | #    username: postgres
 | ||
|  | #    password: postgres
 | ||
|  | #    connectionTimeoutMilliseconds: 30000
 | ||
|  | #    idleTimeoutMilliseconds: 60000
 | ||
|  | #    maxLifetimeMilliseconds: 1800000
 | ||
|  | #    maxPoolSize: 50
 | ||
|  | #    minPoolSize: 1
 | ||
|  | #
 | ||
|  | #rules:
 | ||
|  | #- !SHADOW
 | ||
|  | #  dataSources:
 | ||
|  | #    shadowDataSource:
 | ||
|  | #      productionDataSourceName: ds
 | ||
|  | #      shadowDataSourceName: shadow_ds
 | ||
|  | #  tables:
 | ||
|  | #    t_order:
 | ||
|  | #      dataSourceNames:
 | ||
|  | #        - shadowDataSource
 | ||
|  | #      shadowAlgorithmNames:
 | ||
|  | #        - user_id_insert_match_algorithm
 | ||
|  | #        - user_id_select_match_algorithm
 | ||
|  | #    t_order_item:
 | ||
|  | #      dataSourceNames:
 | ||
|  | #        - shadowDataSource
 | ||
|  | #      shadowAlgorithmNames:
 | ||
|  | #        - user_id_insert_match_algorithm
 | ||
|  | #        - user_id_update_match_algorithm
 | ||
|  | #        - user_id_select_match_algorithm
 | ||
|  | #    t_address:
 | ||
|  | #      dataSourceNames:
 | ||
|  | #        - shadowDataSource
 | ||
|  | #      shadowAlgorithmNames:
 | ||
|  | #        - user_id_insert_match_algorithm
 | ||
|  | #        - user_id_select_match_algorithm
 | ||
|  | #        - sql_hint_algorithm
 | ||
|  | #  shadowAlgorithms:
 | ||
|  | #    user_id_insert_match_algorithm:
 | ||
|  | #      type: REGEX_MATCH
 | ||
|  | #      props:
 | ||
|  | #        operation: insert
 | ||
|  | #        column: user_id
 | ||
|  | #        regex: "[1]"
 | ||
|  | #    user_id_update_match_algorithm:
 | ||
|  | #      type: REGEX_MATCH
 | ||
|  | #      props:
 | ||
|  | #        operation: update
 | ||
|  | #        column: user_id
 | ||
|  | #        regex: "[1]"
 | ||
|  | #    user_id_select_match_algorithm:
 | ||
|  | #      type: REGEX_MATCH
 | ||
|  | #      props:
 | ||
|  | #        operation: select
 | ||
|  | #        column: user_id
 | ||
|  | #        regex: "[1]"
 | ||
|  | #    sql_hint_algorithm:
 | ||
|  | #      type: SQL_HINT
 | ||
|  | #      props:
 | ||
|  | #        foo: bar
 | ||
|  | 
 | ||
|  | ######################################################################################################
 | ||
|  | #
 | ||
|  | # If you want to connect to MySQL, you should manually copy MySQL driver to lib directory.
 | ||
|  | #
 | ||
|  | ######################################################################################################
 | ||
|  | #
 | ||
|  | #databaseName: shadow_db
 | ||
|  | #
 | ||
|  | #dataSources:
 | ||
|  | #  ds:
 | ||
|  | #    url: jdbc:mysql://127.0.0.1:3306/demo_ds_0?serverTimezone=UTC&useSSL=false
 | ||
|  | #    username: root
 | ||
|  | #    password:
 | ||
|  | #    connectionTimeoutMilliseconds: 30000
 | ||
|  | #    idleTimeoutMilliseconds: 60000
 | ||
|  | #    maxLifetimeMilliseconds: 1800000
 | ||
|  | #    maxPoolSize: 50
 | ||
|  | #    minPoolSize: 1
 | ||
|  | #  shadow_ds:
 | ||
|  | #    url: jdbc:mysql://127.0.0.1:3306/demo_ds_1?serverTimezone=UTC&useSSL=false
 | ||
|  | #    username: root
 | ||
|  | #    password:
 | ||
|  | #    connectionTimeoutMilliseconds: 30000
 | ||
|  | #    idleTimeoutMilliseconds: 60000
 | ||
|  | #    maxLifetimeMilliseconds: 1800000
 | ||
|  | #    maxPoolSize: 50
 | ||
|  | #    minPoolSize: 1
 | ||
|  | #
 | ||
|  | #rules:
 | ||
|  | #- !SHADOW
 | ||
|  | #  dataSources:
 | ||
|  | #    shadowDataSource:
 | ||
|  | #      productionDataSourceName: ds
 | ||
|  | #      shadowDataSourceName: shadow_ds
 | ||
|  | #  tables:
 | ||
|  | #    t_order:
 | ||
|  | #      dataSourceNames:
 | ||
|  | #        - shadowDataSource
 | ||
|  | #      shadowAlgorithmNames:
 | ||
|  | #        - user_id_insert_match_algorithm
 | ||
|  | #        - user_id_select_match_algorithm
 | ||
|  | #    t_order_item:
 | ||
|  | #      dataSourceNames:
 | ||
|  | #        - shadowDataSource
 | ||
|  | #      shadowAlgorithmNames:
 | ||
|  | #        - user_id_insert_match_algorithm
 | ||
|  | #        - user_id_update_match_algorithm
 | ||
|  | #        - user_id_select_match_algorithm
 | ||
|  | #    t_address:
 | ||
|  | #      dataSourceNames:
 | ||
|  | #        - shadowDataSource
 | ||
|  | #      shadowAlgorithmNames:
 | ||
|  | #        - user_id_insert_match_algorithm
 | ||
|  | #        - user_id_select_match_algorithm
 | ||
|  | #        - sql_hint_algorithm
 | ||
|  | #  shadowAlgorithms:
 | ||
|  | #    user_id_insert_match_algorithm:
 | ||
|  | #      type: REGEX_MATCH
 | ||
|  | #      props:
 | ||
|  | #        operation: insert
 | ||
|  | #        column: user_id
 | ||
|  | #        regex: "[1]"
 | ||
|  | #    user_id_update_match_algorithm:
 | ||
|  | #      type: REGEX_MATCH
 | ||
|  | #      props:
 | ||
|  | #        operation: update
 | ||
|  | #        column: user_id
 | ||
|  | #        regex: "[1]"
 | ||
|  | #    user_id_select_match_algorithm:
 | ||
|  | #      type: REGEX_MATCH
 | ||
|  | #      props:
 | ||
|  | #        operation: select
 | ||
|  | #        column: user_id
 | ||
|  | #        regex: "[1]"
 | ||
|  | #    sql_hint_algorithm:
 | ||
|  | #      type: SQL_HINT
 | ||
|  | #      props:
 | ||
|  | #        foo: bar
 |