<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[泡泡茶壶的博客]]></title><description><![CDATA[技术记录]]></description><link>https://blog.youkuaiyun.com/breavo_raw</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; breavo_raw]]></copyright><item><title><![CDATA[一桩关于Json序列化引发的惨案（Go系统）]]></title><link>https://blog.youkuaiyun.com/breavo_raw/article/details/131511105</link><guid>https://blog.youkuaiyun.com/breavo_raw/article/details/131511105</guid><author>breavo_raw</author><pubDate>Tue, 04 Jul 2023 13:27:24 +0800</pubDate><description><![CDATA[一个风和日丽的下午，线上系统突然开始报警（系统温馨提示，您的服务接口响应耗时已突破1s )   (-_-|||）当时脑门汗蹭的一下的就冒出来了，趁老板没杀过来之前立马开始紧急排查处理～]]></description><category></category></item><item><title><![CDATA[golang 服务中 context 超时处理的思考]]></title><link>https://blog.youkuaiyun.com/breavo_raw/article/details/130782561</link><guid>https://blog.youkuaiyun.com/breavo_raw/article/details/130782561</guid><author>breavo_raw</author><pubDate>Sun, 21 May 2023 15:44:38 +0800</pubDate><description><![CDATA[公司运行的服务代码中，随处可见各种各样的日志信息，其中大多数是用来记录各种异常的日志，一方面，当出现问题时，通过日志我们可以快速的定位引发问题的原因；另外我们可以通过日志平台，对一些错误级别比较高的日志进行监控，从而能够快速响应系统可能会出现的问题。在Go语言中，Context是一个非常重要的概念，它存在于一个完整的业务生命周期内，ContextDeadline()Done()Err()和Value()。其中，Deadline()方法返回context的截止日期，Done()方法返回一个只读的。]]></description><category></category></item><item><title><![CDATA[Go并发大坑：inconsistent mutex state 解决及心得体会]]></title><link>https://blog.youkuaiyun.com/breavo_raw/article/details/127833293</link><guid>https://blog.youkuaiyun.com/breavo_raw/article/details/127833293</guid><author>breavo_raw</author><pubDate>Wed, 21 Dec 2022 23:43:12 +0800</pubDate><description><![CDATA[为时2周的异常排查之路…]]></description><category></category></item><item><title><![CDATA[一个关于有道云笔记快捷键的小坑]]></title><link>https://blog.youkuaiyun.com/breavo_raw/article/details/127832811</link><guid>https://blog.youkuaiyun.com/breavo_raw/article/details/127832811</guid><author>breavo_raw</author><pubDate>Sun, 13 Nov 2022 15:48:10 +0800</pubDate><description><![CDATA[一个关于新版有道云笔记快捷键的小坑]]></description><category></category></item><item><title><![CDATA[线上GO服务出现GC故障，我当时就急了]]></title><link>https://blog.youkuaiyun.com/breavo_raw/article/details/125248258</link><guid>https://blog.youkuaiyun.com/breavo_raw/article/details/125248258</guid><author>breavo_raw</author><pubDate>Sun, 19 Jun 2022 16:56:52 +0800</pubDate><description><![CDATA[新公司工作小半年了，线上系统没出过什么大问题，一直很稳定。但凡事总不可能一帆风顺，最近运维的监控群里，时不时的就会报服务健康检查警告

如果一次两次还可以理解为网络波动。但是这段时间，我们小组的几个服务一直在被告警“点名“，上游的同事也在群里反馈请求错误异常增多，这下就有点坐不住了…立马着手开始排查问题。通常上游出现异常，第一反应基本就是查询错误日志，观察系统监控。那么笔者从业务日志上观察并未发现比较异常的点，但是在Grafana指标监控中发现了Go服务中某个实例GC异常升高（下图是是正常时候的状态，有问题]]></description><category></category></item><item><title><![CDATA[啊哈哈哈，鸡（面）汤（经）来喽～（得物，B站，百度），附答案总结]]></title><link>https://blog.youkuaiyun.com/breavo_raw/article/details/122849082</link><guid>https://blog.youkuaiyun.com/breavo_raw/article/details/122849082</guid><author>breavo_raw</author><pubDate>Sat, 12 Feb 2022 02:48:57 +0800</pubDate><description><![CDATA[文章目录前言得物
前言
2021年底不幸经历了裁员风波，尽管已经预感公司有点风雨飘摇的意思了，但是没有想到来的这么快。
过完国庆后的一周。刚开完技术会议，方案定好，准备大干一场时，收到了leader的飞书，让去会议室聊聊。leader表现的很诚恳，公司也是第一次大规模裁员，赔偿方面也没有卡。
木已成舟，从会议室出来后，笔者开始快速思考下一步该怎么走。第一次亲身经历裁员，内心的紧迫感是前所未有的。随后的时间里，笔者开始开始整理过往工作经历，疯狂复习 + 刷题。在公司办理完所有手续之后，一边开始投递简历，一边继]]></description><category></category></item><item><title><![CDATA[关于电商搜索中Elasticsearch的正确使用姿势--检索篇]]></title><link>https://blog.youkuaiyun.com/breavo_raw/article/details/122793911</link><guid>https://blog.youkuaiyun.com/breavo_raw/article/details/122793911</guid><author>breavo_raw</author><pubDate>Mon, 07 Feb 2022 02:57:25 +0800</pubDate><description><![CDATA[文章目录前言检索的前一步检索分数sortoperatorandor改变权重functionScore聚合
前言
书接上文，我们为电商项目做了个性化的索引配置之后，加下来就是正式的使用了。再ES的检索方面，也有一些值得注意的小技巧。本篇将会着重讲解笔者在使用ElasticSearch（下面简称ES）进行检索时的一些心得体会。
如果没有看过配置篇，可以移步这里: 电商项目中使用ES–配置篇
检索的前一步
检索
分数
sort
operator
and
or
改变权重
functionScore
聚合

