程序员,为什么写不好一份简历?

工作十余年下来,参与过很多次招聘,看过很多程序员的简历,却发现少有让人满意的。回顾自己,上次投简历已是六、七年前,再一想当年的简历却也是不禁摇头叹息。如今,站在求职的另一端,终于开始明白什么样的简历算是好简历了。也许,一份好简历会是一份好工作的开端。为什么?沧海也会遗珠简历,是如此重要,它是获得一份满意工作的敲门砖,但不同的简历敲门的声响可不同。但很多时候简历给人的感觉也似乎微不足道,因为没有人会真...
阅读(8992) 评论(28)

RPC 使用中的一些注意点

最近线上碰到一点小问题,分析其原因发现是出在对 RPC 使用上的一些细节掌握不够清晰导致。很多时候我们做业务开发会把 RPC 当作黑盒机制来使用,但若不对黑盒的工作原理有个基本掌握,也容易犯一些误用的微妙错误。虽然曾经已经写过一篇《RPC 的概念模型与实现解析》 从概念模型和实现细节上讲述了 RPC 的原理,这一篇就从使用上的一些注意点来捋一捋吧。同步RPC 的调用通常为了方便使用,会被伪装成普通方...
阅读(1587) 评论(3)

HTTPS 互联网世界的安全基础

近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是模糊的知道大概是更安全,但到底怎么变得更安全的,实际上整个细节和流程并没有掌握的特别清晰。所以这篇关于 HTTPS 的技术总结文章,主要提供一个关于 HTTPS 中的 S 一个整体的认识。从其产生的历史...
阅读(2063) 评论(5)

HA 高可用软件系统保养指南

又过了一年 618,六月是公司一年一度的大促月,一般提前一个月各系统就会减少需求和功能的开发,转而更多去关注系统可用性、稳定性和管控性等方面的非功能需求。大促前的准备工作一般叫作「备战」,可以把线上运行系统想象成一辆车,大促即是它即将面临的一次严峻驾驶考验。每次去长途自驾旅行时,我会把车送去对车况做一个全面的检测。汽车工业的历史有一百多年了,而车的构造组成部件又相对固定,已经形成了规范且全面的检查事...
阅读(2956) 评论(0)

适合程序员的画图技法

之前写一些技术文章时,经常有读者留言问我是用什么工具画图的。其实我感觉他们很可能问错了问题,因为我曾经为了画好图尝试过各种不同的画图工具软件,但最后发现能不能画好图和工具的关系并不大。为何?程序员不是写代码的么,为什么需要画图?很多程序员会认为写好代码就好,画好图有什么用?程序员成为架构师后是不是就天天画架构图,成为了所谓的 PPT 架构师?如上这些疑问,好几年前也曾让我困惑过。在一篇文章《在首席架...
阅读(7218) 评论(1)

RPC 的概念模型与实现解析

今天分布式应用、云计算、微服务大行其道,作为其技术基石之一的 RPC 你了解多少?一篇 RPC 的技术总结文章,数了下 5k+ 字,略长,可能也不适合休闲的碎片化时间阅读,可以先收藏抽空再细读:)全文目录如下: 定义 起源 目标 分类 结构 模型 拆解 组件 实现 导出 导入 协议 编解码 消息头 消息体 传输 执行 异常 总结 参考 两年前写过两篇关于 RPC 的文章,如今回顾发现结...
阅读(16248) 评论(0)

LB 负载均衡的层次结构

作为后端应用的开发者,我们经常开发、调试、测试完我们的应用并发布到生产环境,用户就可以直接访问到我们的应用了。但对于互联网应用,在你的应用和用户之间还隔着一层低调的或厚或薄的负载均衡层软件,它们不显山不露水默默的发挥着重要的作用,以至于我们经常忽略了它们的存在。因为负载均衡层通常不在一般开发人员的问题域内,而且它们一般都是现成且成熟的解决方案,以至于我们习惯性的忽略和认为乏善可陈。其实不然,本文就写...
阅读(5461) 评论(0)

Raft 为什么是更易理解的分布式一致性算法

一致性问题可以算是分布式领域的一个圣殿级问题了,关于它的研究可以回溯到几十年前。拜占庭将军问题Leslie Lamport 在三十多年前发表的论文《拜占庭将军问题》(参考[1])。拜占庭位于如今的土耳其的伊斯坦布尔,是东罗马帝国的首都。由于当时拜占庭罗马帝国国土辽阔,为了防御目的,因此每个军队都分隔很远,将军与将军之间只能靠信差传消息。在战争的时候,拜占庭军队内所有将军必需达成 一致的共识,决定是否...
阅读(3384) 评论(3)

