<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[kevin的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sysushui</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sysushui]]></copyright><item><title><![CDATA[opentelemetry实践]]></title><link>https://blog.youkuaiyun.com/sysushui/article/details/121516820</link><guid>https://blog.youkuaiyun.com/sysushui/article/details/121516820</guid><author>sysushui</author><pubDate>Wed, 24 Nov 2021 15:31:58 +0800</pubDate><description><![CDATA[场景描述

根据 open-telemetry提供的exampleshttps://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/examples/demo

假设我们有两个服务，一个是demo-server，一个是demo-client，demo-client会周期性调用demo-server，我们希望可以采集到demo-server与demo-client之间的监控数据，包括请求延迟和请求数统计（demo里面也提.]]></description><category></category></item><item><title><![CDATA[go 协程池 ants库分析]]></title><link>https://blog.youkuaiyun.com/sysushui/article/details/121051640</link><guid>https://blog.youkuaiyun.com/sysushui/article/details/121051640</guid><author>sysushui</author><pubDate>Sat, 30 Oct 2021 15:34:06 +0800</pubDate><description><![CDATA[简介

相比于创建多个线程，goroutine 更轻量、资源占用更少、切换速度更快、无线程上下文切换开销更少。但是受限于资源总量，系统中能够创建的 goroutine 数量也是受限的。默认每个 goroutine 占用 8KB 内存，一台 8GB 内存的机器满打满算也只能创建 8GB/8KB = 1000000 个 goroutine，更何况系统还需要保留一部分内存运行日常管理任务，go 运行时需要内存运行 gc、处理 goroutine 切换等。使用的内存超过机器内存容量，系统会使用交换区（swap），导]]></description><category></category></item><item><title><![CDATA[go net/http 基础解析]]></title><link>https://blog.youkuaiyun.com/sysushui/article/details/121001415</link><guid>https://blog.youkuaiyun.com/sysushui/article/details/121001415</guid><author>sysushui</author><pubDate>Wed, 27 Oct 2021 20:34:36 +0800</pubDate><description><![CDATA[整体的类图









1. 我们调用的http.ListenAndServe会生成一个Server对象，这个对象会通过ListenAndServer创建一个监听连接(底层应该就是一个监听socket)，然后把这个传递给Serve函数，Serve函数会调用accept开始监听，接受到请求后，会生成一个请求连接（底层应该就是一个连接socket）

2. Server生成请求连接后，会调用其server函数，开协程处理这个函数

3. conn.server处理的过程中，主要会封装出一个Server..]]></description><category></category></item><item><title><![CDATA[EdgeX Foundry 安装与实践]]></title><link>https://blog.youkuaiyun.com/sysushui/article/details/120672635</link><guid>https://blog.youkuaiyun.com/sysushui/article/details/120672635</guid><author>sysushui</author><pubDate>Sat, 09 Oct 2021 15:53:12 +0800</pubDate><description><![CDATA[EdgeX 安装

1. docker-compose安装


sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2.下载edgex docker-compose文件，参考：https://docs.edgexfoundry.org/2.0/getting-start]]></description><category></category></item><item><title><![CDATA[透彻理解TLS1.2]]></title><link>https://blog.youkuaiyun.com/sysushui/article/details/119964767</link><guid>https://blog.youkuaiyun.com/sysushui/article/details/119964767</guid><author>sysushui</author><pubDate>Sat, 28 Aug 2021 14:17:35 +0800</pubDate><description><![CDATA[通过理论理解TLS/SSL

背景

一些已有的协议通常安全问题，以HTTP为例来说明，HTTP在设计之初就没有考虑安全问题，它的目的就是数据传输和共享，HTTP协议三个安全问题如下：

数据没加密，是明文传输；而且TCP/IP的特点同时导致HTTP数据很容易被截获
	无法验证身份。
	数据易篡改：HTTP数据传输过程中，会经过很多节点，这些节点都可以修改原始数据，而对于客户端和服务器来说，没有任何技术来确保接收的数据就是发送者发送的原始数据 （也叫中间人攻击）