...]]></description><category></category></item><item><title><![CDATA[关于电商搜索中Elasticsearch的正确使用姿势--配置篇]]></title><link>https://blog.youkuaiyun.com/breavo_raw/article/details/122745393</link><guid>https://blog.youkuaiyun.com/breavo_raw/article/details/122745393</guid><author>breavo_raw</author><pubDate>Sat, 05 Feb 2022 21:59:57 +0800</pubDate><description><![CDATA[文章目录前言什么是ElasticsearchES快在哪里
前言
过年啦过年啦，总算是闲下来了，笔者自从上次文章更新之后经历了许多事情（裁员风波，面试找工作等等），最近总算是安定下来了。
言归正传，笔者在之前接触Elasticsearch很少，在新公司中，接触到了以电商搜索推荐为主的项目，其中就大量运用到了Elasticsearch（以下简称ES），并收获了不少经验。
本篇就来围绕如何在电商搜索中正确高效的使用ES聊聊笔者的一些心得。
什么是Elasticsearch
ES是一款分布式搜索引擎，这里注意点重点]]></description><category></category></item><item><title><![CDATA[《微服务设计》读书笔记一 - go微服务进阶之路]]></title><link>https://blog.youkuaiyun.com/breavo_raw/article/details/120660168</link><guid>https://blog.youkuaiyun.com/breavo_raw/article/details/120660168</guid><author>breavo_raw</author><pubDate>Sun, 17 Oct 2021 22:17:53 +0800</pubDate><description><![CDATA[文章目录前言微服务什么是微服务自治性微服务的好处微服务集成一个错误的案例编排与协同关于RPC的使用设计规范可变性计划代码治理高内聚，低耦合上下文界限
前言
许久未读书了，今天咱来读一读《微服务设计这本书》，豆瓣评分8.7，简单看了下评论，这本书对于微服务和一些开发实践的论述还是可圈可点的，读书过程中会将一些重点记录下来，力求提取精炼书中的精华所在。
微服务
什么是微服务
微服务就是一些协同工作的小而自治的服务。每个服务很小，专注于做好一件事。每个服务内聚了专属于自己的逻辑。
内聚性理念：把因相同原因而变化的]]></description><category></category></item><item><title><![CDATA[DDD领域驱动设计实践心得-go微服务进阶之路]]></title><link>https://blog.youkuaiyun.com/breavo_raw/article/details/119721077</link><guid>https://blog.youkuaiyun.com/breavo_raw/article/details/119721077</guid><author>breavo_raw</author><pubDate>Sat, 18 Sep 2021 18:17:46 +0800</pubDate><description><![CDATA[文章目录前言
前言
作为一名后端开发，面对每一个新开发的系统，心里都要有这样一个预期，自己将要亲手开发的系统，终有一天，将会长成参天大树。
但并不是每个系统都会变成参天大树，随着业务的不断迭代，变成屎山也是非常有可能的。如果不希望以后经历屎山堆屎痛苦，那么，在一开始，我们就要考虑设计出方便维护和拓展的系统。

