<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ALakers的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/ALakers</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; ALakers]]></copyright><item><title><![CDATA[golang promethus consul 服务发现]]></title><link>https://blog.csdn.net/ALakers/article/details/126605271</link><guid>https://blog.csdn.net/ALakers/article/details/126605271</guid><author>ALakers</author><pubDate>Tue, 30 Aug 2022 16:25:39 +0800</pubDate><description><![CDATA[golang promethus consul 服务发现]]></description><category></category></item><item><title><![CDATA[MacOS 查找JAVA_HOME]]></title><link>https://blog.csdn.net/ALakers/article/details/120184179</link><guid>https://blog.csdn.net/ALakers/article/details/120184179</guid><author>ALakers</author><pubDate>Wed, 08 Sep 2021 17:07:02 +0800</pubDate><description><![CDATA[本文转自https://www.jianshu.com/p/8dc2420b775a，尊重原创


查看java指令所在的目录：
which java

输出结果：/usr/bin/java


显示java指令文件的属性：
ls -l /usr/bin/java




3. 进入实际指令所在的文件夹:
cd /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands

这个文件夹并不是JAVA_HOME目录, 在这个目录下面]]></description><category></category></item><item><title><![CDATA[Consul 基本命令以及集群创建]]></title><link>https://blog.csdn.net/ALakers/article/details/119949510</link><guid>https://blog.csdn.net/ALakers/article/details/119949510</guid><author>ALakers</author><pubDate>Fri, 27 Aug 2021 14:25:41 +0800</pubDate><description><![CDATA[修改默认端口：
方法一：
使用-http-port命令行参数，例如修改成8080端口:
consul agent -dev -http-port 8080

方法二：
使用-config-dir命令行参数，指定配置文件
就是指定加载置文件的目录，该目录下所有的以.json结尾配置文件加载进去，它的加载顺序是根据26个字母的顺序加进行加载配置文件的。目录必需为consul.d，文件内容都是json格式的数据。默认后面文件定义配置会覆盖前面文件定义的配置。
例如/etc/consul.d目录下合建 base-.]]></description><category></category></item><item><title><![CDATA[Golang consul 服务注册与发现]]></title><link>https://blog.csdn.net/ALakers/article/details/119581661</link><guid>https://blog.csdn.net/ALakers/article/details/119581661</guid><author>ALakers</author><pubDate>Tue, 10 Aug 2021 23:35:24 +0800</pubDate><description><![CDATA[下载运行consul：
consul下载地址：https://www.consul.io/downloads
命令行运行：
consul.exe agent -dev

服务注册：
package main

import (
	"fmt"
	"github.com/go-basic/uuid"
	consulapi "github.com/hashicorp/consul/api"
	"net/http"
)

const (
	consulAddress = "127.0.0.1:8500"
	loca]]></description><category></category></item><item><title><![CDATA[Go-Micro undefined: balancer.PickOptions]]></title><link>https://blog.csdn.net/ALakers/article/details/119575639</link><guid>https://blog.csdn.net/ALakers/article/details/119575639</guid><author>ALakers</author><pubDate>Tue, 10 Aug 2021 17:50:21 +0800</pubDate><description><![CDATA[# 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                                                          ]]></description><category></category></item><item><title><![CDATA[Golang GRPC简单使用]]></title><link>https://blog.csdn.net/ALakers/article/details/119549776</link><guid>https://blog.csdn.net/ALakers/article/details/119549776</guid><author>ALakers</author><pubDate>Tue, 10 Aug 2021 00:25:53 +0800</pubDate><description><![CDATA[什么是gRPC？