而要解决类似上面的这些安全问题，我们就需要.]]></description><category></category></item><item><title><![CDATA[k8s service基于域名访问的服务发现]]></title><link>https://blog.youkuaiyun.com/sysushui/article/details/115146996</link><guid>https://blog.youkuaiyun.com/sysushui/article/details/115146996</guid><author>sysushui</author><pubDate>Tue, 23 Mar 2021 22:03:21 +0800</pubDate><description><![CDATA[准备
busybox准备如下：
apiVersion: v1
kind: Pod
	name: busybox-sleep-resource-cloud
spec:
	nodeName: ke-cloud
	containers:
		- name: busybox
		  image: busybox:latest
		  args:
		  	- sleep
		  	- "12000"

HTTP 协议的域名访问
httpserver服务如下：
apiVersion: v1
kind: Pod
met]]></description><category></category></item><item><title><![CDATA[容器网络通讯场景实践及原理解析]]></title><link>https://blog.youkuaiyun.com/sysushui/article/details/113914699</link><guid>https://blog.youkuaiyun.com/sysushui/article/details/113914699</guid><author>sysushui</author><pubDate>Sun, 21 Feb 2021 10:30:20 +0800</pubDate><description><![CDATA[容器通讯场景
主机容器间通信
实践
docker run -it busybox # 开终端1，创建容器busybox-1
docker run -it busybox # 开终端2，创建容器busybox-2
ifconfig # 在busybox-1和busybox-2中查看网址，假设busybox-1为172.0.0.2, busybox-2为172.0.0.3
ping 172.0.0.3 # 在busybox-1容器中执行ping命令，发现可以互通

原理
上面就是经典容器组网模型 veth pa]]></description><category></category></item><item><title><![CDATA[6.824 Spring 2021 -- Lab 2A]]></title><link>https://blog.youkuaiyun.com/sysushui/article/details/106271902</link><guid>https://blog.youkuaiyun.com/sysushui/article/details/106271902</guid><author>sysushui</author><pubDate>Fri, 22 May 2020 07:28:23 +0800</pubDate><description><![CDATA[实验说明：6.824 Lab 2: Raft

可视化：Raft



实现目标

根据论文Figure 2和5.2实现Raft系统的选主和心跳



整体流程​​​​​​​

新节点启动时，大致的流程如下：

初始化自己的属性信息，主要有votedFor=-1，currentTerm=0；设置选举超时（论文的election timeout）的时间范围为1000ms-2000ms，心跳间隔为150ms；设置自己的状态为Follower，开启electionTimeout计时器。
	如果接收到来自其他节点的]]></description><category></category></item><item><title><![CDATA[6.824 Spring 2021 -- Lab 1: MapReduce]]></title><link>https://blog.youkuaiyun.com/sysushui/article/details/105032612</link><guid>https://blog.youkuaiyun.com/sysushui/article/details/105032612</guid><author>sysushui</author><pubDate>Sun, 22 Mar 2020 18:34:42 +0800</pubDate><description><![CDATA[介绍：https://pdos.csail.mit.edu/6.824/labs/lab-mr.html



前期工作

使用windows vscode远程linux来做，这样我们可以在windows debug，也可以直接在remote server运行我们的测试脚本remote development 开发vscode使用

阅读6.824 Lab 1: MapReduce的介绍，我们先把mrsequential的例子使用我们的环境运行起来



# remote server上
git cl...]]></description><category></category></item><item><title><![CDATA[使用serviceaccount制作kubeconfig文件]]></title><link>https://blog.youkuaiyun.com/sysushui/article/details/104881715</link><guid>https://blog.youkuaiyun.com/sysushui/article/details/104881715</guid><author>sysushui</author><pubDate>Sun, 15 Mar 2020 17:11:12 +0800</pubDate><description><![CDATA[背景

有时为了需要，我们需要给出一些具有特定集群权限的kubeconfig文件，这时我们可以通过使用serviceAccount来制作具有一定集群权限的kubeconfig