...]]></description><category></category></item><item><title><![CDATA[go中使用grpc之心得 - go微服务进阶之路]]></title><link>https://blog.youkuaiyun.com/breavo_raw/article/details/118066082</link><guid>https://blog.youkuaiyun.com/breavo_raw/article/details/118066082</guid><author>breavo_raw</author><pubDate>Sun, 11 Jul 2021 15:23:28 +0800</pubDate><description><![CDATA[文章目录前言编写proto
前言
上次发文章是什么时候的事儿了，笔者懒癌又发作了。最近这段时间公司进行项目重构，主要是从python往go方面迁移。理由是python项目在目前的web服务中遭遇了一些瓶颈，包括：

代码规范混乱（写python的都知道，一个人就是一个风格）
系统运行性能低下（这倒不一定就是python 的锅）
语言老旧（原项目采用的是python2）

由于项目是本身是一个微服务的架构，各个服务件本身是通过rpc去调用。原项目本身使用的rpc框架是grpc，在新项目中，仍然继续选择grpc]]></description><category></category></item><item><title><![CDATA[Python思维遇到Go]]></title><link>https://blog.youkuaiyun.com/breavo_raw/article/details/116647282</link><guid>https://blog.youkuaiyun.com/breavo_raw/article/details/116647282</guid><author>breavo_raw</author><pubDate>Tue, 11 May 2021 11:34:41 +0800</pubDate><description><![CDATA[文章目录前言语法打印print数据结构列表Map逻辑控制布尔判断循环/遍历分支判断形参语法特色上下文with语法异常捕获面向对象并发控制写在结尾
前言
难产小王子前来报道，这段时间忙着结婚，博客基本停了，可能几个月才出一篇，唉，难受啊（不，其实就是懒）_(:з」∠)_
回归正题，虽然我最爱的依然是python，但是截止目前（2021年4月），go语言已经在互联网范围内越来越流行了。
简洁的语法，优异的性能使得go语言受到各类大中小公司的青睐，尤其是一些前期依靠python搭建起系统的公司，都在尝试使用go进]]></description><category></category></item><item><title><![CDATA[字节面试深挖之redis数据结构]]></title><link>https://blog.youkuaiyun.com/breavo_raw/article/details/112424966</link><guid>https://blog.youkuaiyun.com/breavo_raw/article/details/112424966</guid><author>breavo_raw</author><pubDate>Wed, 17 Feb 2021 18:42:03 +0800</pubDate><description><![CDATA[文章目录

]]></description><category></category></item><item><title><![CDATA[字节面试深挖之mongo]]></title><link>https://blog.youkuaiyun.com/breavo_raw/article/details/110726772</link><guid>https://blog.youkuaiyun.com/breavo_raw/article/details/110726772</guid><author>breavo_raw</author><pubDate>Mon, 07 Dec 2020 13:35:47 +0800</pubDate><description><![CDATA[文章目录前言问题一场景还原关于联合索引mongo关系型数据库（以mysql为例）关于联合索引避免回表问题二场景还原mongo中3种聚合手段聚合命令 (group / count / distinct)聚合框架 (aggregate)聚合模型 (MapReduce)结语参考
前言
前一段时间接到了字节跳动的面试邀请，怀着略有些紧张的心情参与了面试。整体体验下来，面试难度是比较高的。面试官提出的问题需要对你所使用的工具、语言及框架有比较深入的理解才能够从容应答。
本篇着重解析笔者面试过程中被提问到的mongo相]]></description><category></category></item><item><title><![CDATA[至暗时刻的一丝曙光：关于对接银行项目的一些感悟（续）]]></title><link>https://blog.youkuaiyun.com/breavo_raw/article/details/109896574</link><guid>https://blog.youkuaiyun.com/breavo_raw/article/details/109896574</guid><author>breavo_raw</author><pubDate>Sun, 22 Nov 2020 03:50:08 +0800</pubDate><description><![CDATA[文章目录前言开发部署方面部署方案的限制资源申请的限制网络环境的限制使用长连接需要注意的点静态资源共享挂载使用SDK测试SIT（集成）测试UAT（验收）测试PT（压力 / 稳定性）测试数据库服务器CPU过高系统运行服务器CPU过高接口响应时长超标间歇性CPU冲高文档结语（和一些吐槽）
前言
上一次更新银行的文章，已经3个月之前的事情了，当时说的啥来着

