<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[匆匆z2的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lo085213</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lo085213]]></copyright><item><title><![CDATA[AWS EC2 微服务 金丝雀发布(Canary Release)方案]]></title><link>https://blog.youkuaiyun.com/lo085213/article/details/147964231</link><guid>https://blog.youkuaiyun.com/lo085213/article/details/147964231</guid><author>lo085213</author><pubDate>Thu, 15 May 2025 21:43:45 +0800</pubDate><description><![CDATA[金丝雀发布是一种逐步将新版本代码引入生产环境的策略，旨在通过小范围验证减少线上事故风险。尽管已有单元测试和预发布环境测试，线上仍可能出现非预期问题。本文探讨了使用AWS CodeDeploy和Envoy Proxy实现金丝雀发布的方案。AWS CodeDeploy支持蓝绿部署，但由于与现有EC2服务发布组件的集成问题，最终选择了Envoy Proxy方案。该方案通过创建临时Stack、使用Envoy Proxy替换Nginx、配置镜像请求比例和验证窗口等步骤，实现了新代码的逐步验证和上线。同时，文章还介绍了]]></description><category></category></item><item><title><![CDATA[从 macos 切换到 windows 上安装的工具类软件]]></title><link>https://blog.youkuaiyun.com/lo085213/article/details/147103597</link><guid>https://blog.youkuaiyun.com/lo085213/article/details/147103597</guid><author>lo085213</author><pubDate>Wed, 09 Apr 2025 22:06:31 +0800</pubDate><description><![CDATA[用了很多年的macos, 已经习惯了macos上的操作, 期望能在windows上获得类似的体验, 于是花了一些时间来找windows上相对应的平替软件.]]></description><category></category></item><item><title><![CDATA[Kafka producer写入优化]]></title><link>https://blog.youkuaiyun.com/lo085213/article/details/123056906</link><guid>https://blog.youkuaiyun.com/lo085213/article/details/123056906</guid><author>lo085213</author><pubDate>Mon, 21 Feb 2022 23:10:23 +0800</pubDate><description><![CDATA[目录提出需求环境信息测试系统,寻找问题Kafka producer 写入原理Producer 参数ACKS 参数Producer send 方法调用结果Note参考文献
提出需求
由于线上的接口是暴露给外部用户使用,外部用户付费接入,产品经理提出了需求,需要在公司内部做重新数据清洗的时候尽量减少对外部用户数据更新的影响,当前更新数据需要耗费24个小时左右,产品经理提出12小时是可接受的,于是针对当前的调用链路逐一排查,寻找问题.
环境信息
所有服务基于AWS公有云部署,
producer部署在ECS上 1C]]></description><category></category></item><item><title><![CDATA[使用AWS DMS 升级Postgre 10到12]]></title><link>https://blog.youkuaiyun.com/lo085213/article/details/120815202</link><guid>https://blog.youkuaiyun.com/lo085213/article/details/120815202</guid><author>lo085213</author><pubDate>Sun, 24 Oct 2021 21:26:49 +0800</pubDate><description><![CDATA[Postgre 是经常被用到的关系型数据库,本文将详细介绍在AWS云端升级Postgre版本的方案

为什么需要升级?

新的数据库版本有新的功能特性,AWS和开源团队对于每个特定的版本提供有限时间的技术支持,超过技术支持时间后,没有技术支持将会造成安全及系统风险,所以为了避免潜在的风险,需要在当前版本停止支持之前升级到比较新的版本.

每个版本对应的官方维护时间PostgreSQL: Versioning Policy

升级方案选择

升级方案主要分为两类, in place 和 out of pl..]]></description><category></category></item><item><title><![CDATA[vim基本操作练习]]></title><link>https://blog.youkuaiyun.com/lo085213/article/details/112253797</link><guid>https://blog.youkuaiyun.com/lo085213/article/details/112253797</guid><author>lo085213</author><pubDate>Wed, 06 Jan 2021 21:55:21 +0800</pubDate><description><![CDATA[参考书籍&lt;linux系统命令及shell脚本实践指南&gt;
多行编辑
在一般模式下
ctrl+v 多行块选中
v 选中
选中之后可以使用y 复制, d 删除, p 粘贴
多文件编辑
touch test1 test2 创建两个文件
echo “aaa” &gt; test1
echo “bbb” &gt; test2
vim test1 test2 同时打开两个文件
默认打开第一个test1
切换到test2  :n
从test2 切换到test1 :N
使用vimtutor功能
hjkl 对应 左]]></description><category></category></item><item><title><![CDATA[k8s自定义指标HPA实践（微服务基于自定义指标自动扩缩容的实践）附demo]]></title><link>https://blog.youkuaiyun.com/lo085213/article/details/111567974</link><guid>https://blog.youkuaiyun.com/lo085213/article/details/111567974</guid><author>lo085213</author><pubDate>Fri, 25 Dec 2020 22:53:58 +0800</pubDate><description><![CDATA[先上demo代码仓库

