mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-10-31 16:32:12 +08:00 
			
		
		
		
	* Script Refactoring * Script Refactoring * Script Refactoring * Script Refactoring * Script Refactoring * Script Refactoring * Script Refactoring * Script Refactoring * Script Refactoring * Script Refactoring * Script Refactoring * Script Refactoring * feat: add code lint * feat: add code lint * Script Refactoring * Script Refactoring * Script Refactoring * Script Refactoring * Script Refactoring * Script Refactoring * Script Refactoring * Script Refactoring * Script Refactoring * Script Refactoring * Script Refactoring * Script Refactoring * Script Refactoring * Script Refactoring * Script Refactoring * Script Refactoring * Script Refactoring * feat: code format * Script Refactoring * Script Refactoring * Script Refactoring * Adjust MinIO configuration settings * Adjust configuration settings * Adjust configuration settings * refactor: config change. * refactor: webhooks update. * Adjust configuration settings * refactor: webhooks update. * Adjust configuration settings * Adjust configuration settings * Adjust configuration settings * feat: s3 api addr * refactor: webhooks update. * Adjust configuration settings * Adjust configuration settings * Adjust configuration settings * Adjust configuration settings * Adjust configuration settings * Adjust configuration settings * Adjust configuration settings * refactor: webhooks update. * refactor: kafka update. * Simplify the Docker Compose configuration, remove unnecessary environment variables, and eliminate the gateway service. * refactor: kafka update. * refactor: kafka update. * Simplify the Docker Compose configuration, remove unnecessary environment variables, and eliminate the gateway service. * Simplify the Docker Compose configuration, remove unnecessary environment variables, and eliminate the gateway service. * Windows can compile and run. * Windows can compile and run. * refactor: kafka update. * feat: msg cache split * refactor: webhooks update * refactor: webhooks update * refactor: friends update * refactor: group update * refactor: third update * refactor: api update * refactor: crontab update * refactor: msggateway update * mage * mage * refactor: all module update. * check * refactor: all module update. * load config * load config * load config * load config * refactor: all module update. * refactor: all module update. * refactor: all module update. * refactor: all module update. * refactor: all module update. * Optimize Docker configuration and script. * refactor: all module update. * Optimize Docker configuration and script. * Optimize Docker configuration and script. * Optimize Docker configuration and script. * refactor: all module update. * Optimize Docker configuration and script. * refactor: all module update. * refactor: all module update. * Optimize Docker configuration and script. * Optimize Docker configuration and script. * Optimize Docker configuration and script. * Optimize Docker configuration and script. * Optimize Docker configuration and script. * Optimize Docker configuration and script. * update tools * update tools * Optimize Docker configuration and script. * Optimize Docker configuration and script. * Optimize Docker configuration and script. * Optimize Docker configuration and script. * Optimize Docker configuration and script. * Optimize Docker configuration and script. * Optimize Docker configuration and script. * Optimize Docker configuration and script. * Optimize Docker configuration and script. * Optimize Docker configuration and script. * Optimize Docker configuration and script. * update protocol * Optimize Docker configuration and script. * Optimize Docker configuration and script. * refactor: all module update. * Optimize Docker configuration and script. * Optimize Docker configuration and script. * Optimize Docker configuration and script. * Optimize Docker configuration and script. * refactor: api remove token auth by redis directly. * Code Refactoring * refactor: websocket auth change to call rpc of auth. * refactor: kick online user and remove token change to call auth rpc. * refactor: kick online user and remove token change to call auth rpc. * refactor: remove msggateway redis. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor webhook * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor webhook * refactor: cmd update. * refactor: cmd update. * fix: runtime: goroutine stack exceeds * refactor: cmd update. * refactor notification * refactor notification * refactor * refactor: cmd update. * refactor: cmd update. * refactor * refactor * refactor * protojson * protojson * protojson * go mod * wrapperspb * refactor: cmd update. * refactor: cmd update. * refactor: cmd update. * refactor: context update. * refactor: websocket update info. * refactor: websocket update info. * refactor: websocket update info. * refactor: websocket update info. * refactor: api name change. * refactor: debug info. * refactor: debug info. * refactor: debug info. * fix: update file * refactor * refactor * refactor: debug info. * refactor: debug info. * refactor: debug info. * refactor: debug info. * refactor: debug info. * refactor: debug info. * fix: callback update. * fix: callback update. * refactor * fix: update message. * fix: msg cache timeout. * refactor * refactor * fix: push update. * fix: push update. * fix: push update. * fix: push update. * fix: push update. * fix: push update. * fix: push update. * fix: websocket handle error remove when upgrade error. --------- Co-authored-by: skiffer-git <44203734@qq.com> Co-authored-by: Xinwei Xiong (cubxxw) <3293172751nss@gmail.com> Co-authored-by: withchao <993506633@qq.com>
		
			
				
	
	
		
			553 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			553 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| envs:
 | |