现在看来，还是太天真了，回首望去，那时的项目进度估计才堪堪走了一小半…（笑哭），本人也从一个懵懂无知的少年，变成了一个饱经沧桑的大叔（项目经理亲口描述，哈哈）]]></description><category></category></item><item><title><![CDATA[TCP协议讲的头头是道，你却告诉我你不会抓包？]]></title><link>https://blog.youkuaiyun.com/breavo_raw/article/details/108928952</link><guid>https://blog.youkuaiyun.com/breavo_raw/article/details/108928952</guid><author>breavo_raw</author><pubDate>Mon, 16 Nov 2020 01:12:25 +0800</pubDate><description><![CDATA[文章目录前言回顾一下网络协议尝试去ping/telnet一下pingtelnet
前言
曾经有这么一个尴尬的瞬间，当时我在排查一个接口的通信问题。现象很直接，就是无论如何接口都无法连通。在我抓耳挠腮之时，同事直接灵魂直击：为何不直接抓包看看呢？
我：卧槽…不会…
同事：面试的时候网络协议说的头头是道，怎么一用就不会了呢 = =…
提这件事是因为，当因为通信问题使得系统出现故障时，进行网络抓包是一个非常有效的定位问题的手段，自然而然，我们需要去学习一些抓包的手段帮助我们排查问题。
本篇的定位以使用为主，不会涉]]></description><category></category></item><item><title><![CDATA[python魔术修炼手册]]></title><link>https://blog.youkuaiyun.com/breavo_raw/article/details/108552112</link><guid>https://blog.youkuaiyun.com/breavo_raw/article/details/108552112</guid><author>breavo_raw</author><pubDate>Sun, 20 Sep 2020 18:01:41 +0800</pubDate><description><![CDATA[文章目录前言来自语言的魔术python实例构建与初始化__new__  ：构建类实例时首先执行__init__  ：通过它对类实例进行初始化属性操作__getattr__ ：当访问一个实例中不存在的属性时会调用它__setattr__ ：给对象属性赋值无限递归赋值__del__：当对象被执行垃圾回收时调用它比较你的对象__eq__：当对象进行 == 比较时会调用它__ne__：当对象进行 != 比较时会调用它__lt__：当对象进行 &lt; 比较时会调用它__gt__ ：当对象进行 &gt; 比较时会调用]]></description><category></category></item><item><title><![CDATA[来自Pycharm的善意提醒，那些值得你注意的小细节(持续更新)]]></title><link>https://blog.youkuaiyun.com/breavo_raw/article/details/108422741</link><guid>https://blog.youkuaiyun.com/breavo_raw/article/details/108422741</guid><author>breavo_raw</author><pubDate>Sat, 05 Sep 2020 21:08:08 +0800</pubDate><description><![CDATA[文章目录前言python 编码规范命名类Class names should use CamelCase conventionVariable in function should be lowercaseShadows name 'use_a' from outer scope排版类PEP 8: W292 no newline at end of filePEP 8: E303 too many blank lines (2)PEP 8: E501 line too long (166 &gt; 150 ]]></description><category></category></item><item><title><![CDATA[当pandas用的像sql一样，是否还有必要继续坚持？]]></title><link>https://blog.youkuaiyun.com/breavo_raw/article/details/108307600</link><guid>https://blog.youkuaiyun.com/breavo_raw/article/details/108307600</guid><author>breavo_raw</author><pubDate>Fri, 04 Sep 2020 02:05:52 +0800</pubDate><description><![CDATA[文章目录前言什么是pandas像使用sql一样使用pandas常用命令对照新增数据插入查询数据IN...NOT IN排序GROUP BY, COUNT, (分组下的)ORDER BY修改数据删除数据
前言
本篇立眼于公司项目中数据分析与报表生成的技术方案，主要是针对pandas数据处理方面与SQL的异同发表一些心得见解。
目前项目中使用的BI报表功能，其底层数据支撑来自于经过pandas处理生成的H5文件。报表展示的是聚合之后的数据，这就涉及到对数据的筛选，分类以及聚合。
什么是pandas
网上针对pan]]></description><category></category></item><item><title><![CDATA[至暗时刻的一丝曙光：关于对接银行项目的一些感悟]]></title><link>https://blog.youkuaiyun.com/breavo_raw/article/details/107449294</link><guid>https://blog.youkuaiyun.com/breavo_raw/article/details/107449294</guid><author>breavo_raw</author><pubDate>Mon, 20 Jul 2020 01:13:37 +0800</pubDate><description><![CDATA[文章目录前言前期准备文档方面
前言
前段时间，公司接到了一个银行的对接项目，前期一番沟通过后，由我来负责跟进这个项目。
嘛～在做之前首先需要了解一些银行的开发背景和需求，大致如下：

银行内部使用封闭式的开发模式（开发机、服务器均无法直连外网）
需要私有化部署
需要驻场
行内6点左右就下班了（需要协调行内系统对接的沟通时间）

以上是大的背景～
前期准备
文档方面
跟行内的架构师讨论项目的部署方案，直观的感受就是，银行可真有钱…一套B类系统（就是非主要系统）。对方要求在两个城市分别要构建数据中心，每个数据中]]></description><category></category></item></channel></rss>