自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(156)
  • 收藏
  • 关注

原创 golang promethus consul 服务发现

golang promethus consul 服务发现

2022-08-30 16:25:39 595 1

转载 MacOS 查找JAVA_HOME

本文转自https://www.jianshu.com/p/8dc2420b775a,尊重原创查看java指令所在的目录:which java输出结果:/usr/bin/java显示java指令文件的属性:ls -l /usr/bin/java3. 进入实际指令所在的文件夹:cd /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands这个文件夹并不是JAVA_HOME目录, 在这个目录下面

2021-09-08 17:07:02 457

原创 Consul 基本命令以及集群创建

修改默认端口:方法一:使用-http-port命令行参数,例如修改成8080端口:consul agent -dev -http-port 8080方法二:使用-config-dir命令行参数,指定配置文件就是指定加载置文件的目录,该目录下所有的以.json结尾配置文件加载进去,它的加载顺序是根据26个字母的顺序加进行加载配置文件的。目录必需为consul.d,文件内容都是json格式的数据。默认后面文件定义配置会覆盖前面文件定义的配置。例如/etc/consul.d目录下合建 base-.

2021-08-27 14:25:41 753

原创 Golang consul 服务注册与发现

下载运行consul:consul下载地址:https://www.consul.io/downloads命令行运行:consul.exe agent -dev服务注册:package mainimport ( "fmt" "github.com/go-basic/uuid" consulapi "github.com/hashicorp/consul/api" "net/http")const ( consulAddress = "127.0.0.1:8500" loca

2021-08-10 23:35:24 809

原创 Go-Micro undefined: balancer.PickOptions

# go.etcd.io/etcd/clientv3/balancer/picker /home/user/go/src/go.etcd.io/etcd/clientv3/balancer/picker/err.go:37:44: undefined: balancer.PickOptions

2021-08-10 17:50:21 597

原创 Golang GRPC简单使用

什么是gRPC?rpc框架一般基于tcp或者http协议实现。基于http的rpc框架有许多优点,HTTP/1.x协议简单明了,是目前最流行的应用层协议,有着非常成熟且完善的各种基础设施,如负载均衡、监控、代理等,适用性广泛,各个设备系统均有实现。但是缺点也很明显,就是HTTP/1.x采用的是文本协议,解析速度慢,带宽占用高。而且request/response的通信方法导致整体效率不高。gRPC基于HTTP2协议,HTTP2 使得grpc 能够更好的适用于移动客户端和服务端通信的使用场景,并且连接多路.

2021-08-10 00:25:53 482

转载 负载均衡策略之轮询策略

本文转自:https://mozillazg.com/2019/02/load-balancing-strategy-algorithm-weighted-round-robin.html#hidround-robin,尊重原创前言:本文简单介绍一下轮询(Round Robin)这个负载均衡策略。轮询选择 (Round Robin):轮询选择指的是从已有的后端节点列表中按顺序依次选择一个节点出来提供服务。一种轮询选择的方法是把所有的节点看做一个一个的点,并把这些点连起来组成一个圆, 轮询选择就是在

2021-08-09 13:52:38 2149

转载 从原子结构--PN结原理--光伏发电

本文转自:https://blog.csdn.net/hjwdz2015/article/details/108884868,尊重原创 1、原子结构 原子由原子核和围绕原子核旋转的电子构成。如果将原子比作一棒球场,那么原子核大大小不比一个棒球大,但原子的所有重量都集中在原子核上,而电子只相当于棒球场上的苍蝇,所占空间相比来说也是极小的。原子核带正电荷,电子带负电荷。原子内正电荷和负电荷数量相等,所以原子整体是中性的。电子围绕原子核运动,和地球围绕太阳远行相似。在

2021-08-03 23:16:10 1690

转载 Time-wait状态(2MSL)

本文转自:https://blog.csdn.net/overstack/article/details/8833894,尊重原创什么是2MSL:MSL是Maximum Segment Lifetime,译为“报文最大生存时间”,他是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。因为TCP报文(segment)是IP数据报(datagram)的数据部分,而IP头中有一个TTL域,TTL是time to live的缩写,中文可以译为“生存时间”,这个生存时间是由源主机设置初始值但不是存的.

2021-07-16 14:21:16 1907

原创 C语言 记录一段神奇的代码 void(*)()

