浏览代码

wip:grpc 传输字符大小调整

wangshan 1 年之前
父节点
当前提交
674e8bf1f7
共有 5 个文件被更改,包括 40 次插入8 次删除
  1. 14 1
      .gitignore
  2. 8 6
      rpc/etc/filesystem.yaml
  3. 3 1
      rpc/filesystem.go
  4. 1 0
      rpc/internal/config/config.go
  5. 14 0
      rpc/internal/logic/savefilelogic.go

+ 14 - 1
.gitignore

@@ -2,4 +2,17 @@
 .idea
 /rpc/jyfs_rpc
 /api/jyfs_api
-
+pkg
+bin
+.DS_Store
+.project
+extend
+*/pkg
+*/bin
+*.exe
+*.log
+*.bin
+*/src/src
+*.data
+.idea/*
+.gitignore

+ 8 - 6
rpc/etc/filesystem.yaml

@@ -1,18 +1,20 @@
 Name: filesystem.rpc
-ListenOn: 192.168.20.36:8080
+ListenOn: 127.0.0.1:8086
+Timeout: 20000
 #阿里云OSS配置
 OssEndPoint: "oss-cn-beijing.aliyuncs.com"
-OssAccessKeyId: "LTAI4G4HRNnS7qeHwMRkzJ9k"
-OssAccessKeySecret: "rlUFOkaK4fAfLWxvKBORSwWhf75bQx"
+OssAccessKeyId: "LTAI4Fzf9BwiAxVm4NKnYai2"
+OssAccessKeySecret: "qf4Ic6OItmQXoGyUgvIlQ2BojjrpaV"
 #etcd配置
 Etcd:
     Hosts:
-      - 192.168.3.240:2379
+      - 127.0.0.1:2379
     Key: moapp.filesystem.rpc
 FileSystemConf:
   Etcd:
     Hosts:
-      - 192.168.3.240:2379
+      - 127.0.0.1:2379
     Key: moapp.filesystem.rpc
 #redis
-RedisAddress: "jyfs=192.168.3.128:5002"
+RedisAddress: "jyfs=192.168.3.149:1712"
+FileSize: 41943040

+ 3 - 1
rpc/filesystem.go

@@ -24,10 +24,12 @@ func main() {
 	conf.MustLoad(*configFile, &c)
 	ctx := svc.NewServiceContext(c)
 	srv := server.NewFileSystemServer(ctx)
-
+	size := c.FileSize
 	s := zrpc.MustNewServer(c.RpcServerConf, func(grpcServer *grpc.Server) {
 		filesystem.RegisterFileSystemServer(grpcServer, srv)
 	})
+	s.AddOptions(grpc.MaxRecvMsgSize(size))
+	s.AddOptions(grpc.MaxSendMsgSize(size))
 	defer s.Stop()
 
 	fmt.Printf("Starting rpc server at %s...\n", c.ListenOn)

+ 1 - 0
rpc/internal/config/config.go

@@ -9,4 +9,5 @@ type Config struct {
 	OssAccessKeySecret string
 	FileSystemConf     zrpc.RpcClientConf
 	RedisAddress       string
+	FileSize           int
 }

+ 14 - 0
rpc/internal/logic/savefilelogic.go

@@ -1,8 +1,10 @@
 package logic
 
 import (
+	"compress/gzip"
 	"context"
 	"errors"
+	"io/ioutil"
 	"strings"
 
 	"bytes"
@@ -45,6 +47,9 @@ func (l *SaveFileLogic) SaveFile(in *filesystem.SaveFileReq) (*filesystem.FileOp
 			}
 		}
 	}
+	if len(in.RawFileContent) > 0 {
+		in.RawFileContent, _ = decompress(in.RawFileContent)
+	}
 	// 设置文件元信息:过期时间为2049年1月10日 23:00:00 GMT,访问权限为公共读,自定义元信息为MyProp(取值MyPropVal)。
 	// expires := time.Date(2049, time.January, 10, 23, 0, 0, 0, time.UTC)
 	options := []oss.Option{
@@ -62,3 +67,12 @@ func (l *SaveFileLogic) SaveFile(in *filesystem.SaveFileReq) (*filesystem.FileOp
 	}
 	return &filesystem.FileOpResp{State: true, FileId: in.FileId}, nil
 }
+
+func decompress(data []byte) ([]byte, error) {
+	r, err := gzip.NewReader(bytes.NewBuffer(data))
+	if err != nil {
+		return nil, err
+	}
+	defer r.Close()
+	return ioutil.ReadAll(r)
+}