最近碰到的一些 SSL 问题记录

最近碰到一些 SSL 的小问题,特记录下。我们有个 Java 实现的 SSL TCP 服务端,为客户端(PC、Android 和 iOS)提供 SSL 接入连接服务。最近有用户反馈其手机上 App 不能正常连接登录,别人手机上都可以。经过单独回访调查该用户使用的手机操作系统是 Android 6.0,经搜索了解了 Android 6.0 之后 Google 使用了自家的 BoringSSL 替换了原...
阅读(3290) 评论(0)

MongoDB 初见指南

技术若只如初见,那么还会踩坑么? 在系统引入 MongoDB 也有几年了,一开始是因为 MySQL 中有单表记录增长太快(每天几千万条吧)容易拖慢 MySQL 的主从复制。而这类数据增长迅速的流水表,对数据一致性也没那么高要求,而且业务上也不需要关联查询它,就考虑分出去。为什么是 MongoDB?刚巧赶上公司 DBA 团队引入了这个数据库,有人帮助运维,对业务团队就成了一个自然的选择。不过对...
阅读(9689) 评论(13)

MySQL 数据库主从复制架构

前文《MySQL 数据库事务与复制》分析了 MySQL 复制过程中如何保证 binlog 和事务数据之间的一致性,本文进一步分析引入从库后需要保证主从的数据一致性需要考虑哪些方面。原生复制架构 MySQL 的原生复制架构原理如上图所示。从库的 I/O Thread 线程负责不断读取主库的 binlog 日志文件并写入本地的 Relay log 临时缓存。从库的 SQL Thread 线程则不断读取...
阅读(7014) 评论(6)

Redis 集群的合纵与连横

之前一篇写了关于 Redis 的性能,这篇就写写我认为比性能更重要的扩展性方面的主题。如果再给我一次回到好几年前的机会,对于使用 Redis 我一开始就要好好考虑将来的扩展问题。就像我们做数据库分库分表,一旦决策了分库分表,通常一次就会分到位,比如搞上 8 或 16 个库,每个库再分 256 或 1024 个表。不管将来业务再怎么发展,基本这个量级的分片都足够应对,而且底层库可以做成逻辑的,扛不住时...
阅读(9626) 评论(5)

分布式存储概述

分布式存储是相对于单机存储而言,之所以要分布自然是因为互联网时代信息数据大爆炸,单机已经难以满足大型应用的数据存储需求。存储系统的关注点关于存储系统,一般我们关注下面几个方面: 数据分布与负载均衡 数据存储的可靠性与一致性 数据访问性能 系统容错能力 系统扩展能力 在单机存储系统中有一种独立磁盘冗余阵列(RAID,redundant array of independent...
阅读(3732) 评论(2)

MySQL 数据库双向同步复制

MySQL 复制问题的最后一篇,关于双向同步复制架构设计的一些设计要点与制约。问题和制约数据库的双主双写并双向同步场景,主要考虑数据完整性、一致性和避免冲突。对于同一个库,同一张表,同一个记录中的同一字段的两地变更,会引发数据一致性判断冲突,尽可能通过业务场景设计规避。双主双写并同步复制可能引发主键冲突,需避免使用数据库自增类主键方案。另外,双向同步潜在可能引发循环同步的问题,需要做回环控制。如上图...
阅读(9848) 评论(0)

Redis 的性能幻想与残酷现实

2011 年,当初选择 Redis 作为主要的内存数据存储,主要吸引我的是它提供多样的基础数据结构可以很方便的实现业务需求。另一方面又比较担心它的性能是否足以支撑,毕竟当时 Redis 还属于比较新的开源产品。但 Redis 官网宣称其是提供多数据结构的高性能存储,我们对其还是抱有幻想的。幻想要了解 Redis 的性能,我们先看看官方的基准性能测试数据,心里有个底。测试前提 Redis versio...
阅读(4876) 评论(9)
65条 共5页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:1182081次
    • 积分:11554
    • 等级:
    • 排名:第1327名
    • 原创:171篇
    • 转载:0篇
    • 译文:9篇
    • 评论:914条
    文章分类
    最新评论