9 方丈的寺院

尚未进行身份认证

公众号@方丈的寺院

等级
TA的排名 5k+

存储优化(3)-mongo大表加索引

摘要在存储优化(2)-排序引起的慢查询优化中我们提到过排序对查询选择索引的影响。但是的解决办法就是增加一个索引。在线上给mongo的大表增加一个索引要慎重。在增加索引的过程中也遇到了一些问题,这边进行相关的记录与分析。问题描述表结构_id,biz_Id,version,name索引1. 主键索引2. biz_id,version联合索引查询语句"query":{"fin...

2020-03-29 19:37:19

存储优化(2)-排序引起的慢查询优化

摘要排序引起的慢查询,通常不是那么容易发现,经常和数据分布有关系。往往在业务刚开始时并没有什么问题,但是随着业务的发展,数据分布呈现一种特定的规律,导致了慢查询,或者并不是什么慢查询,但是随着并发请求数增加,数据库的IOPS使用率变高,进一步导致cpu/内存使用率飙高。造成线上故障。问题因为排序引起的问题遇到很多次例1:某日收到线上cpu告警然后查看慢sql日志大量的慢查询指向了这个查...

2020-03-16 21:19:19

存储优化(1)-分库分表后的索引问题

摘要最近遇到一个慢sql,在排查过程中发现和分库分表后的索引设置有关系,总结了下问题。问题在进行应用健康度盘点时,发现有个慢sql如下select brandgoodid from brandgood_0020where userid = xxx ANDbrandgoodid in("xxx1","xxx2")表结构,按照userid进行的分表。CREATE TABLE`b...

2020-03-15 19:27:14

初级算法-动态规划(2)

之前在初级算法-动态规划 一文中少写了动态规划的另外一种解法就是矩阵解法递归问题可以使用非递归的方式表达出来,时间复杂度是O(n),使用矩阵解法时间复杂度O(logn)public static int climbStairs2(int n) { if(n < 1) { return 0; } if (n == 1...

2020-02-16 20:43:28

包管理原则

摘要坊间传闻java web开发人员写了那么多代码,但是其实一半代码都在处理NPE。总是在加班,却大部分时间都在处理包冲突,类加载不了的bug。这些问题总是让新老程序员都很抓狂,有很多的工具可以辅助我们解决这些问题(maven helper插件,arthas等)但是有没有一些原则可以遵循,在源头上避免这些问题的发生呢。问题经常遇到的问题有ClassNotFoundException通过C...

2020-02-15 13:23:31

DDD-CQRS的落地案例

摘要在之前的文章DDD-CQRS能解什么问题中,阐述了什么是CQRS。但是并没有业务需求可以应用CQRS。最近需要处理一个文本增量更新的业务,经过需求分析后,尝试使用CQRS来解这个问题问题分析一个文本页面编辑,对象很大,之前是全量保存。涉及到的网络传输对象比较大,经常超时OOM,所以交互改成,只保存修改的部分,也就是增量更新。之前业务中没法使用CQRS,在于使用CQRS后,数据的维护变得...

2020-02-11 20:17:33

身体是自己的

摘要在我25岁以前,几乎没去过医院,最近两年不知道为啥,一年总要去几次医院。以前我对就医这件事的记忆一直停留在某年的流感时期,感冒后去诊所挂个水,挂完3瓶,然后回校继续上学。最近两年,因为身边的人出了一些意外,不得已去了几次医院,补了些这方面的功课。抗拒就医不知道是个人的原因,还是大家都是这样。我对看病/去医院这件事很抗拒。不知道是因为无知,还是因为害怕。刚开始工作那一年工作体检,那也是我第...

2020-02-02 13:19:22

2019年终总结-坚持的力量

摘要上一次年终总结是2016-12-31。一晃3年过去了。我也从一个初出茅庐的新人变成了一个职场老鸟。年末了,总结一下过去,展望一下未来。关键词瓶颈、底层思考能力、坚持的力量瓶颈年纪越大,越发觉得人生的艰难,每个年龄段都有各自的焦虑与忧伤,只是程度不同,所以人生总是很难。工作久了,不再有当初那般的技术成长速度,升职加薪机会了。记得刚毕业那两年,这也不会,那也不会,拼命学,觉得很充实,...

2020-01-18 10:28:44

结婚这件大事

一个多月没更新文章,因为在忙一件人生中的大事:结婚。为了筹备结婚事宜,前前后后忙了2个月。为了不留遗憾,在知乎上翻阅了大量的资料。以至于我的知乎年度关键词【婚礼筹办】位于前列。都忙完了,终于有时间简单聊聊【婚礼筹办】这件大事吧。为什么要在杭州办对于在大城市工作的人来说办婚礼是件头疼的事,在大城市待久了,和老家的朋友联系少了,不想回老家办。但在大城市办的话,亲戚朋友少;加上现在人换工作频率...

2020-01-11 09:31:28

Hbase初识

简介数据模型相关数据库典型应用优势劣势key-valueRedis缓存快速查询存储数据缺乏结构化列族Cassandra,Hbase分布式的文件系统,大规模的数据存储易于分布式扩展功能受限documentMongo,CouchDB易用可扩展性差图Neo4J社交网络利用图结构相关算法不易扩展从NoSQL分类来说,Hba...

2019-12-04 20:38:31

最近读的书和一点感悟

摘要最近读完的书有《这里是中国》、《自卑与超越》、《商业的本质》、《打破自我的标签》。鉴于我目前的认知水平,对自然景观的欣赏还停留在牛逼,666的水平,《这里是中国》的地理美景介绍引起的思考比较少。对美的鉴赏能力我还是有自知之明,距离大众水平都很有一段距离,得慢慢来。其他几本有商业的,有心理,有自我认知的。简单谈一谈一些感悟吧。职业发展《商业的本质》这本书关于职场有个有意思的词,叫命运之域...

2019-11-09 11:33:14

居然要周末加班才解决这个问题

摘要万万没想到,最近的一个任务居然在一周没有解决,弄得周六在家忙了一天,还没完成,直到周日早上灵光一闪,才完成了。坦白讲,我已经好久没有过这种体验了,被一个技术问题困扰了好几天,如此这般茫然失措,不过好在最后问题解决了。虽然这个任务可能你不会遇到特别相似的,但是我还是想把问题的解决过程分享给大家,顺便聊聊如何解决技术问题。问题背景需要将一个开源的python项目接入到公司的微服务体系(主要是...

2019-10-30 22:10:55

一次关于聚合根的激烈讨论

背景之前有同事在分享DDD在闲鱼商品详情页的实践时,大家对闲鱼团队领域建模关于商品详情页的聚合根建模表示不认同。因为这是面向页面建模,不是面向领域建模,将微服务拆分和领域建模混为一谈了于是我以聚合根定义作为引子,结合组内在实践DDD过程中,聚合根随着业务查询复杂而导致聚合根不断膨胀的问题,提出借鉴CQRS读写分离的理念,来解这个问题。详见DDD-CQRS能解聚合根的问题吗引发了大家对...

2019-03-28 22:25:10

聊聊Mysql索引和redis跳表

摘要面试候选人关于mysql索引问题时,发现有些人能够涛涛不绝的说出B+树和B树,平衡二叉树的区别,却说不出B+树和hash索引的区别。这种一看就知道是死记硬背,没有理解索引的本质。本文旨在剖析这背后的原理,欢迎留言探讨问题如果对以下问题感到困惑或一知半解,请继续看下去,相信本文一定会对你有帮助mysql 索引如何实现mysql 索引结构B+树与hash有何区别。分别适用于什么场景数...

2019-04-09 22:28:56

http服务端架构演进

摘要在详解http报文相关文章中我们介绍了http协议是如何工作的,那么构建一个真实的网站还需要引入组件呢?一些常见的名词到底是什么含义呢?什么叫正向代理,什么叫反向代理服务代理与负载均衡的差别有了nginx,为啥还需要LVS都有哪些负载均衡的方式服务端演进在前面文章中我们介绍过最简单的一种客户端-服务端响应模式,如下这是http服务最简单的一种形式,服务端就一层web服务...

2019-10-20 20:44:18

guava缓存批量获取的一个坑

摘要GuavaCache是Google开源的Java工具集库Guava里的一款缓存工具,一直觉得使用起来比较简单,没想到这次居然还踩了一个坑背景功能需求抽象出来很简单,就是将数据库的查询sthMapper.findById(Longid)的结果缓存起来。但同时还有批量请求,为了提高效率,肯定要批量查询数据库,sthMapper.findByIds(Collectionids)对于的...

2019-10-14 21:45:19

详解http报文(2)-web容器是如何解析http报文的

摘要在详解http报文一文中,详细介绍了http报文的文本结构。那么作为服务端,web容器是如何解析http报文的呢?本文以jetty和undertow容器为例,来解析web容器是如何处理http报文的。在前文中我们从概览中可以了解到,http报文其实就是一定规则的字符串,那么解析它们,就是解析字符串,看看是否满足http协议约定的规则。start-line:起始行,描述请求或响应的基本信...

2019-10-09 22:05:13

详解http报文

摘要作为一个web开发者,每天都在使用者Http协议,却总是一知半解。本文参看Http RFC7230规范,梳理了http报文部分。http 报文构成start-line: 起始行,描述请求或响应的基本信息*( header-field CRLF ): 头CRLF[ message-body ]: 消息body,实际传输的数据header起始行起始行的格式就是start-lin...

2019-09-30 21:26:45

2019秋-走的太久忘记了为什么出发

其实我一直都是敏感的人,没事就爱琢磨生活,思考人生的,完了还要用文字记录下来,用来回味复盘。这就像敏捷开发中的retro,2个星期一个迭代,就得做一次复盘,总结下过去的二周做的好与不好。但是这篇文档纠结了很久到底要不要写,先说说纠结的原因吧。内心纠结我一直是个纯粹的人,或者企图保持纯粹的人。我希望我的工作和生活分开,技术和人生分开,不喜欢掺杂在一起。以前分享出来的文章都是技术相关的,...

2019-09-29 21:36:11

2014元旦-走着瞧

2013,于我注定是个重要的年份,人生道路上的岔路口。因为在这一年,我要告别单身的大学四年生活,迎来无限期的光棍职业生涯。这个场景在我的脑海了出现过无数次,可是不管我多么不愿意,终究还是来了。我什么也没做,他就这么静悄悄的来了。没进入社会,没踏入职场,永远不要说职场是怎么样,道听途说不可信。在2013的年末,我着急忙慌的来到了公司,这里的一切和我预想的差不多,没有青春靓丽的妹子,只有面部瘫痪的码...

2019-09-28 09:16:32

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 技术圈认证(专家版)
    技术圈认证(专家版)
    博客专家完成年度认证,即可获得
  • 推荐红人
    推荐红人
    发布高质量Blink获得高赞和评论,进入推荐栏目即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    参与《原力计划【第二季】— 学习力挑战》获得推荐的原创文章的博主