https://github.com/wentjiang/prometheus-HPA-test

自动扩缩容的使用场景

在开发微服务时，我们会有一些请求量突增的场景，举个例子，快上下班的时候，大家都需要签到签退，那么签到考勤，那么对于考勤服务，在上下班的时候，会出现流量激增的情况，一种解决方法是，我们将服务的数量启动到能满足峰值的情况，这种情况会产生不必要的资源浪费，那么，怎么样才能解决该问题呢？作为云原生时代最重要的基础设施，k8s为我们提供了HPA（Horizontal Po]]></description><category></category></item><item><title><![CDATA[DDD(Domain-Driven Design)领域驱动设计-(三)命令风暴&寻找聚合]]></title><link>https://blog.youkuaiyun.com/lo085213/article/details/107701843</link><guid>https://blog.youkuaiyun.com/lo085213/article/details/107701843</guid><author>lo085213</author><pubDate>Wed, 05 Aug 2020 21:57:49 +0800</pubDate><description><![CDATA[回顾
上文我们讲了事件风暴,找出了系统中所有的事件,都通过"something has been done"的形式描述,如"填空题被创建"等
DDD整体的三个阶段是
第一阶段:战略设计 -&gt;行为模型
第二阶段:战术设计 -&gt;领域模型
第三阶段:实施落地 -&gt;实现模型
命令风暴
什么是命令
命令是领域事件触发的动作,被执行之后,创建领域事件
命令触发的原因有哪些?

用户
外部系统
定时任务
事件


...]]></description><category></category></item><item><title><![CDATA[DDD(Domain-Driven Design)领域驱动设计-(二)事件风暴]]></title><link>https://blog.youkuaiyun.com/lo085213/article/details/107474578</link><guid>https://blog.youkuaiyun.com/lo085213/article/details/107474578</guid><author>lo085213</author><pubDate>Tue, 28 Jul 2020 22:46:47 +0800</pubDate><description><![CDATA[本节及后边的章节都以实际的例子进行描述
题目如下:

什么是领域事件
事件风暴中的事件特指领域事件,是领域专家关心的事件,业务上真实发生的事,这件事有业务价值

]]></description><category></category></item><item><title><![CDATA[DDD(Domain-Driven Design)领域驱动设计-(一)整体概述]]></title><link>https://blog.youkuaiyun.com/lo085213/article/details/107297679</link><guid>https://blog.youkuaiyun.com/lo085213/article/details/107297679</guid><author>lo085213</author><pubDate>Sun, 12 Jul 2020 22:31:28 +0800</pubDate><description><![CDATA[前言
最近公司通过8节课组织了DDD培训,在此以系列文章作为总结,本篇文章主要介绍DDD整体概述
什么是DDD?(领域驱动设计)
传统架构方式
如果对于传统的web开发比较熟悉的同学一定会了解传统的三层架构,既controller层,service层,dao层,
传统的软件架构能够解决业务中的实际问题,但是对于复杂多变的业务场景,很多时候会发现,业务是一团乱麻,在现有系统中扩展功能会难以扩展,或者业务的扩展导致其他业务的不可用
DDD的定义
DDD经过这些年的发展,已经成为了一个业务与技术结合,架构适应业务]]></description><category></category></item><item><title><![CDATA[Alluxio2.X简要介绍]]></title><link>https://blog.youkuaiyun.com/lo085213/article/details/106696680</link><guid>https://blog.youkuaiyun.com/lo085213/article/details/106696680</guid><author>lo085213</author><pubDate>Thu, 11 Jun 2020 21:59:44 +0800</pubDate><description><![CDATA[本文基于将alluxio 2.X集成到大数据发行版的经验,从各个方面介绍alluxio
什么是alluxio?
alluxio是一个以内存为中心的分布式虚拟存储系统
为什么需要alluxio?
借用官网的一张图来说明