|   discovery: zookeeper
 | |
| 
 | |
| ###################### Zookeeper ######################
 | |
| # Zookeeper configuration
 | |
| # It's not recommended to modify the schema
 | |
| # 
 | |
| # Zookeeper address
 | |
| # Zookeeper username
 | |
| # Zookeeper password
 | |
| zookeeper:
 | |
|   schema: openim
 | |
|   address: [ 172.28.0.1:12181 ]
 | |
|   username: ''
 | |
|   password: ''
 | |
| 
 | |
| ###################### Mongo ######################
 | |
| # MongoDB configuration
 | |
| 
 | |
| # If uri is not empty, it will be used directly for the MongoDB connection.
 | |
| # This is a complete MongoDB URI string.
 | |
| # Example: mongodb://user:password@host1:port1,host2:port2/dbname?options
 | |
| mongo:
 | |
|   uri: ''
 | |
| 
 | |
| # List of MongoDB server addresses.
 | |
| # Used for constructing the MongoDB URI if 'uri' above is empty.
 | |
| # For a standalone setup, specify the address of the single server.
 | |
| # For a sharded cluster, specify the addresses of the Mongos servers.
 | |
| # Example: [ '172.28.0.1:37017', '172.28.0.2:37017' ]
 | |
| # Default MongoDB database name
 | |
| # Maximum connection pool size
 | |
|   address: [ 172.28.0.1:37017 ]
 | |
|   database: openim_v3
 | |
|   username: openIM
 | |
|   password: openIM123
 | |
|   maxPoolSize: 100
 | |
| 
 | |
| ###################### Redis configuration information ######################
 | |
| # Redis configuration
 | |
| #
 | |
| # Username is required only for Redis version 6.0+
 | |
| redis:
 | |
|   address: [ 172.28.0.1:16379 ]
 | |
|   username: ''
 | |
|   password: openIM123
 | |
| 
 | |
| ###################### Kafka configuration information ######################
 | |
| # Kafka configuration
 | |
| #
 | |
| # Kafka username
 | |
| # Kafka password
 | |
| # It's not recommended to modify this topic name
 | |
| # Consumer group ID, it's not recommended to modify
 | |
| kafka:
 | |
|   username: ''
 | |
|   password: ''
 | |
|   addr: [ 172.28.0.1:19094 ]
 | |
|   latestMsgToRedis:
 | |
|     topic: "latestMsgToRedis"
 | |
|   offlineMsgToMongo:
 | |
|     topic: "offlineMsgToMongoMysql"
 | |
|   msgToPush:
 | |
|     topic: "msgToPush"
 | |
|   consumerGroupID:
 | |
|     msgToRedis: redis
 | |
|     msgToMongo: mongo
 | |
|     msgToMySql: mysql
 | |
|     msgToPush: push
 | |
| 
 | |
| ###################### RPC configuration information ######################
 | |
| # RPC configuration
 | |
| #
 | |
| # IP address to register with zookeeper when starting RPC, the IP and corresponding rpcPort should be accessible by api/gateway
 | |
| # Default listen IP is 0.0.0.0
 | |
| rpc:
 | |
|   registerIP: ''
 | |
|   listenIP: 0.0.0.0
 | |
| 
 | |
| ###################### API configuration information ######################
 | |
| # API configuration
 | |
| #
 | |
| # API service port
 | |
| # Default listen IP is 0.0.0.0
 | |
| api:
 | |
|   openImApiPort: [ 10002 ]
 | |
|   listenIP: 0.0.0.0
 | |
| 
 | |
| ###################### Object configuration information ######################
 | |
| # Object storage configuration
 | |
| #
 | |
| # Use minio for object storage
 | |
| # API URL should be accessible by the app
 | |
| # It's not recommended to modify the bucket name
 | |
| # Endpoint should be accessible by the app
 | |
| # Session token
 | |
