架构精进之路_社区达人页

个人头像照片
架构精进之路
已加入开发者社区887

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
初入江湖
初入江湖

成就

已发布64篇文章
1条评论
已回答0个问题
0条评论
已发布0个视频
github地址

我关注的人 更多

技术能力

兴趣领域
擅长领域
技术认证

暂时未有相关云产品技术能力~

公号「架构精进之路」,专注软件架构研究,技术学习与职业成长! 坚持原创总结、沉淀和分享,感谢各位的支持(关注、点赞、分享)!

暂无精选文章
暂无更多信息

2022年10月

  • 10.25 17:28:03
    发表了文章 2022-10-25 17:28:03

    性能大PK count(*)、count(1)和count(列)

    最近的工作中,我听到组内两名研发同学在交流数据统计性能的时候,聊到了以下内容: 数据统计你怎么能用 count(*) 统计数据呢,count(*) 太慢了,要是把数据库搞垮了那不就完了么,赶紧改用 count(1),这样比较快...... 有点儿好奇,难道 count(1) 的性能真的就比 count(*) 要好吗? 印象中网上有很多的文章都有过类似问题的讨论,那 MySQL 统计数据总数 count(*) 、count(1)和count(列名) 哪个性能更优呢?今天我们就来聊一聊这个问题。