下面我们来使用这一技术创建一个只有greenstock命名空间权限的pod读取权限的kubeconfig



代码来源：https://gist.github.com/innovia/fbba8259042f71db9...]]></description><category></category></item><item><title><![CDATA[Go语言——字符串和编码]]></title><link>https://blog.youkuaiyun.com/sysushui/article/details/103229457</link><guid>https://blog.youkuaiyun.com/sysushui/article/details/103229457</guid><author>sysushui</author><pubDate>Sun, 24 Nov 2019 21:46:29 +0800</pubDate><description><![CDATA[声明：下面的许多知识点来自：https://blog.youkuaiyun.com/qq_36431213/article/details/83029133和https://www.liaoxuefeng.com/wiki/1016959663602400/1017075323632896以及 https://zhuanlan.zhihu.com/p/38333902下面只是以自己的理解做了个整理

...]]></description><category></category></item><item><title><![CDATA[国内搭建k8s环境]]></title><link>https://blog.youkuaiyun.com/sysushui/article/details/102999073</link><guid>https://blog.youkuaiyun.com/sysushui/article/details/102999073</guid><author>sysushui</author><pubDate>Sun, 10 Nov 2019 17:01:43 +0800</pubDate><description><![CDATA[下面演示在国内，在虚拟机ubuntu18.04中利用kubeadm，从零搭建一个有1个master的kubernetes环境

一、ubuntu18.04安装及环境配置

从官网下载ubuntu18.04的镜像，并使用vmware进行安装，一路默认配置就可以了，安装完毕之后进行如下操作。

1. 【非虚拟机不用】设置静态IP和访问外网，这样方便后面使用xshell进行登录，具体配置可以看 《VMw...]]></description><category></category></item><item><title><![CDATA[gatekeeper实践]]></title><link>https://blog.youkuaiyun.com/sysushui/article/details/102769889</link><guid>https://blog.youkuaiyun.com/sysushui/article/details/102769889</guid><author>sysushui</author><pubDate>Sun, 27 Oct 2019 18:49:39 +0800</pubDate><description><![CDATA[环境要求

gatekeeper是基于k8s的 admission controller webhooks实现的,需要k8s的 kube-apiserve开启相应的准入控制,也就是 validating admission webhook和mutating admissionwebhook.

关于admission controller webhooks可以参考：链接
	kube-apiserv...]]></description><category></category></item><item><title><![CDATA[gatekeeper调研]]></title><link>https://blog.youkuaiyun.com/sysushui/article/details/102769767</link><guid>https://blog.youkuaiyun.com/sysushui/article/details/102769767</guid><author>sysushui</author><pubDate>Sun, 27 Oct 2019 18:36:50 +0800</pubDate><description><![CDATA[动机及简介

如果你的组织在运行 Kubernetes,那么你可能一直在寻找控制终端用户可以在集群上做什
么,以及确保集群符合公司或组织政策的方法。这些政策可能是用来满足治理和法律需求,或者
执行最佳实践和组织约定。使用 Kubernetes,你如何在不牺牲开发灵活性和操作独立性的情况下
确保遵从性？例如,你可以执行以下政策:

所有镜像必须来自已批准的存储库
	所有pod都必须有资源限制
	所有...]]></description><category></category></item><item><title><![CDATA[内网穿透-----ngrok服务器搭建]]></title><link>https://blog.youkuaiyun.com/sysushui/article/details/82317091</link><guid>https://blog.youkuaiyun.com/sysushui/article/details/82317091</guid><author>sysushui</author><pubDate>Sun, 15 Sep 2019 09:09:27 +0800</pubDate><description><![CDATA[一，需求与ngrok简介

1）需求