| # Configuration for Tencent COS
 | |
| # Configuration for Aliyun OSS
 | |
| # apiURL is the address of the api, the access address of the app, use s3 must be configured
 | |
| # minio.endpoint can be configured as an intranet address,
 | |
| # minio.signEndpoint is minio public network address
 | |
| object:
 | |
|   enable: "minio"
 | |
|   apiURL: "http://127.0.0.1:10002"
 | |
|   minio:
 | |
|     bucket: "openim"
 | |
|     endpoint: "http://172.28.0.1:10005"
 | |
|     accessKeyID: "root"
 | |
|     secretAccessKey: "openIM123"
 | |
|     sessionToken: ''
 | |
|     signEndpoint: "http://127.0.0.1:10005"
 | |
|     publicRead: false
 | |
|   cos:
 | |
|     bucketURL: https://temp-1252357374.cos.ap-chengdu.myqcloud.com
 | |
|     secretID: ''
 | |
|     secretKey: ''
 | |
|     sessionToken: ''
 | |
|     publicRead: false
 | |
|   oss:
 | |
|     endpoint: "https://oss-cn-chengdu.aliyuncs.com"
 | |
|     bucket: "demo-9999999"
 | |
|     bucketURL: "https://demo-9999999.oss-cn-chengdu.aliyuncs.com"
 | |
|     accessKeyID: ''
 | |
|     accessKeySecret: ''
 | |
|     sessionToken: ''
 | |
|     publicRead: false
 | |
|   kodo:
 | |
|     endpoint: "http://s3.cn-east-1.qiniucs.com"
 | |
|     bucket: "demo-9999999"
 | |
|     bucketURL: "http://your.domain.com"
 | |
|     accessKeyID: ''
 | |
|     accessKeySecret: ''
 | |
|     sessionToken: ''
 | |
|     publicRead: false
 | |
|   aws:
 | |
|     endpoint: "''" # This might not be necessary unless you're using a custom endpoint
 | |
|     region: "us-east-1"
 | |
|     bucket: "demo-9999999"
 | |
|     accessKeyID: ''
 | |
|     accessKeySecret: ''
 | |
|     publicRead: false
 | |
| 
 | |
| ###################### RPC Port Configuration ######################
 | |
| # RPC service ports
 | |
| # These ports are passed into the program by the script and are not recommended to modify
 | |
| # For launching multiple programs, just fill in multiple ports separated by commas
 | |
| # For example, [10110, 10111]
 | |
| rpcPort:
 | |
|   openImUserPort: [ 10110 ]
 | |
|   openImFriendPort: [ 10120 ]
 | |
|   openImMessagePort: [ 10130 ]
 | |
|   openImGroupPort: [ 10150 ]
 | |
|   openImAuthPort: [ 10160 ]
 | |
|   openImPushPort: [ 10170 ]
 | |
|   openImConversationPort: [ 10180 ]
 | |
|   openImThirdPort: [ 10190 ]
 | |
| 
 | |
| ###################### RPC Register Name Configuration ######################
 | |
| # RPC service names for registration, it's not recommended to modify these
 | |
| rpcRegisterName:
 | |
|   openImUserName: User
 | |
|   openImFriendName: Friend
 | |
|   openImMsgName: Msg
 | |
|   openImPushName: Push
 | |
|   openImMessageGatewayName: MessageGateway
 | |
|   openImGroupName: Group
 | |
|   openImAuthName: Auth
 | |
|   openImConversationName: Conversation
 | |
|   openImThirdName: Third
 | |
| 
 | |
| ###################### Log Configuration ######################
 | |
| # Log configuration
 | |
| #
 | |
| # Storage directory
 | |
| # Log rotation time
 | |
| # Maximum number of logs to retain
 | |
| # Log level, 6 means all levels
 | |
| # Whether to output to stdout
 | |
| # Whether to output in json format
 | |
| # Whether to include stack trace in logs
 | |
| log:
 | |
|   storageLocation: /data/workspaces/open-im-server/_output/logs/
 | |
|   rotationTime: 24
 | |
|   remainRotationCount: 2
 | |
|   remainLogLevel: 6
 | |
|   isStdout: false
 | |
|   isJson: false
 | |
|   withStack: false
 | |
| 
 | |
| ###################### Variables definition ######################
 | |
| # Long connection server configuration
 | |
| #
 | |
| # Websocket port for msg_gateway
 | |