2022年06月

  • 06.09 17:06:56
    发表了文章 2022-06-09 17:06:56

    关于防御性编程,你应该知道的事

    提起编程,对于程序员同学而言并不陌生,关于防御性编程相信大家也有所耳闻,但是它具体包括哪些内容呢?
  • 06.09 16:58:05
    发表了文章 2022-06-09 16:58:05

    全面解析容器编排技术 Kubernetes

    容器编排是指对多个容器的部署,管理和监控。
  • 06.09 12:34:58
    发表了文章 2022-06-09 12:34:58

    表驱动法,逻辑控制优化利器

    最近好多同学在开发过程中谈到设计表结构的一些idea,为了让大家少走一些弯路,今天就计划聊聊表驱动法吧~
  • 06.09 11:30:42
    发表了文章 2022-06-09 11:30:42

    领域驱动设计(DDD)靠谱么?

    好像最近几年 DDD特别的火,关于DDD 到底是银弹还是垃圾 的分析网络上还是挺多的。
  • 06.09 11:26:46
    发表了文章 2022-06-09 11:26:46

    详细讲解服务幂等性设计

    在日常工作中的一些技术设计方案评审会上,经常会有提到注意服务接口的幂等性问题,最近就有个同学就跑到跟前问我,幂等性到底是个啥?
  • 06.09 11:18:35
    发表了文章 2022-06-09 11:18:35

    关于缓存更新的一些可借鉴套路

    目前随着缓存架构方案越来越成熟化,通常做法是引入「缓存」来提高读性能,架构模型就变成了这样:
  • 06.09 11:14:23
    发表了文章 2022-06-09 11:14:23

    如何做好高并发系统设计,我总结了三点

    大家在面试中是不是经常被问到一个问题:“如果你系统的流量增加 N 倍你要怎么重新设计你的系统?”
  • 06.09 11:10:44
    发表了文章 2022-06-09 11:10:44

    关于架构设计的易变性,应该如何理解呢?

    通常情况下,我们的架构设计图大概率会如下图这个样子了,首先声明一点,这其实并没有什么不妥的,这也是很典型的分层设计啦~
  • 06.09 11:06:42
    发表了文章 2022-06-09 11:06:42

    超全面Redis分布式高可用方案:哨兵机制

    开发工作中对于分布式缓存高可用方案(搭建 Redis 缓存高可用方案),Redis 主从架构下是如何保证高可用的呢?
  • 06.09 10:59:19
    发表了文章 2022-06-09 10:59:19

    带你简易入门一致性算法Raft

    最近跟团队同学聊到了一致性算法Raft,于是翻了下之前发布整理过的文章,重新温故学习之。
  • 06.09 10:45:40
    发表了文章 2022-06-09 10:45:40

    Design for failure常见的12种设计思想

    hello,大家好,我是张张,「架构精进之路」公号作者。 通常情况下,我们的一个请求会经过三个服务来处理。
  • 06.09 10:40:40
    发表了文章 2022-06-09 10:40:40

    一文搞懂基础数据单位换算逻辑

    计算机网络单位如何换算? 100Mb=12800KB 100Mbps≈12.5MB/s 数据单位换算、流量速度单位换算 到底是怎么换算的?
  • 06.09 10:35:34
    发表了文章 2022-06-09 10:35:34

    如何使用 DDD 指导微服务拆分?

    软件架构的发展经历了从单体架构、垂直架构、SOA架构到微服务架构以及到现在最新的service mesh(网格服务架构)的过程。
  • 06.08 22:39:23
    发表了文章 2022-06-08 22:39:23

    值得收藏,揭秘 MySQL 多版本并发控制实现原理

    MySQL 中多版本并发控制(MVCC),是现代数据库引擎实现中常用的处理读写冲突的手段,MVCC 作为 MySQL 高级应用特性,目的在于提高数据库高并发场景下的吞吐性能。
  • 06.08 22:33:24
    发表了文章 2022-06-08 22:33:24

    聊聊Go语言中的数组与切片

    数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成。因为数组的长度是固定的,因此在 Go 语言中很少直接使用数组。和数组对应的类型是 Slice(切片),它是可以增长和收缩的动态序列,slice 功能也更灵活。
  • 06.08 22:27:37
    发表了文章 2022-06-08 22:27:37

    软件架构模式之微服务架构

    微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。你可以将其看作是在架构层次而非获取服务的类上应用很多SOLID原则。微服务架构是个很有趣的概念,它的主要作用是将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持。
  • 06.08 22:24:41
    发表了文章 2022-06-08 22:24:41

    揭秘MySQL的主从同步实现方案

    关于MySQL主从复制主要同步的是binlog日志,涉及到三个线程,一个运行在主节点(log dump thread),其余两个(I/O thread, SQL thread)运行在从节点,如下图所示:
  • 06.08 22:21:24
    发表了文章 2022-06-08 22:21:24

    动手实践,Linux安装php-vld全过程实录

    对于一些新手小白可能会发问:VLD 是什么?
  • 06.08 22:14:43
    发表了文章 2022-06-08 22:14:43

    工作多年,Linux文件系统还不太了解?

    我们作为“码农”,每天都在接触编程,接触linux系统,那么常见的Linux目录和文件都有哪些,它们又有什么作用呢?
  • 06.08 22:08:06
    发表了文章 2022-06-08 22:08:06

    用实例带你了解 MySQL 全局锁

    MySQL全局锁会申请一个全局的读锁,对整个库加锁。
  • 06.08 22:02:26
    发表了文章 2022-06-08 22:02:26

    《面试官:谈谈你对索引的认知》系列之磁盘I/O

    前面两讲我们介绍了B-/+树的特性对比,数据库系统普遍采用B-/+树作为索引结构。
  • 06.08 21:56:47
    发表了文章 2022-06-08 21:56:47

    《面试官:谈谈你对索引的认知》系列之B+树

    前面一讲我们介绍了B-树的特性,以及与平衡二叉树的对比得出B-树这类数据结构的优势。
  • 06.08 21:40:24
    发表了文章 2022-06-08 21:40:24

    《面试官:谈谈你对索引的认知》系列之B-树

    对于MySQL索引,相信每位后端同学日常工作中经常会用到,但是对其索引原理,却可能未曾真正深入了解,导致在面试过程中,回答不出重点那就可能要与机会说byebye了。
  • 06.08 21:35:51
    发表了文章 2022-06-08 21:35:51

    一文搞懂分布式锁的原理与实现

    对于锁,大家应该都不陌生,手机上可以加锁,想用时候解锁,不用的时候上锁,那自行车、房门同样可以加把锁,道理属于类似的情况。
  • 06.08 21:27:06
    发表了文章 2022-06-08 21:27:06

    踩坑 MySQL 索引,看看你真的会用吗?

    关于 MySQL 索引,对于研发同学,尤其是后端研发同学,一定不会陌生。我们工作中经常会用到 MySQL 数据库,就肯定会经常用到性能优化方面的设计和考量,常常用涉及到 MySQL 索引。但是关于 MySQL 索引,你真的用对了么?
  • 06.08 21:19:14
    发表了文章 2022-06-08 21:19:14

    聊聊集群、分布式和微服务之间的联系和异同点

    对于集群、分布式和微服务,大家在工作中可能经常会听到,但是如果问你它们之间存在什么样的区别和联系,可能你一下子又感觉说不清楚,今天就这个话题,趁着周末时间,跟大家来一起聊聊。
  • 06.08 21:15:49
    发表了文章 2022-06-08 21:15:49

    白话讲解,拜占庭将军问题

    作为服务端开发的同学,你可能听说过Paxos、Raft这类分布式一致性算法,也在工作中使用过ZooKeeper、etcd等工具来解决一致性问题。但你可能不知道,这些算法和工具解决的并不是一致性中最难的问题,要讨论这个最难的问题,这就要追溯到 Leslie Lamport 1982 年发表的著名论文 《拜占庭将军问题》(The Byzantine Generals Problem )上了。
  • 06.08 21:09:02
    发表了文章 2022-06-08 21:09:02

    都2021年了,你还在计划转Go语言么?

    在当今最流行的编程语言列表里,Go语言一直是名列前茅。近几年Go语言在互联网圈很火,国外如Google、facebook、AWS等暂且不谈,国内如阿里巴巴、腾讯、百度、抖音、小米、京东、360、网易、新浪、爱奇艺、哔哩哔哩等都已开始大规模使用Go语言开发各种应用。
  • 06.08 12:37:54
    发表了文章 2022-06-08 12:37:54

    安全世界观 | 常见WEB安全问题及防御策略汇总

    继上一篇: 我用一个小小的开放设计题,干掉了40%的面试候选人 聊到了Web安全之后,好多朋友也在关注这个话题,今天特意再写一篇。
  • 06.08 12:33:31
    发表了文章 2022-06-08 12:33:31

    我用一个小小的开放设计题,干掉了40%的面试候选人

    去年团队招聘需求比较大,本人参与了近百次的面试工作。今天来跟大家聊聊,面试候选人过程中,一个常见的开放类设计题目的解题思路,以及候选人的理解设计误区分析。
  • 06.08 11:41:54
    发表了文章 2022-06-08 11:41:54

    一场关于代码注释的争执,引发的三点思考

    在一次研发沟通会上,大家关于是否需要代码注释做了一番争执(讨论)。
  • 06.08 11:36:39
    发表了文章 2022-06-08 11:36:39

    干货 | Redis 实现发布订阅原理与实践

    Redis 是完全开源的,高性能的 key-value 数据库,受到越来越多的业务场景应用。对于"发布/订阅"的消息模式,大家也许都比较了解,但是其实现原理及应用是否还存在模糊呢?
  • 06.08 11:14:40
    发表了文章 2022-06-08 11:14:40

    软件架构模式之事件驱动架构

    事件驱动架构(Event Driven Architecture)是一个流行的分布式异步架构模式,可以用来设计规模很大的应用程序。基于这种架构模式应用可大可小。它由高度解耦的,单一目的的事件处理组件组成,可以异步地接收和处理事件。
  • 06.08 11:04:23
    发表了文章 2022-06-08 11:04:23

    不可忽视的PHP数据精度损失问题

    不知大家在开发过程中有没有常常会遇到数据精度问题呢,类似下面这样的:
  • 06.08 11:01:40
    发表了文章 2022-06-08 11:01:40

    软件架构模式之分层架构

    没有进行架构设计的应用程序通常是紧耦合的,难以维护和扩展。如果不理解应用的各个组件的内部工作方式的话很难看清它的架构特征。
  • 06.08 10:57:09
    发表了文章 2022-06-08 10:57:09

    面对Kafka消费不给力,如何轻松解决呢?

    随着目前业务复杂度的增加,项目中经常需要有大量的跨系统异步任务需要处理。
  • 06.08 10:52:44
    发表了文章 2022-06-08 10:52:44

    开放式API安全防护的七大原则

    在我们日常工作程序开发过程中,难免会涉及与第三方系统进行数据的交互与传递,那么如何保证数据在传输过程中的安全呢(即防窃取)?
  • 06.08 10:47:03
    发表了文章 2022-06-08 10:47:03

    什么是好代码,Linux大神来告诉你

    在工作中经常有同学在讨论,到底什么是好代码? 对于好代码,相信每个人都有自己的理解,可能它是包括以下几个维度: 关于代码结构本身; 关于功能实现; 关于学习成本; 关于程序可读性...
  • 06.08 10:32:28
    发表了文章 2022-06-08 10:32:28

    HASH碰撞问题一直没真正搞懂?这下不用慌了

    散列函数(英语:Hash function)又称散列算法、哈希函数,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合,重新创建一个叫做散列值(hash values,hash codes,hash sums,或hashes)的指纹。散列值通常用一个短的随机字母和数字组成的字符串来代表。
  • 06.08 10:26:23
    发表了文章 2022-06-08 10:26:23

    面试常见的四种算法思想,全在这里了

    面试常见的四种算法思想,全在这里了,今天带你一文了解。
  • 06.08 10:12:29
    发表了文章 2022-06-08 10:12:29

    MySQL慢查询(下):问题解决,干货总结

    上篇回顾 继上两篇: MySQL慢查询(上):你知道为啥会慢么? MySQL慢查询(中):正确的处理姿势,你get到了吗?
  • 06.08 10:08:23
    发表了文章 2022-06-08 10:08:23

    MySQL慢查询(中):正确的处理姿势,你get到了吗?

    继上篇:MySQL慢查询(上):你知道为啥会慢么?
  • 06.08 09:59:45
    发表了文章 2022-06-08 09:59:45

    MySQL慢查询(上):你知道为啥会慢么?

    在过去的半年时间里,研发团队内部尝试抓了一波儿慢查询SQL跟进处理率。发现有些同学对于慢查询处理的思路就是看看有没有用到索引,没有用到就试图加一个,实在不行就甩锅给这种情况是历史设计问题或者自行判定为用户特殊操作下触发的小概率事件,随即便申请豁免掉... 其实问题没有根本上解决。
  • 06.07 23:41:27
    发表了文章 2022-06-07 23:41:27

    数据库范式与反范式设计,是一门艺术

    在日常业务研发过程中,我们常常需要与数据库表打交道。设计范式是数据表设计的基本原则,对于数据表的设计范式,我们特别容易忽略它的存在。很多时候,当数据库运行了一段时间之后,我们才发现数据表设计上有问题。然后重新调整数据表的结构,需要做数据迁移,还有可能影响程序处理的业务逻辑,甚至系统的正常服务运行。
  • 06.07 23:38:36
    发表了文章 2022-06-07 23:38:36

    2020 | 带领团队学习成长,干货总结

    在2020年这个非同寻常的年份里面,自己与团队小伙伴一起利用周例会时间,分享学习了《架构整洁之道》系列内容,同团队一起学习成长。在这个岁末年终的日子里,动,来对自己本年度带领团队学习成长做个总结,分享给大家参考。
  • 06.07 23:26:01
    发表了文章 2022-06-07 23:26:01

    系统稳定性建设实践总结

    2020年,注定是个不平凡的一年。疫情的蔓延打乱了大家既定的原有的计划,同时也催生了一些在线业务办理能力的应用诉求,作为技术同学,需要在短时间内快速支持建设系统能力并保障其运行系统稳定性。恰逢年终月份,正好梳理总结下自己的系统稳定性建设经验和思考。
  • 06.07 23:19:55
    发表了文章 2022-06-07 23:19:55

    关于组件,你真的了解么?

    最近经常听到“组件化开发”,那架构设计里,组件到底如何定义、设计和应用呢,今天我们一起来聊聊。
  • 06.07 23:13:11
    发表了文章 2022-06-07 23:13:11

    双十一聊聊低时延利器:QUIC

    又值一年一度的“双十一购物节”之际,大家都在乐此不疲的聊着大流量高并发场景下的处理解决方案。 提到抢购,总结就一个“快”字,筛选要快,下单要快,付款要快... 一切顺利操作之后,才有可能秒到足够便宜的好货。今天我们也围绕着“快”,来跟大家聊一下低时延利器:QUIC。
  • 06.07 21:29:08
    发表了文章 2022-06-07 21:29:08

    关于MySQL varchar类型最大值,原来一直都理解错了

    关于MySQL varchar字段类型的最大值计算,也许我们一直都理解错误了,本文从问题出发,经实践验证得出一些实用经验,希望对大家的开发工作有些帮助~
  • 发表了文章 2022-10-25

    性能大PK count(*)、count(1)和count(列)

  • 发表了文章 2022-06-09

    关于防御性编程,你应该知道的事

  • 发表了文章 2022-06-09

    全面解析容器编排技术 Kubernetes

  • 发表了文章 2022-06-09

    表驱动法,逻辑控制优化利器

  • 发表了文章 2022-06-09

    领域驱动设计(DDD)靠谱么?

  • 发表了文章 2022-06-09

    详细讲解服务幂等性设计

  • 发表了文章 2022-06-09

    关于缓存更新的一些可借鉴套路

  • 发表了文章 2022-06-09

    如何做好高并发系统设计,我总结了三点

  • 发表了文章 2022-06-09

    关于架构设计的易变性,应该如何理解呢?

  • 发表了文章 2022-06-09

    超全面Redis分布式高可用方案:哨兵机制

  • 发表了文章 2022-06-09

    带你简易入门一致性算法Raft

  • 发表了文章 2022-06-09

    Design for failure常见的12种设计思想

  • 发表了文章 2022-06-09

    一文搞懂基础数据单位换算逻辑

  • 发表了文章 2022-06-09

    如何使用 DDD 指导微服务拆分?

  • 发表了文章 2022-06-08

    值得收藏,揭秘 MySQL 多版本并发控制实现原理

  • 发表了文章 2022-06-08

    聊聊Go语言中的数组与切片

  • 发表了文章 2022-06-08

    软件架构模式之微服务架构

  • 发表了文章 2022-06-08

    揭秘MySQL的主从同步实现方案

  • 发表了文章 2022-06-08

    动手实践,Linux安装php-vld全过程实录

  • 发表了文章 2022-06-08

    工作多年,Linux文件系统还不太了解?

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息