最主要有两点功能:

在数据分析系统和底层存储之间架起桥梁,alluxio像胶水一样,将不同的底层存储用统一的接口统一暴露给上层的计算引擎,起到了一个文件系统gateway的作用
内存优先的分布式架构,领先其他方案数量级的差别,alluxio支持多级缓存,优先使用内存缓存,同时也可以设置ss]]></description><category></category></item><item><title><![CDATA[docker本地构建kerberos单机环境]]></title><link>https://blog.youkuaiyun.com/lo085213/article/details/105057186</link><guid>https://blog.youkuaiyun.com/lo085213/article/details/105057186</guid><author>lo085213</author><pubDate>Mon, 23 Mar 2020 22:07:34 +0800</pubDate><description><![CDATA[kerberos简介
众所周知,kerberos是大数据环境下最常用的安全通信的保障机制,是一种网络协议
本文不涉及kerberos原理,只涉及docker搭建kerberos环境
打包docker镜像
FROM centos:7

RUN yum install -y krb5-server krb5-libs krb5-auth-dialog krb5-workstation

CMD ["/...]]></description><category></category></item><item><title><![CDATA[hive on tez集成完整采坑指南(含tez-ui及安全环境)]]></title><link>https://blog.youkuaiyun.com/lo085213/article/details/104753170</link><guid>https://blog.youkuaiyun.com/lo085213/article/details/104753170</guid><author>lo085213</author><pubDate>Tue, 10 Mar 2020 23:18:47 +0800</pubDate><description><![CDATA[hive on tez 介绍
使用版本

hadoop 3.1.1
hive 3.1.0
tez 0.9.2
timeline v1

安装过程注意点

官网上文档并不能完整的搭建,需要参考源码中的文档
部分配置官网文档没有写出来,需要查看源代码排查

前置条件

hadoop安全集群
hive已安装

tez搭建
tez打包编译
tez需要根据hadoop环境的版本,使用对应的脚本编译生成对应的...]]></description><category></category></item><item><title><![CDATA[hive实战读书笔记(第9章)Hive性能优化]]></title><link>https://blog.youkuaiyun.com/lo085213/article/details/103674835</link><guid>https://blog.youkuaiyun.com/lo085213/article/details/103674835</guid><author>lo085213</author><pubDate>Wed, 25 Dec 2019 22:21:20 +0800</pubDate><description><![CDATA[hive用户面临的一个比较大的问题是,用户需要等待较长的响应时间,与传统关系数据库查询的性能相比,hive响应速度慢的令人发指
本章介绍一套诊断改进hive查询性能的系统方法,通过这个过程,将单个hive查询的执行时间从475秒缩短到49s
执行引擎
hive目前支持3种执行引擎,每种引擎都各有优缺点,默认的引擎由hive-site.xml文件中的hive.execution.engine属性控制...]]></description><category></category></item><item><title><![CDATA[hive实战读书笔记(第4章)hive表DDL]]></title><link>https://blog.youkuaiyun.com/lo085213/article/details/103651722</link><guid>https://blog.youkuaiyun.com/lo085213/article/details/103651722</guid><author>lo085213</author><pubDate>Mon, 23 Dec 2019 22:43:36 +0800</pubDate><description><![CDATA[schema-on-read
hadoop提供了存储和处理任何结构化,半结构化,非结构化数据的能力,hive允许用户在这些数据上创建一个元数据层,并使用sql接口来访问该层.
hive并不是一个数据库,而是一个友好的接口,可以查询hdfs上的底层数据文件,是一种读取数据的模式,因而叫做schema-on-read
hive的数据模型
hive的数据模型与关系型数据库非常类似,由表,列,行和分区组成...]]></description><category></category></item><item><title><![CDATA[jupyter kernel添加使用和配置]]></title><link>https://blog.youkuaiyun.com/lo085213/article/details/103446840</link><guid>https://blog.youkuaiyun.com/lo085213/article/details/103446840</guid><author>lo085213</author><pubDate>Sun, 08 Dec 2019 17:34:27 +0800</pubDate><description><![CDATA[jupyter是一个交互的python开发工具,今天终于将这个环境能够流畅的用起来了
为什么使用jupyter notebook?

交互式的界面,每一步的结果都能保留,即算即用
网上的各种教程,很多都使用jupyter做的,是一个必备工具