| # Maximum number of websocket connections
 | |
| # Maximum length of websocket request package
 | |
| # Websocket connection handshake timeout
 | |
| longConnSvr:
 | |
|   openImWsPort: [ 10001 ]
 | |
|   websocketMaxConnNum: 100000
 | |
|   openImMessageGatewayPort: [ 10140 ]
 | |
|   websocketMaxMsgLen: 4096
 | |
|   websocketTimeout: 10
 | |
| 
 | |
| # Push notification service configuration
 | |
| #
 | |
| # Use GeTui for push notifications
 | |
| # GeTui offline push configuration
 | |
| # FCM offline push configuration
 | |
| # Account file, place it in the config directory
 | |
| # JPush configuration, modify these after applying in JPush backend
 | |
| push:
 | |
|   enable: getui
 | |
|   geTui:
 | |
|     pushUrl: "https://restapi.getui.com/v2/$appId"
 | |
|     masterSecret: ''
 | |
|     appKey: ''
 | |
|     intent: ''
 | |
|     channelID: ''
 | |
|     channelName: ''
 | |
|   fcm:
 | |
|     serviceAccount: "x.json"
 | |
|   jpns:
 | |
|     appKey: ''
 | |
|     masterSecret: ''
 | |
|     pushUrl: ''
 | |
|     pushIntent: ''
 | |
| 
 | |
| # App manager configuration
 | |
| #
 | |
| # Built-in app manager user IDs
 | |
| # Built-in app manager nicknames
 | |
| # Attention, this configure is discarded. If you have used him before, configure your own
 | |
| manager:
 | |
|   userID:
 | |
|   nickname:
 | |
| 
 | |
| # chatAdmin, use for send notification
 | |
| #
 | |
| # Built-in app system notification account ID
 | |
| # Built-in app system notification account nickname
 | |
| im-admin:
 | |
|   userID: [ "imAdmin" ]
 | |
|   nickname: [ "imAdmin" ]
 | |
| 
 | |
| # Multi-platform login policy
 | |
| # For each platform(Android, iOS, Windows, Mac, web), only one can be online at a time
 | |
| multiLoginPolicy: 1
 | |
| 
 | |
| # Whether to store messages in MySQL, messages in MySQL are only used for management background
 | |
| chatPersistenceMysql: true
 | |
| 
 | |
| # Message cache timeout in seconds, it's not recommended to modify
 | |
| msgCacheTimeout: 86400
 | |
| 
 | |
| # Whether to enable read receipts for group chat
 | |
| groupMessageHasReadReceiptEnable: true
 | |
| 
 | |
| # Whether to enable read receipts for single chat
 | |
| singleMessageHasReadReceiptEnable: true
 | |
| 
 | |
| # MongoDB offline message retention period in days
 | |
| retainChatRecords: 365
 | |
| 
 | |
| # Schedule to clear expired messages(older than retainChatRecords days) in MongoDB every Wednesday at 2am
 | |
| # This deletion is just for cleaning up disk usage according to previous configuration retainChatRecords, no notification will be sent
 | |
| chatRecordsClearTime: "0 2 * * 3"
 | |
| 
 | |
| # Schedule to auto delete messages every day at 2am
 | |
| # This deletion is for messages that have been retained for more than msg_destruct_time (seconds) in the conversation field
 | |
| msgDestructTime: "0 2 * * *"
 | |
| 
 | |
| # Secret key
 | |
| secret: openIM123
 | |
| 
 | |
| # Token policy
 | |
| #
 | |
| # Token expiration period in days
 | |
| tokenPolicy:
 | |
|   expire: 90
 | |
| 
 | |
| # Message verification policy
 | |
| #
 | |
| # Whether to verify friendship when sending messages
 | |
| messageVerify:
 | |
|   friendVerify: false
 | |
| 
 | |
| # iOS push notification configuration
 | |
| #
 | |
| # iOS push notification sound
 | |
| # Whether to count badge
 | |
| # Whether it's production environment
 | |
| iosPush:
 | |
|   pushSound: "xxx"
 | |
|   badgeCount: true
 | |
|   production: false
 | |
| 
 | |
| ###################### Third-party service configuration ######################
 | |
| # Callback configuration
 | |
| #
 | |
| # Callback URL
 | |
| # Whether to enable this callback event
 | |
| # Timeout in seconds
 | |
| # Whether to continue execution if callback fails
 | |