rpc框架一般基于tcp或者http协议实现。基于http的rpc框架有许多优点，HTTP/1.x协议简单明了，是目前最流行的应用层协议，有着非常成熟且完善的各种基础设施，如负载均衡、监控、代理等，适用性广泛，各个设备系统均有实现。但是缺点也很明显，就是HTTP/1.x采用的是文本协议，解析速度慢，带宽占用高。而且request/response的通信方法导致整体效率不高。gRPC基于HTTP2协议，HTTP2 使得grpc 能够更好的适用于移动客户端和服务端通信的使用场景，并且连接多路.]]></description><category></category></item><item><title><![CDATA[负载均衡策略之轮询策略]]></title><link>https://blog.csdn.net/ALakers/article/details/119535961</link><guid>https://blog.csdn.net/ALakers/article/details/119535961</guid><author>ALakers</author><pubDate>Mon, 09 Aug 2021 13:52:38 +0800</pubDate><description><![CDATA[本文转自:https://mozillazg.com/2019/02/load-balancing-strategy-algorithm-weighted-round-robin.html#hidround-robin,尊重原创
前言:
本文简单介绍一下轮询(Round Robin)这个负载均衡策略。
轮询选择 (Round Robin):
轮询选择指的是从已有的后端节点列表中按顺序依次选择一个节点出来提供服务。
一种轮询选择的方法是把所有的节点看做一个一个的点，并把这些点连起来组成一个圆， 轮询选择就是在]]></description><category></category></item><item><title><![CDATA[从原子结构--PN结原理--光伏发电]]></title><link>https://blog.csdn.net/ALakers/article/details/119361422</link><guid>https://blog.csdn.net/ALakers/article/details/119361422</guid><author>ALakers</author><pubDate>Tue, 03 Aug 2021 23:16:10 +0800</pubDate><description><![CDATA[本文转自：https://blog.csdn.net/hjwdz2015/article/details/108884868，尊重原创


                    1、原子结构 
原子由原子核和围绕原子核旋转的电子构成。如果将原子比作一棒球场，那么原子核大大小不比一个棒球大，但原子的所有重量都集中在原子核上，而电子只相当于棒球场上的苍蝇，所占空间相比来说也是极小的。原子核带正电荷，电子带负电荷。原子内正电荷和负电荷数量相等，所以原子整体是中性的。电子围绕原子核运动，和地球围绕太阳远行相似。在]]></description><category></category></item><item><title><![CDATA[Time-wait状态(2MSL)]]></title><link>https://blog.csdn.net/ALakers/article/details/118795488</link><guid>https://blog.csdn.net/ALakers/article/details/118795488</guid><author>ALakers</author><pubDate>Fri, 16 Jul 2021 14:21:16 +0800</pubDate><description><![CDATA[本文转自：https://blog.csdn.net/overstack/article/details/8833894，尊重原创

什么是2MSL：
MSL是Maximum Segment Lifetime,译为“报文最大生存时间”，他是任何报文在网络上存在的最长时间，超过这个时间报文将被丢弃。
因为TCP报文（segment）是IP数据报（datagram）的数据部分，而IP头中有一个TTL域，TTL是time to live的缩写，中文可以译为“生存时间”，这个生存时间是由源主机设置初始值但不是存的.]]></description><category></category></item><item><title><![CDATA[C语言 记录一段神奇的代码 void(*)()]]></title><link>https://blog.csdn.net/ALakers/article/details/118616576</link><guid>https://blog.csdn.net/ALakers/article/details/118616576</guid><author>ALakers</author><pubDate>Fri, 09 Jul 2021 23:45:53 +0800</pubDate><description><![CDATA[在线c语言平台：
https://www.onlinegdb.com/online_c_compiler

代码如下：
#include &lt;stdio.h&gt;


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]]></description><category></category></item><item><title><![CDATA[Centos 7 yum安装jdk并查找JAVA_HOME]]></title><link>https://blog.csdn.net/ALakers/article/details/117744033</link><guid>https://blog.csdn.net/ALakers/article/details/117744033</guid><author>ALakers</author><pubDate>Wed, 09 Jun 2021 15:30:33 +0800</pubDate><description><![CDATA[安装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，是不会自.]]></description><category></category></item><item><title><![CDATA[Golang+Python Hbase Thrift1 基本使用]]></title><link>https://blog.csdn.net/ALakers/article/details/116261548</link><guid>https://blog.csdn.net/ALakers/article/details/116261548</guid><author>ALakers</author><pubDate>Wed, 09 Jun 2021 14:53:23 +0800</pubDate><description><![CDATA[go thrift

]]></description><category></category></item><item><title><![CDATA[golang hashedSecret too short to be a bcrypted password]]></title><link>https://blog.csdn.net/ALakers/article/details/117393569</link><guid>https://blog.csdn.net/ALakers/article/details/117393569</guid><author>ALakers</author><pubDate>Sun, 30 May 2021 00:47:24 +0800</pubDate><description><![CDATA[记录一下这个疏忽造成的小问题：
具体错误：crypto/bcrypt: hashedSecret too short to be a bcrypted password
bcrypt.CompareHashAndPassword([]byte(u.PassWord), []byte(user.PassWord))