在线c语言平台:https://www.onlinegdb.com/online_c_compiler代码如下:#include <stdio.h>int* sub(int a,int b){ int *p = a+b; return p;}int sub_pointer(int a,int b){ return a+b;}void* sub_another(){ printf("enter\n");}#define MAX

2021-07-09 23:45:53 411 2

原创 Centos 7 yum安装jdk并查找JAVA_HOME

安装jdk1.8:yum install java-1.8.0-openjdk-devel.x86_64输出java 版本:java -version如下所示:默认安装完只有运行环境,也就说 java 安装目录下只有 jre 文件夹,我们执行 javac 命令会提示“未找到命令”,所以接下来需要安装jdk:yum install java-1.8.0-openjdk-devel.x86_64配置 JAVA_HOME 等环境变量:通过 yum install 安装 jdk,是不会自.

2021-06-09 15:30:33 1174

原创 Golang+Python Hbase Thrift1 基本使用

go thrift

2021-06-09 14:53:23 417 1

原创 golang hashedSecret too short to be a bcrypted password

记录一下这个疏忽造成的小问题:具体错误:crypto/bcrypt: hashedSecret too short to be a bcrypted passwordbcrypt.CompareHashAndPassword([]byte(u.PassWord), []byte(user.PassWord))1.第一个参数是已经经过bcrypt.GenerateFromPassword处理的密码2.第二个参数是请求提交的密码确认代码无误后依旧提示 hashedSecret too short .

2021-05-30 00:47:24 1742 1

原创 Mac proxychains-ng安装

背景需求:大家在linux/mac os上经常需要在终端走代理,今天就推荐一个解决方式,proxychains。安装proxychains-ng(mac上的名称):brew安装:brew install proxychains-ng # 很慢手动编译安装:git clone https://github.com/rofl0r/proxychains-ngcd proxychains-ng./configure --prefix=/usr --sysconfdir=/etcvi.

2021-05-26 09:59:33 4226

原创 基于Docker 搭建 ELK 日志系统

kibana

2021-05-20 15:08:11 1947 12

原创 Docker 构建私有仓库

HTTP版本:http版本的非常简单,直接运行一条命令即可docker run -d -p 5000:5000 --restart=always --name registry registryhttp的仓库想要上传镜像需要配置一下,否则会push失败:vim /etc/docker/daemon.json# 添加 "insecure-registries": ["your_domain:5000"]HTTPS支持证书:mkdir certs# 将证书分别命名为domain.crt.

2021-05-19 11:49:00 252

原创 K8s部署自己的Golang应用程序