| callback:
 | |
|   url: "http://127.0.0.1:10008/callbackExample"
 | |
|   beforeSendSingleMsg:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   beforeUpdateUserInfoEx:
 | |
|     enable:  false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   afterUpdateUserInfoEx:
 | |
|     enable:  false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   afterSendSingleMsg:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   beforeSendGroupMsg:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   afterSendGroupMsg:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   msgModify:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   userOnline:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   userOffline:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   userKickOff:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   offlinePush:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   onlinePush:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   superGroupOnlinePush:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   beforeAddFriend:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   beforeUpdateUserInfo:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   beforeCreateGroup:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   afterCreateGroup:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   beforeMemberJoinGroup:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   beforeSetGroupMemberInfo:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   afterSetGroupMemberInfo:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   setMessageReactionExtensions:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   quitGroup:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   killGroupMember:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   dismissGroup:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   joinGroup:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   groupMsgRead:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   singleMsgRead:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   updateUserInfo:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   beforeUserRegister:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   afterUserRegister:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   transferGroupOwner:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   beforeSetFriendRemark:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   afterSetFriendRemark:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   afterGroupMsgRead:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   afterGroupMsgRevoke:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   afterJoinGroup:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   beforeInviteUserToGroup:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   joinGroupAfter:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   setGroupInfoAfter:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   setGroupInfoBefore:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   revokeMsgAfter:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   addBlackBefore:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   addFriendAfter:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   addFriendAgreeBefore:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   deleteFriendAfter:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   importFriendsBefore:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   importFriendsAfter:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
|   removeBlackAfter:
 | |
|     enable: false
 | |
|     timeout: 5
 | |
|     failedContinue: true
 | |
| ###################### Prometheus ######################
 | |
| # Prometheus configuration for various services
 | |
| # The number of Prometheus ports per service needs to correspond to rpcPort
 | |
| # The number of ports needs to be consistent with msg_transfer_service_num in script/path_info.sh
 | |
| prometheus:
 | |
|   enable: true
 | |
|   grafanaUrl: http://127.0.0.1:13000/
 | |
|   apiPrometheusPort: [20100]
 | |
|   userPrometheusPort: [ 20110 ]
 | |
|   friendPrometheusPort: [ 20120 ]
 | |
|   messagePrometheusPort: [ 20130 ]
 | |
|   messageGatewayPrometheusPort: [ 20140 ]
 | |
|   groupPrometheusPort: [ 20150 ]
 | |
|   authPrometheusPort: [ 20160 ]
 | |
|   pushPrometheusPort: [ 20170 ]
 | |
|   conversationPrometheusPort: [ 20230 ]
 | |
|   rtcPrometheusPort: [ 21300 ]
 | |
|   thirdPrometheusPort: [ 21301 ]
 | |
|   messageTransferPrometheusPort: [ 21400, 21401, 21402, 21403 ] # List of ports
 | |
| 
 | |
| ###################### LocalCache configuration information ######################
 | |
| # topic: redis subscriber channel
 | |
| # slotNum: number of slots, multiple slots can prevent too many keys from competing for a lock
 | |
| # slotSize: number of slots, the number of cached keys per slot, the overall cache quantity is slotNum * slotSize
 | |
| # successExpire: successful cache time seconds
 | |
| # failedExpire: failed cache time seconds
 | |
| # disable local caching and annotate topic, slotNum, and slotSize
 | |
| localCache:
 | |
|   user:
 | |
|     topic: DELETE_CACHE_USER
 | |
|     slotNum: 100
 | |
|     slotSize: 2000
 | |
|     successExpire: 300
 | |
|     failedExpire: 5
 | |
| 
 | |
|   group:
 | |
|     topic: DELETE_CACHE_GROUP
 | |
|     slotNum: 100
 | |
|     slotSize: 2000
 | |
|     successExpire: 300
 | |
|     failedExpire: 5
 | |
| 
 | |
|   friend:
 | |
|     topic: DELETE_CACHE_FRIEND
 | |
|     slotNum: 100
 | |
|     slotSize: 2000
 | |
|     successExpire: 300
 | |
|     failedExpire: 5
 | |
| 
 | |
|   conversation:
 | |
|     topic: DELETE_CACHE_CONVERSATION
 | |
|     slotNum: 100
 | |
|     slotSize: 2000
 | |
|     successExpire: 300
 | |
|     failedExpire: 5
 |