1.第一个参数是已经经过bcrypt.GenerateFromPassword处理的密码
2.第二个参数是请求提交的密码
确认代码无误后依旧提示 hashedSecret too short .]]></description><category></category></item><item><title><![CDATA[Docker 构建私有仓库]]></title><link>https://blog.csdn.net/ALakers/article/details/117018197</link><guid>https://blog.csdn.net/ALakers/article/details/117018197</guid><author>ALakers</author><pubDate>Wed, 19 May 2021 11:49:00 +0800</pubDate><description><![CDATA[HTTP版本：
http版本的非常简单，直接运行一条命令即可
docker run -d -p 5000:5000 --restart=always --name registry registry

http的仓库想要上传镜像需要配置一下，否则会push失败：
vim /etc/docker/daemon.json
# 添加 "insecure-registries": ["your_domain:5000"]


HTTPS支持
证书：
mkdir certs
# 将证书分别命名为domain.crt.]]></description><category></category></item><item><title><![CDATA[K8s部署自己的Golang应用程序]]></title><link>https://blog.csdn.net/ALakers/article/details/117004285</link><guid>https://blog.csdn.net/ALakers/article/details/117004285</guid><author>ALakers</author><pubDate>Wed, 19 May 2021 00:53:34 +0800</pubDate><description><![CDATA[简单的应用程序：
项目结构如下：
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210519002323843.png)
应用代码：
package main

import (
	"github.com/gin-gonic/gin"
)

func main() {
	r := gin.Default() // 使用默认中间件（logger和recovery）
	r.GET("/ping", func(ctx *gin.Context) {
		ctx.JSON(.]]></description><category></category></item><item><title><![CDATA[Centos7 k8s安装]]></title><link>https://blog.csdn.net/ALakers/article/details/116332459</link><guid>https://blog.csdn.net/ALakers/article/details/116332459</guid><author>ALakers</author><pubDate>Tue, 18 May 2021 23:51:11 +0800</pubDate><description><![CDATA[https://lihaoquan.me/2017/2/25/create-kubernetes-single-node-mode.html

]]></description><category></category></item><item><title><![CDATA[Golang Epoll初体验]]></title><link>https://blog.csdn.net/ALakers/article/details/116849256</link><guid>https://blog.csdn.net/ALakers/article/details/116849256</guid><author>ALakers</author><pubDate>Sat, 15 May 2021 14:37:42 +0800</pubDate><description><![CDATA[本文参考自：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 main

import.]]></description><category></category></item><item><title><![CDATA[SSH Host key verification failed 以及ssh密钥登陆]]></title><link>https://blog.csdn.net/ALakers/article/details/116694914</link><guid>https://blog.csdn.net/ALakers/article/details/116694914</guid><author>ALakers</author><pubDate>Wed, 12 May 2021 09:22:04 +0800</pubDate><description><![CDATA[当ssh 连接远程服务器的时候出现这个问题：
Host key verification failed， 如下图所示
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210512091448709.png)
解决方法：
删除.ssh/known_hosts文件中对应ip的那条记录。
vim ~/.ssh/known_hosts

然后再次连接，便会跟第一次连接一样，出现下面的提示：

又会生成新的fingerprint，然后写入到这个文件中。

...]]></description><category></category></item><item><title><![CDATA[Golang Redis 基本操作]]></title><link>https://blog.csdn.net/ALakers/article/details/116641041</link><guid>https://blog.csdn.net/ALakers/article/details/116641041</guid><author>ALakers</author><pubDate>Tue, 11 May 2021 11:59:57 +0800</pubDate><description><![CDATA[Golang Redis

]]></description><category></category></item><item><title><![CDATA[Git Rebase]]></title><link>https://blog.csdn.net/ALakers/article/details/116563881</link><guid>https://blog.csdn.net/ALakers/article/details/116563881</guid><author>ALakers</author><pubDate>Sun, 09 May 2021 15:49:58 +0800</pubDate><description><![CDATA[初始化：
首先初始化一个项目，由于在github上已经建好了，这里直接clone下来，是个空repository，没有任何提交。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210509134122268.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210509134326783.png)
新增111.txt文件，并写入初始信息：
![在这里插入图片描述](https://img-blog.csdnimg.cn/.]]></description><category></category></item></channel></rss>