mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-11-05 03:42:08 +08:00
refactor: all module update.
This commit is contained in:
parent
92efb51206
commit
49c699edea
@ -74,6 +74,7 @@ func Start(ctx context.Context, config *Config, client discovery.SvcDiscoveryReg
|
|||||||
groupRpcClient := rpcclient.NewGroupRpcClient(client, config.Share.RpcRegisterName.Group)
|
groupRpcClient := rpcclient.NewGroupRpcClient(client, config.Share.RpcRegisterName.Group)
|
||||||
msgRpcClient := rpcclient.NewMessageRpcClient(client, config.Share.RpcRegisterName.Msg)
|
msgRpcClient := rpcclient.NewMessageRpcClient(client, config.Share.RpcRegisterName.Msg)
|
||||||
userRpcClient := rpcclient.NewUserRpcClient(client, config.Share.RpcRegisterName.User, &config.Share.IMAdmin)
|
userRpcClient := rpcclient.NewUserRpcClient(client, config.Share.RpcRegisterName.User, &config.Share.IMAdmin)
|
||||||
|
cache.InitLocalCache(&config.LocalCacheConfig)
|
||||||
pbconversation.RegisterConversationServer(server, &conversationServer{
|
pbconversation.RegisterConversationServer(server, &conversationServer{
|
||||||
msgRpcClient: &msgRpcClient,
|
msgRpcClient: &msgRpcClient,
|
||||||
user: &userRpcClient,
|
user: &userRpcClient,
|
||||||
|
|||||||
@ -94,6 +94,7 @@ func Start(ctx context.Context, config *Config, client discovery.SvcDiscoveryReg
|
|||||||
&msgRpcClient,
|
&msgRpcClient,
|
||||||
notification.WithRpcFunc(userRpcClient.GetUsersInfo),
|
notification.WithRpcFunc(userRpcClient.GetUsersInfo),
|
||||||
)
|
)
|
||||||
|
cache.InitLocalCache(&config.LocalCacheConfig)
|
||||||
|
|
||||||
// Register Friend server with refactored MongoDB and Redis integrations
|
// Register Friend server with refactored MongoDB and Redis integrations
|
||||||
pbfriend.RegisterFriendServer(server, &friendServer{
|
pbfriend.RegisterFriendServer(server, &friendServer{
|
||||||
|
|||||||
@ -18,6 +18,7 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/common/config"
|
"github.com/openimsdk/open-im-server/v3/pkg/common/config"
|
||||||
|
"github.com/openimsdk/open-im-server/v3/pkg/common/db/cache"
|
||||||
"math/big"
|
"math/big"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
"strconv"
|
"strconv"
|
||||||
@ -70,8 +71,6 @@ type Config struct {
|
|||||||
Share config.Share
|
Share config.Share
|
||||||
WebhooksConfig config.Webhooks
|
WebhooksConfig config.Webhooks
|
||||||
LocalCacheConfig config.LocalCache
|
LocalCacheConfig config.LocalCache
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func Start(ctx context.Context, config *Config, client discovery.SvcDiscoveryRegistry, server *grpc.Server) error {
|
func Start(ctx context.Context, config *Config, client discovery.SvcDiscoveryRegistry, server *grpc.Server) error {
|
||||||
@ -99,7 +98,7 @@ func Start(ctx context.Context, config *Config, client discovery.SvcDiscoveryReg
|
|||||||
msgRpcClient := rpcclient.NewMessageRpcClient(client, config.Share.RpcRegisterName.Msg)
|
msgRpcClient := rpcclient.NewMessageRpcClient(client, config.Share.RpcRegisterName.Msg)
|
||||||
conversationRpcClient := rpcclient.NewConversationRpcClient(client, config.Share.RpcRegisterName.Conversation)
|
conversationRpcClient := rpcclient.NewConversationRpcClient(client, config.Share.RpcRegisterName.Conversation)
|
||||||
var gs groupServer
|
var gs groupServer
|
||||||
database := controller.NewGroupDatabase(rdb,&config.LocalCacheConfig groupDB, groupMemberDB, groupRequestDB, mgocli.GetTx(), grouphash.NewGroupHashFromGroupServer(&gs))
|
database := controller.NewGroupDatabase(rdb, &config.LocalCacheConfig, groupDB, groupMemberDB, groupRequestDB, mgocli.GetTx(), grouphash.NewGroupHashFromGroupServer(&gs))
|
||||||
gs.db = database
|
gs.db = database
|
||||||
gs.user = userRpcClient
|
gs.user = userRpcClient
|
||||||
gs.notification = notification.NewGroupNotificationSender(database, &msgRpcClient, &userRpcClient, config, func(ctx context.Context, userIDs []string) ([]notification.CommonUser, error) {
|
gs.notification = notification.NewGroupNotificationSender(database, &msgRpcClient, &userRpcClient, config, func(ctx context.Context, userIDs []string) ([]notification.CommonUser, error) {
|
||||||
@ -109,6 +108,7 @@ func Start(ctx context.Context, config *Config, client discovery.SvcDiscoveryReg
|
|||||||
}
|
}
|
||||||
return datautil.Slice(users, func(e *sdkws.UserInfo) notification.CommonUser { return e }), nil
|
return datautil.Slice(users, func(e *sdkws.UserInfo) notification.CommonUser { return e }), nil
|
||||||
})
|
})
|
||||||
|
cache.InitLocalCache(&config.LocalCacheConfig)
|
||||||
gs.conversationRpcClient = conversationRpcClient
|
gs.conversationRpcClient = conversationRpcClient
|
||||||
gs.msgRpcClient = msgRpcClient
|
gs.msgRpcClient = msgRpcClient
|
||||||
gs.config = config
|
gs.config = config
|
||||||
|
|||||||
@ -53,6 +53,7 @@ type Config struct {
|
|||||||
NotificationConfig config.Notification
|
NotificationConfig config.Notification
|
||||||
Share config.Share
|
Share config.Share
|
||||||
MinioConfig config.Minio
|
MinioConfig config.Minio
|
||||||
|
LocalCacheConfig config.LocalCache
|
||||||
}
|
}
|
||||||
|
|
||||||
func Start(ctx context.Context, config *Config, client discovery.SvcDiscoveryRegistry, server *grpc.Server) error {
|
func Start(ctx context.Context, config *Config, client discovery.SvcDiscoveryRegistry, server *grpc.Server) error {
|
||||||
@ -100,6 +101,7 @@ func Start(ctx context.Context, config *Config, client discovery.SvcDiscoveryReg
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
cache.InitLocalCache(&config.LocalCacheConfig)
|
||||||
third.RegisterThirdServer(server, &thirdServer{
|
third.RegisterThirdServer(server, &thirdServer{
|
||||||
apiURL: apiURL,
|
apiURL: apiURL,
|
||||||
thirdDatabase: controller.NewThirdDatabase(cache.NewThirdCache(rdb), logdb),
|
thirdDatabase: controller.NewThirdDatabase(cache.NewThirdCache(rdb), logdb),
|
||||||
|
|||||||
@ -86,12 +86,13 @@ func Start(ctx context.Context, config *Config, client registry.SvcDiscoveryRegi
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
cache := cache.NewUserCacheRedis(rdb, &config.LocalCacheConfig, userDB, cache.GetDefaultOpt())
|
userCache := cache.NewUserCacheRedis(rdb, &config.LocalCacheConfig, userDB, cache.GetDefaultOpt())
|
||||||
userMongoDB := mgo.NewUserMongoDriver(mgocli.GetDB())
|
userMongoDB := mgo.NewUserMongoDriver(mgocli.GetDB())
|
||||||
database := controller.NewUserDatabase(userDB, cache, mgocli.GetTx(), userMongoDB)
|
database := controller.NewUserDatabase(userDB, userCache, mgocli.GetTx(), userMongoDB)
|
||||||
friendRpcClient := rpcclient.NewFriendRpcClient(client, config.Share.RpcRegisterName.Friend)
|
friendRpcClient := rpcclient.NewFriendRpcClient(client, config.Share.RpcRegisterName.Friend)
|
||||||
groupRpcClient := rpcclient.NewGroupRpcClient(client, config.Share.RpcRegisterName.Group)
|
groupRpcClient := rpcclient.NewGroupRpcClient(client, config.Share.RpcRegisterName.Group)
|
||||||
msgRpcClient := rpcclient.NewMessageRpcClient(client, config.Share.RpcRegisterName.Msg)
|
msgRpcClient := rpcclient.NewMessageRpcClient(client, config.Share.RpcRegisterName.Msg)
|
||||||
|
cache.InitLocalCache(&config.LocalCacheConfig)
|
||||||
u := &userServer{
|
u := &userServer{
|
||||||
db: database,
|
db: database,
|
||||||
RegisterCenter: client,
|
RegisterCenter: client,
|
||||||
|
|||||||
@ -41,6 +41,7 @@ func NewThirdRpcCmd() *ThirdRpcCmd {
|
|||||||
ShareFileName: &thirdConfig.Share,
|
ShareFileName: &thirdConfig.Share,
|
||||||
NotificationFileName: &thirdConfig.NotificationConfig,
|
NotificationFileName: &thirdConfig.NotificationConfig,
|
||||||
MinioConfigFileName: &thirdConfig.MinioConfig,
|
MinioConfigFileName: &thirdConfig.MinioConfig,
|
||||||
|
LocalCacheConfigFileName: &thirdConfig.LocalCacheConfig,
|
||||||
}
|
}
|
||||||
ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap))
|
ret.RootCmd = NewRootCmd(program.GetProcessName(), WithConfigMap(ret.configMap))
|
||||||
ret.ctx = context.WithValue(context.Background(), "version", config.Version)
|
ret.ctx = context.WithValue(context.Background(), "version", config.Version)
|
||||||
|
|||||||
21
pkg/common/db/cache/config.go
vendored
21
pkg/common/db/cache/config.go
vendored
@ -27,29 +27,26 @@ var (
|
|||||||
subscribe map[string][]string
|
subscribe map[string][]string
|
||||||
)
|
)
|
||||||
|
|
||||||
func getPublishKey(topic string, key []string) []string {
|
func InitLocalCache(localCache *config.LocalCache) {
|
||||||
if topic == "" || len(key) == 0 {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
once.Do(func() {
|
once.Do(func() {
|
||||||
list := []struct {
|
list := []struct {
|
||||||
Local config.LocalCache
|
Local config.CacheConfig
|
||||||
Keys []string
|
Keys []string
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
Local: config.Config.LocalCache.User,
|
Local: localCache.User,
|
||||||
Keys: []string{cachekey.UserInfoKey, cachekey.UserGlobalRecvMsgOptKey},
|
Keys: []string{cachekey.UserInfoKey, cachekey.UserGlobalRecvMsgOptKey},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Local: config.Config.LocalCache.Group,
|
Local: localCache.Group,
|
||||||
Keys: []string{cachekey.GroupMemberIDsKey, cachekey.GroupInfoKey, cachekey.GroupMemberInfoKey},
|
Keys: []string{cachekey.GroupMemberIDsKey, cachekey.GroupInfoKey, cachekey.GroupMemberInfoKey},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Local: config.Config.LocalCache.Friend,
|
Local: localCache.Friend,
|
||||||
Keys: []string{cachekey.FriendIDsKey, cachekey.BlackIDsKey},
|
Keys: []string{cachekey.FriendIDsKey, cachekey.BlackIDsKey},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Local: config.Config.LocalCache.Conversation,
|
Local: localCache.Conversation,
|
||||||
Keys: []string{cachekey.ConversationKey, cachekey.ConversationIDsKey, cachekey.ConversationNotReceiveMessageUserIDsKey},
|
Keys: []string{cachekey.ConversationKey, cachekey.ConversationIDsKey, cachekey.ConversationNotReceiveMessageUserIDsKey},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@ -60,6 +57,12 @@ func getPublishKey(topic string, key []string) []string {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
func getPublishKey(topic string, key []string) []string {
|
||||||
|
if topic == "" || len(key) == 0 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
prefix, ok := subscribe[topic]
|
prefix, ok := subscribe[topic]
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil
|
return nil
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user