简单的应用程序:项目结构如下:![在这里插入图片描述](https://img-blog.csdnimg.cn/20210519002323843.png)应用代码:package mainimport ( "github.com/gin-gonic/gin")func main() { r := gin.Default() // 使用默认中间件(logger和recovery) r.GET("/ping", func(ctx *gin.Context) { ctx.JSON(.

2021-05-19 00:53:34 1483 2

原创 Centos7 k8s安装

https://lihaoquan.me/2017/2/25/create-kubernetes-single-node-mode.html

2021-05-18 23:51:11 165

转载 Golang Epoll初体验

本文参考自:https://colobu.com/2019/02/23/1m-go-tcp-connection/,本文只是简单运行一个服务端的demo,更多信息请浏览原文关于Golang的epoll:Go的net方式在Linux也是通过epoll方式实现的,为什么我们还要再使用epoll方式进行封装呢?原因在于Go将epoll方式封装再内部,对外并没有直接提供epoll的方式来使用。也有一些封装了epoll的库如:evio 等Epoll server实现:package mainimport.

2021-05-15 14:37:42 1389 1

原创 SSH Host key verification failed 以及ssh密钥登陆

当ssh 连接远程服务器的时候出现这个问题:Host key verification failed, 如下图所示![在这里插入图片描述](https://img-blog.csdnimg.cn/20210512091448709.png)解决方法:删除.ssh/known_hosts文件中对应ip的那条记录。vim ~/.ssh/known_hosts然后再次连接,便会跟第一次连接一样,出现下面的提示:又会生成新的fingerprint,然后写入到这个文件中。...

2021-05-12 09:22:04 357

原创 Golang Redis 基本操作

Golang Redis

2021-05-11 11:59:57 597

原创 Git Rebase

初始化:首先初始化一个项目,由于在github上已经建好了,这里直接clone下来,是个空repository,没有任何提交。![在这里插入图片描述](https://img-blog.csdnimg.cn/20210509134122268.png)![在这里插入图片描述](https://img-blog.csdnimg.cn/20210509134326783.png)新增111.txt文件,并写入初始信息:![在这里插入图片描述](https://img-blog.csdnimg.cn/.

2021-05-09 15:49:58 181 1

原创 Vue 父子组件通信

父传子:父组件中(Nav是子组件):<Nav :topic="'字符串'"></Nav>子组件Nav.vue中:export default { props:["topic"], data() { return { }; }, mounted() { console.log('current topic is:'+this.topic) }};props中填入topic,其值来自于父组件中。父传子就这么简单.

2021-05-05 00:57:12 104

原创 CentOS 7下Kubernetes 一直ContainerCreating

前言:新手上路,体验一下k8s的魅力,未想出师不利:CentOS 7下Kubernetes :kubectl create -f xxx.yaml之后显示了created,不过一直是处于ContainerCreating状态,果断采用:kubectl describe pod xxx,结果显示:Error syncing pod, skipping: failed to “StartContainer” for “POD” with ErrImagePull: "image pull failed.

2021-05-01 19:08:11 211

原创 golang kafka sarama示例

消费者:package mainimport ( "fmt" "github.com/Shopify/sarama" KafkaCluster "github.com/bsm/sarama-cluster" "log" "os" "os/signal" "time")func main(){ KafkaConsumerCluster("")}func KafkaConsumerCluster(consumerId string) { brokers := []stri

2021-04-30 01:10:44 1098

原创 Zookeeper之CRUD(Golang)

https://www.cnblogs.com/zhichaoma/p/12640064.html

2021-04-29 01:21:30 546 1

原创 大小端高位低位字节的理解

一般左边为高位 右边为低位一般一个16位(双字节)的数据,比如 FF1A (16进制)那么高位字节就是FF,低位是1A如果是32位的数据,比如 3F68415B高位字(不是字节)是3F68低位字是415B右边是低位位,左边是高位作者:亮亮_be3c链接:https://www.jianshu.com/p/15a802e7669c...

2021-04-28 23:48:46 14339 3

原创 徒手搭建Git服务器

安装Git:yum/apt-get install git创建Git账户(也可跳过):adduser git // 创建git账户passwd git //修改git用户密码 我这里就直接用root了创建仓库:cd /homemkdir git_repositorycd git_repositorygit init --bare project.git // 创建裸仓库chown root:root -R project.git // 如果创建的git用户 则改用git 我.

2021-04-09 01:22:31 140

转载 P2P网络原理

P2P网络:下面是我在网上找到的一副图:P2P(Peer to Peer)是点对点的连接,在P2P网络中,用户同时利用并提供网络的基础,尽管提供资源完全是自愿的。每个对等体(“对等体”是网络上的计算机系统)被认为是相等的并且通常被称为节点。对等体可以将一部分计算资源(如磁盘存储,处理能力或网络带宽)直接提供给其他参与者,而无需服务器或稳定主机进行任何集中协调。有点我为人人,人人为我的意思。NAT技术:NAT技术(Network Address Translation,网络地址转换)是一种把内部网.

2021-03-31 15:35:39 5540

原创 GoLang 函数返回值

看看下面几个函数返回结果都是什么:package mainimport "fmt"func f0() (int) { var r int defer func() { r++ }() return r}func f1() (r int) { defer func() { r++ }() return 0}func f2() (r int) { t := 5 defer func() { t = t + 5 }() return t}func f.

2021-03-11 17:06:28 1166

转载 Golang调度器的GMP模型

本文转自:https://zhuanlan.zhihu.com/p/261590663 尊重原创前言:首先看以下并发和并行概念: - 并发(concurrent): 逻辑上处理同时的任务的能力 - 并行(parallel): 物理上同一时间处理不同任务一般来说,并发对应在单个处理器,通过串行的时间片分配(time slice)来执行任务。而并发,对应多个处理器,来执行不同的任务。Golang中,执行多个任务时,Goroutine会创建不同的线程,也会将任务单元分配给其他线程来执行,这像是并发和并

2021-03-10 00:45:32 284

转载 Windows程序的窗口和消息

本篇转自:https://blog.csdn.net/guzhou_diaoke/article/details/8155171,尊重原创 1.一个完整的Windows程序 /*----------------------------------------------------------------------------------- HelloWin.cpp -- Displays "Hello, Windows 7!" in .

2021-03-03 18:17:03 548 1

转载 Windows 中一个应用程序的启动过程

Explorer.exeWindows 能够流行起来,很大一个原因是它有友好的用户图形界面,操作方便简单,容易上手。在Windows环境下打开一个程序,只要双击软件的图标就行了,那么它是如何启动起来的?当我们启动电脑进入桌面时,系统会创建 Explorer.exe 进程。Explorer.exe是Windows程序管理器 或者叫 文件资源管理器,用于管理Windows图形壳,删除该程序会导致 Windows 图形界面无法使用。所以,如果有时候我们电脑的桌面空白了,或者蓝屏,可以通过 Alt+Ctrl..

2021-03-03 18:08:37 854 1

转载 进程/线程上下文切换会用掉你多少CPU?

本文转自:https://zhuanlan.zhihu.com/p/79772089, 一位来自搜狗的1研发专家,请尊重原创进程是操作系统的伟大发明之一,对应用程序屏蔽了CPU调度、内存管理等硬件细节,而抽象出一个进程的概念,让应用程序专心于实现自己的业务逻辑既可,而且在有限的CPU上可以“同时”进行许多个任务。但是它为用户带来方便的同时,也引入了一些额外的开销。如下图,在进程运行中间的时间里,虽然CPU也在忙于干活,但是却没有完成任何的用户工作,这就是进程机制带来的额外开销。在进程A切换到进程B的过

2021-03-03 16:14:42 1075 1

原创 浅谈函数调用

程序内存空间:任何一个程序通常都包括代码段和数据段,这些代码和数据本身都是静态的。程序要想运行,首先要由操作系统负责为其创建进程,并在进程的虚拟地址空间中为其代码段和数据段建立映射。光有代码段和数据段是不够的,进程在运行过程中还要有其动态环境,其中最重要的就是堆栈。以下是**Linux**地址空间布局:栈是向下增长的,堆是向上增长的(可以这么说,但是不严谨,栈方向跟体系结构有关系,x86是向下增长,arm没有固定,但一般操作系统会选择向下增长)bss段:  bss段(bss segment)通.

2021-03-03 15:55:36 212

原创 MySql8.0 The user specified as a definer (‘root‘@‘%‘) does not exist

网上查了下相关问题的处理方法,基本都是这句grant all privileges on . to root@"%" identified by “.”;实际运行就会出错:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘identified.

2021-02-22 10:19:04 444 1

原创 Navicat 连接Mysq 8.0出现Authentication plugin ‘caching_sha2_password‘ cannot be loaded

Navicat 连接Mysq 8.0出现Authentication plugin 'caching_sha2_password' cannot be loaded原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password.解决方式:先登录mysql:mysql

2021-02-20 15:01:01 252

原创 单核处理器、多核处理器、多处理器与多线程编程,cpu调度

进程的概念:进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配CPU时间,程序开始真正运行。线程的概念:线程是程序执行时的最小单位,它是进程的一个执行流,是CPU调度和分派的基本单位。一个进程可以由很多个线程组成,线程间共享进程的所有资源,每个线程有自己的堆栈和局部变量。线程由CPU独立调度执行,在多CPU环境下就允许多个线程同时运行。同样多线程也可以实现并.

2021-02-19 15:10:00 2572 1

转载 浅谈TCP3次握手4次挥手

三次握手在 TCP/IP 协议中,TCP 协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手:建立连接时,客户端发送 syn 包(syn=j)到服务器,并进入 SYN_SEND 状态,等待服务器确认; 第二次握手:服务器收到 syn 包,必须确认客户的 SYN(ack=j+1),同时自己也发送一个 SYN 包(syn=k),即 SYN+ACK 包,此时服务器进...

2021-02-17 23:10:50 156

原创 简单了解照相机

以上是随便找网上找的一张正经的照相机图片,如今照相机各种各样,今天我们会简单了解一下照相机的工作原理。涉及的工作原理:主要是这两个原理:话说很早很早的时候,我们的老祖宗,墨子就发现了,用一个带有小孔的板遮挡在墙体与物体之间,墙体上就会形成物体的倒影,这种现象就叫小孔成像。溴化银见光分解的原理来自百度百科的基本介绍:https://baike.baidu.com/item/%E6%BA%B4%E5%8C%96%E9%93%B6/9962770?fr=aladdin#2照相机的简单架构:.

2021-01-25 23:13:40 1256 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除