Go RPC相关及基础信息

Go 的RPC 相关的基础信息 1. 环境配置(MacOS) 1.1 protoc 安装 # 1. brew 安装 brew search protobuf brew install protobuf # 可以指定版本protobuf@21 # 验证是否安装成功 protoc --version # 2. 源码安装 https://github.com/protocolbuffers/protobuf/releases #下载对应的版本,放入GOPATH中的bin目录下 1.2 protoc-gen-go 安装 go install google.golang.org/protobuf/cmd/protoc-gen-go@latest # 安装过程中会出现无法下载,需要自行“走强” # 验证 protoc-gen-go help # protoc-gen-go: unknown argument "help" (this program should be run by protoc, not directly) # ps:我觉得只要识别到,就应该安装成功了 1.3 protoc-gen-go-grpc 安装 go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest # 同 protoc-gen-go # 验证 protoc-gen-go-grpc -version # protoc-gen-go-grpc 1....

September 15, 2023

TodoList

TODO未整理 golang的gc,gmp模型,context作用,channel原理,并发打印数字,slice和map原理 kafka的重平衡,高水位,顺序消费,怎么保证消息不丢失 rocketmq怎么实现事物消息 redis数据结构,zset原理,介绍cluster已经怎么保证高可用,哨兵模式介绍 mysql聚簇索引,索引优化,结合业务怎么分库分表,为啥一个表超过1000w性能会变差 压测,限流 降怎么保证服务高可用,限流熔断降级压测都要提下 监控报警这些 限流有哪些算法,以及却别要知道下 熔断策略是啥 限流:窗口计数,滑动窗口,漏桶,令牌桶 webrtc是什么技术 webrtc与不同的socket通信有什么区别 webrtc如何实现连麦、直播的 计算方式 名称 计算方式 redis http://www.redis.cn/redis_memory/ mysql select table_schema as ‘数据库’,sum(table_rows) as ‘记录数’,sum(truncate(data_length/1024/1024, 2)) as ‘数据容量(MB)’,sum(truncate(index_length/1024/1024, 2)) as ‘索引容量(MB)’from information_schema.tableswhere table_schema=‘mysql’;参考地址: https://blog.csdn.net/fdipzone/article/details/80144166

April 13, 2023

基础知识

数组与切片 范型 String.Builder

February 1, 2023

设计模式

1. 单一职责 类的职责单一,对外只提供一个功能,而引起类变化的原因都应该只有一个。 2. 开闭 类的改动是通过增加代码进行的,而不是修改源代码。 3. 里氏代换原则 任何抽象类出现的地方都可以用他的实现类替换,实际就是虚拟机制,语言级别实现面向对象功能。 4. 依赖倒转原则 依赖于抽象接口,不要依赖具体的实现类,也就是针对接口编程。

February 1, 2023

gitbook在docker内进行安装编译

Gitbook与Docker 最近在学习k8s容器相关,了解了docker的优势,而本身对于特别在意环境的干净,之前的Gitbook不想安装原因,是因为要安装node等信息。借此机会尝试下使用docker进行安装。 1. Docker安装 这个比较简单,直接官网下载安装,无异常 2. docker-compose 编写 # 在对应的目录下创建compose的yaml文件,我放在`Workspaces/Docker/GitBook`下 services: gitbook: image: bloodstar/gitbook-builder ports: - "4000:4000" volumes: - ./gitbook:/gitbook command: gitbook build 由于我只是使用gitbook的build,不需要serve,所以端口无所谓 3.command命令修改 3.1 初始化 修改command命令为gitbook init 3.2 插件安装 修改command命令为gitbook install,这中间会存在异常,主要是网络连接github会有一定问题 3.3 编译 修改command命令为gitbook build 4. 异常处理 4.1 初始化失败 直接建README.md SUMMARY.md 两个文件后 4.2 插件安装失败 需要特殊渠道,让服务可以可以访问 5. 部署 使用nginx做代理,直接root指向Workspaces/Docker/GitBook/gitbook/_book目录 到对应的目录夹下,运行命令docker-compose up -d

November 6, 2022