在一个jupyter下如何使用多个python环境呢?
手动的一个一个添加虚拟环境到jupyter中
首先需要创建虚拟环境,如何创建可以参考 https:/...]]></description><category></category></item><item><title><![CDATA[离线计算框架MapReduce]]></title><link>https://blog.youkuaiyun.com/lo085213/article/details/103349090</link><guid>https://blog.youkuaiyun.com/lo085213/article/details/103349090</guid><author>lo085213</author><pubDate>Wed, 04 Dec 2019 17:43:11 +0800</pubDate><description><![CDATA[mapreduce2与mapreduce1的对比
MapReduce基本构成组件


ContainerAllocator:与ResourceManager进行通讯,为MapReduce作业申请资源
ClientService:由MRClientService实现了MRClientProtocol协议,获取作业状态,控制作业
Job:表示一个MapReduce作业,维护了作业状态机
Task:表示...]]></description><category></category></item><item><title><![CDATA[机器学习基础-朴素贝叶斯分类]]></title><link>https://blog.youkuaiyun.com/lo085213/article/details/103289456</link><guid>https://blog.youkuaiyun.com/lo085213/article/details/103289456</guid><author>lo085213</author><pubDate>Thu, 28 Nov 2019 11:30:36 +0800</pubDate><description><![CDATA[贝叶斯定理



可以将公式改写为



c表示一个分类,f表示属性对应的数据字段

这里举个例子,

c代表苹果,f代表红色

P(苹果|红色)=P(红色|苹果)XP(苹果)/P(红色)

通过苹果是红色的条件概率可以得到红色是苹果的条件概率



通过先验概率可以算出后验概率

一个果子是苹果的概率为0.3 P(c)=0.3

一个果子是红色的概率为0.2 P(f)=0.2

苹果是红色的概率...]]></description><category></category></item><item><title><![CDATA[机器学习基础-概率和统计基本概念]]></title><link>https://blog.youkuaiyun.com/lo085213/article/details/103283760</link><guid>https://blog.youkuaiyun.com/lo085213/article/details/103283760</guid><author>lo085213</author><pubDate>Wed, 27 Nov 2019 21:44:47 +0800</pubDate><description><![CDATA[记录概率和统计相关的概念和基础知识
总体来说
概率和统计是互逆的:
概率根据数据生成的过程进行建模,研究某种模型产生的数据有什么特性,
统计学正好相反,通过已知的数据,来推导产生这些数据的模型是怎样的
概率:是描述可能性的一个数值
随机变量:描述事件可能出现的所有状态,分为离散随机变量和连续随机变量
概率分布:描述每种状态出现的可能性,随机变量X表示小球的颜色,100个球中红色20个,蓝色40个,...]]></description><category></category></item><item><title><![CDATA[机器学习基础-线性代数学习]]></title><link>https://blog.youkuaiyun.com/lo085213/article/details/103265001</link><guid>https://blog.youkuaiyun.com/lo085213/article/details/103265001</guid><author>lo085213</author><pubDate>Tue, 26 Nov 2019 21:31:27 +0800</pubDate><description><![CDATA[记录线性代数学习中的各个概念

向量和向量空间

标量:是个单独的数字,不能表示方向

向量:也可叫做矢量,一组数字,有序排列,可以用数组或者链表表示

特征向量:物体的特征有很多维度衡量,我们可以用向量表示物体的特征,向量的每个元素代表一维的特征,元素的值代表了相应特征的值

矩阵特征向量:矩阵的几何意义是坐标变换,如果矩阵存在特征向量和特征值,矩阵的特征向量表示了他在空间中最主要的运动方向

...]]></description><category></category></item><item><title><![CDATA[一文读懂python本地开发环境配置]]></title><link>https://blog.youkuaiyun.com/lo085213/article/details/103227662</link><guid>https://blog.youkuaiyun.com/lo085213/article/details/103227662</guid><author>lo085213</author><pubDate>Sun, 24 Nov 2019 19:39:28 +0800</pubDate><description><![CDATA[python和java包管理的不同

java

java需要安装jdk,我们通常使用maven进行包管理,有中央仓库,有本地仓库,项目优先从本地仓库拉取,拉不到会从远程仓库拉取,所有项目用到的包都会放在本地仓库,需要使用的时候在本地拉取即可,高版本的jdk向前兼容,jdk8的编译器可以编译成1.7的版本

python

python与java有很大的不同,由于python为解释执行,没有了编译...]]></description><category></category></item></channel></rss>