接扩展显示器的时候,Dock栏会在不同显示器之间切换展现,忍受这个问题很久了,今天花了一点时间找解决方案,最终还是无解,但是找到了另一种方式。
[阅读全文]CentOS7安装MySQL8的大坑
按官方文档,安装好MySQL后,配置好/etc/my.conf文件,但是启动失败,查日志发现报错:
|
|
是因为datadir文件夹没有写权限
[阅读全文]k8s使用NFS存储卷
缘由:
go-zero gateway主要内容开发接近完成了,有一个问题一直没有解决,马上要部署了,是时候解决了。
因为主要是RESTful <–> gRPC,go-zero通过解析pb文件访问后端gRPC服务,pb文件则是通过proto文件生成,proto文件是定义接口的,接口变化会导致pb文件的变化和更新,但是通常gateway模块的功能开发相对稳定和单一,完成后很少会有修改。不希望因为pb文件的变化而导致gateway重新构建、版本发布,pb文件则是更像配置文件存在。
[阅读全文]go-zero采坑记 - 使用k8s服务发现
前言
研发框架搭建得差不多了,最近在本地和生产测试环境一致性。go-zero官方以介绍使用etcd做为服务发现首选,可能更多人并没有选择部署在k8s上吧。为了快速进入开发,我也选择了etcd,过程还算顺利。
[阅读全文]Golang私有仓库依赖解决方案
缘由:
以往Java日常开发中,模块依赖问题有成熟解决方案:
- 开发阶段,被依赖模块做为单独项目开发完成,导出jar包就可以被其他项目依赖;或者上传到Sonatype Nexus Repository共享,其他人/项目通过Maven解决依赖问题。
- 运行阶段,因为Java编译成中间代码,被依赖的包放在classpath中在需要时被加载运行。
与Golang开发的主要区别是Golang直接编译成二进制文件,而且是一个独立完整的可运行文件,其中包含了完整的依赖。
在开发阶段,Golang的依赖通常都是通过类似github之类仓库解决,这种方式有一个问题:企业开发过程中,可能会有一些被依赖的模块并不一定希望仓库是公开的,更适合的做法是保存在企业内部的Git服务器上;但是在开发阶段的依赖关系,在import
和go mod
中写企业内部仓库地址显然行不通。
MySQL8创建用户和授权
按之前版本MySQL创建用户和授权
|
|
在正常登录后报1142
错误,经查解决方案如下:
MySQL8配置
2017年有篇文章写过关于MySQL中文排序的问题,最早这个问题在2007年MySQL 5.5的时候就有发现,今天研究了一下MySQL 8,找到一个熟悉的字眼collation
、utf8mb4_zh_*
,翻了一下官方文档,终于这个问题得以完美解决了。修改配置文件,重启MySQL后,数据库、表默认字符集和排序都正常。整理配置如下:
GitLab CICD自动更新k8s中容器版本
前提
之前使用Gitlab和Runner的版本是12.*,现在已经到了16.*,安装和配置跟之前相比几乎没有变化,所以按之前的文档操作下来,一路比较顺利。在更新k8s集群容器版本的时候出现问题了,原来Auto Deploy方式在14.*版本被弃用,较新的方案是安装k8s代理,方案有2种:
[阅读全文]go-zero
安装
参考官方文档
安装golang
略
配置GO111MODULE和GOPROXY
|
|
安装go-ctl
goctl是go-zero的内置脚手架,提升开发效率的利器,可以一键生成代码、文档、部署k8s yaml、dockerfile等。
[阅读全文]k8s ingress全局添加gzip
阿里云官方推荐,SLB做4层负载,只做流量转发。所以SSL和gzip都只能放在ingress中配置了。 SSL之前已经配置好了,今天测试一下gzip。
[阅读全文]