
架构杂项
文章平均质量分 78
玩家_名狱
不积跬步,无以至千里
展开
-
protoc生成gRPC代码和HTTP网关代码
为什么需要网关层,因为grpc调用是用于程序内部的远程调用协议,但是我们测试接口的时候通常使用http协议,http协议是应用层的协议,和grpc不相通,因此我们希望有一层可以帮我们转换,把我们调用的http协议数据转下格式,然后发给grpc服务接口,这就是这个网关做的事情。原创 2022-10-10 01:31:20 · 2186 阅读 · 1 评论 -
本地搭建gitlab服务器(Ubuntu)
1、下载ce包2、安装3、配置Gitlab4、配置Ubuntu网络5、配置Windows网络6、启动Gitlab7、登陆。原创 2022-08-12 00:29:21 · 5189 阅读 · 0 评论 -
Git工作中常用操作记录
1、查看当前的仓库状态git status2、查看所有分支git branch3、创建分支并关联到远程仓库,然后切换到该分支(注意:该分支必须在远程仓库已经存在)git checkout -b 新分支名 origin/新分支名4、切换分支git checkout 分支名5、删除分支git branch -D 分支名6、在当前分支下拉取远程仓库最新代码git pull7、忽略某些文件的更改(不能影响新建和删除文件操作,只影响修改操作)忽略正在修改的一个文件git c原创 2021-12-03 15:20:10 · 326 阅读 · 2 评论 -
nginx配置支持https访问
在哪个环境下安装nginx,就要在哪里生成证书,比如在阿里云主机上安装nginx就在阿里云主机上生成证书,如果是在docker中安装nginx就在docker中生成证书。如果使用docker安装,记得生成容器时映射一个443端口root@iZbp18qtvejt7jqx8ghcanZ:~# docker run --name nginx -d -p 8080:80 -p 443:443 nginx使用openssl生成,默认已安装。1、使用常用的RSA算法生成秘钥文件openssl genrs原创 2021-10-25 14:19:12 · 1299 阅读 · 0 评论 -
Golang操作Rabbitmq
简介Rabbitmq就是一个消息的中间人,负责接受消息、转发消息和存储消息,并不参与消息的处理和计算。没有固定哪一方是生产者,哪一方是消费者,谁发送消息给Rabbitmq谁就是生产者,谁接收Rabbitmq发送的消息谁就是消费者。Rabbitmq这个词是描述整个软件,而缓存消息的是这个软件内部的队列(或者说缓冲器,先进先出结构),内部可以后很多条队列,由于不参与计算,所以队列的性能只受内存和磁盘的约束。一个生产者可以对应一个或者多个队列,一个队列可以对应一个或者多个消费者,并且传输过程中又很多处理方法原创 2021-06-19 16:32:39 · 2034 阅读 · 0 评论 -
vscode中使用Git,结合Github
一、git查看和修改所有配置git config [<options>]常用几个命令:查看系统配置 git config --system -l查看用户的全局配置 git config --global -l/--list添加用户的某个全局配置 git config --global --add user.email 2915713554@qq.com删除用户的某个全局配置 git config --global --unset user.email要想使用g原创 2021-06-12 00:20:19 · 1114 阅读 · 2 评论 -
Golang操作MySQL数据库
文章目录事先准备插入数据查询数据更新操作删除数据事务操作事先准备go下载两个东西:MySQL驱动工具go get github.com/go-sql-driver/mysql 对mysql驱动的封装,方便我们使用API操作go get github.com/jmoiron/sqlx创建数据库和表# 新建名为gomysql的数据库create database gomysql;# 使用这个数据库use gomysql;# 创建一张名为person的表CREATE TABL原创 2021-05-31 01:35:45 · 391 阅读 · 0 评论 -
Golang操作Redis
安装第三方库go get -u github.com/garyburd/redigo/redis连接操作package mainimport ( "fmt" "github.com/garyburd/redigo/redis")func main() { redisObj, err := redis.Dial("tcp", "127.0.0.1:6379") if err != nil { fmt.Println("连接失败", err) return } defer原创 2021-05-30 23:29:06 · 762 阅读 · 0 评论 -
Redis进阶学习总结(Docker搭建环境)
文章目录一、主从复制环境搭建(一带N结构)二、哨兵模式环境搭建(一个哨兵)三、缓存穿透、缓存击穿、缓存雪崩1、缓存穿透概念解决方案2、缓存击穿概念解决方案3、缓存雪崩概念解决方案一、主从复制一个主服务器master,多个从服务器slave。主要作用:数据冗余、故障恢复、负载均衡、高可用集群。主机可以写,但从节点不能写只能读,主机中的信息都会被从节点保存,主节点宕机了从节点数据还保留着,且从节点的身份不变,等主节点恢复后从节点还能继续连接查看主从复制的基本信息127.0.0.1:6379>原创 2021-05-30 18:01:15 · 450 阅读 · 1 评论 -
Redis学习总结(Docker搭建环境)
中文版命令学习地址(有些参数没细讲):http://www.redis.cn/commands.html英文版命令学习地址:https://redis.io/commands文章目录一、安装二、启动、关闭1.启动2.查看是否启动成功3.基本使用4、登陆密码5、配置命令6.关闭redis服务三、redis-benchmark工具四、Redis的基本概念1.切换数据库2.查看数据库容量3.删除当前所选数据库的所有键五、5种基本数据类型一)辅助命令1、判断某个键是否存在2、移动键到其他数据库3、设置键的过期时原创 2021-05-30 17:56:30 · 3160 阅读 · 0 评论 -
RPC是什么?Go语言使用它
RPC是远程过程调用协议的缩写,简单说就是他可以在本地网络下,调用远方的一个进程中的方法。比如我在广州自己的电脑上运行自己写的一个程序,该程序使用了RPC协议,然后就可以调用远在北京的一个程序,该程序当然也使用了RPC协议。这样的话就可以屏蔽了语言的差异,比如本地可以用C或Python语言写,远端可以使用JAVA或GO语言写。他们之间使用的是网络通信,为了保证数据传输的稳定性和安全性,使用TCP进行连接,所以RPC算是位于传输层和应用层之间。我们进行网络编程一般使用Socket编程,相比TCP编程,So原创 2021-03-10 00:19:09 · 252 阅读 · 0 评论 -
Docker学习总结
在bilibili观看kuangshen讲解Docker做的笔记安装更新下载源$ apt update安装软件包以允许apt通过HTTPS使用存储库$ apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common添加Docker的官方GPG密钥$ curl -fsSL https://download.docker.原创 2021-02-24 00:02:40 · 1424 阅读 · 0 评论 -
Nginx配置学习总结
在b站学习nginx时做的笔记,没有实践,可能有误(^ … ^)在Ubuntu中安装Nginx:apt install nginx结构示例,在宝塔中默认的Nginx配置文件location后面有个~符号代表使用正则表达式,后面就开始接正则表达式进行匹配请求配置反向代理公网服务器有公网地址18.18.18.18:80,也有私网地址192.168.1.1,与公网服务器处在同一个内网下的主机192.168.1.2:8080存放教育网页面,主机192.168.1.3:8080存放淘宝网页面。客户端.原创 2021-01-20 20:30:46 · 318 阅读 · 0 评论