有时我们需要进行内网穿透，也就是说我们需要去访问和使用一些内网的机器；比方说，我在实验室有一台机器，而实验室的网络是内网（192.168.0.48），这个时候我想在宿舍的机器（172.18.61.246）去上对它进行ssh登录是做不到的，因为我宿舍的机器是跟实验室的网关是在同一个网段，但是跟实验室里面的机器不是在同一个网段的；所以为了方便我对实验室的机器进行...]]></description><category></category></item><item><title><![CDATA[VMware下如何实现ubuntu的静态地址设置和外网访问和ssh连接]]></title><link>https://blog.youkuaiyun.com/sysushui/article/details/100631086</link><guid>https://blog.youkuaiyun.com/sysushui/article/details/100631086</guid><author>sysushui</author><pubDate>Sun, 08 Sep 2019 16:34:20 +0800</pubDate><description><![CDATA[静态地址设置

目的

这一步的目标在于通过NAT模式实现VMware下ubuntu的静态地址，同时实现主机与虚拟机的互通（可以互相ping通）

步骤

1、编辑“虚拟网络编辑器”

打开VMware里面的 编辑-&gt;虚拟网络编辑器-&gt;添加网络-&gt;VMnet8，然后按如下的配置进行配置

    

子网和子网掩码由系统自己分配，不用管
	因为我们要设置静态地址，所...]]></description><category></category></item><item><title><![CDATA[spring boot实现多租户数据存储]]></title><link>https://blog.youkuaiyun.com/sysushui/article/details/90319375</link><guid>https://blog.youkuaiyun.com/sysushui/article/details/90319375</guid><author>sysushui</author><pubDate>Sat, 18 May 2019 23:13:10 +0800</pubDate><description><![CDATA[背景

目前多租户数据存储模式主要有三种，分别是共享硬件隔离数据库实例、共享数据库实例隔离数据表、共享数据库实例共享数据表，这三种数据存储模式如下图所示。



项目代码介绍

预备项目：实现swagger展示接口，以及对一个数据实体对象的读取操作；具体代码看：https://github.com/sysuKinthon/multi-tenant-database/tree/v1.0
...]]></description><category></category></item><item><title><![CDATA[Spring Boot集成Activiti —— 流程编辑器集成]]></title><link>https://blog.youkuaiyun.com/sysushui/article/details/90313254</link><guid>https://blog.youkuaiyun.com/sysushui/article/details/90313254</guid><author>sysushui</author><pubDate>Sat, 18 May 2019 13:04:53 +0800</pubDate><description><![CDATA[项目说明

该项目综合参考了：chenhai201和secsea

在进行下面的项目实践时，请先生成一个spring boot项目，并配置swagger2，开发工具建议使用IDEA。为了方便正文的描述，下面先给出项目的整体目录结构。



项目已经上传到github，需要可以自行下载

Activitig下载

首先从github上下载Activiti的源码，命令如下


git clone ...]]></description><category></category></item><item><title><![CDATA[使用SSM实现简单工作流系统之实现篇]]></title><link>https://blog.youkuaiyun.com/sysushui/article/details/79510210</link><guid>https://blog.youkuaiyun.com/sysushui/article/details/79510210</guid><author>sysushui</author><pubDate>Sat, 10 Mar 2018 18:10:14 +0800</pubDate><description><![CDATA[项目说明本项目是依据《轻量级 Java EE 企业应用实战 第4版》的最后一章中的项目实现的，原本项目使用的框架是Struts2 + Spring 4 + Hibernate，因为本人在学习Spring MVC + Spring + Mybatis，所以将它重写了一次，使用了Spring MVC + Spring + Mybatis项目。在正文中介绍项目的时候，也将主要依据原书的叙述。因为项目是根...]]></description><category></category></item><item><title><![CDATA[基于SSM框架实现基本文件操作]]></title><link>https://blog.youkuaiyun.com/sysushui/article/details/78820630</link><guid>https://blog.youkuaiyun.com/sysushui/article/details/78820630</guid><author>sysushui</author><pubDate>Sat, 16 Dec 2017 16:53:21 +0800</pubDate><description><![CDATA[本文主要基于已经搭建好的SSM框架项目进行扩展，扩展的功能是文件上传，文件下载，文件批量上传。]]></description><category></category></item></channel></rss>