nginx反向代理http/https、rpc/grpc、ws/wss

通常在一个集群会有一个统一的API入口,一般都是使用nginx来做统一的入口代理,然后到后端再转发到对应的服务API上。今天就整合之前的一些代理的配置,方便后续使用。1.nginx代理http/https请求http {    server {        listen 80;       # 监听端口 ...

阅读全文

RDMA网卡协议配置以及网络性能测试方法

上次笔记我们介绍过迈络思品牌的RDMA网卡驱动的安装,这里我们来就学习并记录下RDMA网卡的配置,之前的笔记我们可以查看:https://sulao.cn/post/977.html之前是到重启openibd服务来加载新的驱动程序,这样就可以加载需要的mod到内核中,注意我们需要设置开机启动/etc/init.d/openibd restartUnloading HCA driver: [ OK ] Loading HCA driver and&nbs...

阅读全文

nginx四层负载均衡配置解析以及卡顿问题的处理

通常我们在使用nginx做代理时,不使用http协议的场景下,我们需要使用四层的负载均衡,例如在mysql和k8s场景在都是使用4层负载均衡来做代理,通常在大并发的场景下也会在七层负载前面增加四层的负载均衡然而在nginx四层负载均衡的配置上和七层是稍有一些差别,例如在代理配置中不能在添加http协议,日志中的字段也和七层有一些区别,七层上的有些字段不能直接套用在四层上我们接下来看下四层的配置实例,首先还是从安装开始,要使用stream模块需要安装nginx-mod-stream模块yum install nginx ngi...

阅读全文

frp实现内网穿透

家里台式机搭建了一个K8S集群,我的需求是把家里的台式机映射到公网,使用公网IP就能访问家里的台式机,这样可以随时访问家里部署的K8S集群。我们需要准备两台机器,一台是家里的台式机,另一台则是云服务器,云服务器作为服务端来转发请求到家里的台式机。首先我们进入项目地址:https://github.com/fatedier/frp,然后点击该页面右侧的Releases,这里发布的就是最新的版本,目前是v0.44.0版本我们登录公有云的机器,下载frpwget https://github.com/fatedier/frp/releases/dow...

阅读全文

keepalive各种模式解析和相关配置

之前我们学习过keepalive的部署,这次我们来学习下keepalive各种运行模式keepalive目前有两种运行模式1.抢占模式抢占模式下其实还可以分组主主模式和主备模式主备模式:当master宕机或者网络等各种因素不能工作时会自动切换到备机,这时备机通过VIP接管主机的全部服务,同时如果master恢复服务,VIP就会再次漂回至master主主模式:主主模式这时候所有的机器state都配置为MASTER,这时候所有keepalive节点都会进行VIP的抢占,这时候是通过priority这个优先级的参数决定的2.非抢占模式非抢占模式下当一台节点网络...

阅读全文

ImportError: libGL.so.1问题的解决方法

今天有遇到libGL.so无法找到这个共享库的问题,具体报错如下from .cv2 import *ImportError: libGL.so.1: cannot open shared object file: No such file or directory看到这个cvs模块首先第一个想到应该是要安装opencv-python模块,于是尝试安装pip install opencv-pyt...

阅读全文

kvm管理配置常用命令

k8s的安装可以查看我之前的笔记ubuntu安装kvmcentos6安装kvmkVM存储1.资源池的管理kvm默认存储位置是/var/lib/libvirt/images/我们同时也可以创建自定义资源池创建存储资源存储目录mkdir -p /data/vmdisk然后定义存储池virsh pool-define-as vmdisk --type dir --target /data/vmdisk查看和创建已定义存储池virsh pool-list --al...

阅读全文

kvm使用console命令登录虚拟机卡住的解决方法

kvmLinux虚拟机不仅可以通过VNC来登录操作,也可以通过virshconsole控制台来登录网上查了些资料都不太行,最后测试出来了,我的虚拟机是ubuntu18.04,宿主机是ubuntu20.04首先检查/etc/securetty文件是否有ttyS0cat /etc/securetty | grep ttyS0#没有则加上echo ttyS0 >> /etc/securetty然后修改/etc/default/grub.conf文件vi /e...

阅读全文

动态库和静态库的区别

静态库和动态库最本质的区别就是:该库是否被编译进目标(程序)内部。静态(函数)库一般扩展名为(.a或.lib),这类的函数库通常扩展名为libxxx.a或xxx.lib。这类库在编译的时候会直接整合到目标程序中,所以利用静态函数库编译成的文件会比较大,这类函数库最大的优点就是编译成功的可执行文件可以独立运行,而不再需要向外部要求读取函数库的内容;但是从升级难易度来看明显没有优势,如果函数库更新,需要重新编译。动态函数库动态函数库的扩展名一般为(.so或.dll),这类函数库通常名为libxxx.so或xxx.dll。与静态函数库被整个捕捉到程序中不同...

阅读全文

常见微服务注册中心对比

服务注册中心本质上是为了解耦服务提供者和服务消费者。对于任何一个微服务,原则上都应存在或者支持多个提供者,这是由微服务的分布式属性决定的。更进一步,为了支持弹性扩缩容特性,一个微服务的提供者的数量和分布往往是动态变化的,也是无法预先确定的。因此,原本在单体应用阶段常用的静态LB机制就不再适用了,需要引入额外的组件来管理微服务提供者的注册与发现,而这个组件就是服务注册中心。CAP理论是分布式架构中重要理论    一致性(Consistency) (所有节点在同一时间具有相同的数据)  ...

阅读全文