Xiaoran Blog

Software Engineer

西周史

  杨宽《西周史》

手机横屏观看效果更佳 0. 为啥要学习西周史? 西周是三千年中国的基石,其制度延续至19世纪末的三千年未有之变局 西周的政治道德生活规范,是孔子建立儒家的依据 (人类出土可解读的)最早的文学是《诗经》,是西周的诗歌 (人类出土可解读的)最早的哲学经典是《易经》,是西周经典 西周开创了分封式的大殖民运动,创造了八百年的...

DDIA读书笔记

  系统设计

《数据密集型应用系统设计》,英文名《Designing Data-Intensive Applications》 手机横屏观看效果更佳 第零部分 走进数据系统 第1章 整体设计目标和策略 数据密集系统相对与计算密集系统的主要特征:系统的瓶颈不在于CPU的处理能力,而是数据量、数据的复杂度及数据的快速多变性 1.1 认识数据系统 我们一般模块化地使用各个工具,比如数...

回调函数与匿名类

  callback

本文参考自知乎网友 futeng 的 回调方法介绍之中国好室友篇(Java示例) 前言 在Java社区的各种开源工具中,回调方法的使用俯拾即是。所以熟悉回调方法无疑能加速自己对开源轮子的掌握。 网上搜了一些文章,奈何对回调方法的介绍大多只停留在什么是回调方法的程度上。本篇文章尝试从回调方法怎么来的、为什么要使用回调方法以及在实际项目中如何使用等方面来介绍下。 场景 场景选择的得...

web背景知识

  互联网的底层协议

本文是 Fundamentals of Web Development 第一章的读书笔记,原书作者是 Randy Connolly 和 Ricardo Hoar。 1.1 Web 的定义和历史 什么是 Web? Web 是 Internet 的一个子集,如下图所示 1.1.1 Internet 的起源 电话线路是 circuit switching ...

MapReduce

  Hadoop 的算法

本文参考自 关于MapReduce的理解 大数据时代的数据分析任务比传统的数据分析任务要复杂,因为往往涉及的数据量巨大,比如要分析汇总某个大型零售商在全国的销售数据,查看某个搜索引擎的特定词条的访问日志… … 通常来讲,我们的笔记本电脑可以同时干很多事儿,比如听音乐,编辑 Word 文档,下载电影,这些都可以同时进行,为什么呢?因为这些程序任务所处理的数据量规模小。而对于大规模的数...

负载均衡Java实现

  load balancing

本文参考自 负载均衡算法及手段 负载均衡算法 private Map<String, Integer> serverMap = new HashMap<>(){ { put("192.168.1.100", 1); put("192.168.1.101", 1); put("192.168.1.102", 4)...

负载均衡原理

  load balancing

本文参考自 负载均衡基础知识 1、什么是负载均衡? 互联网早期,业务流量比较小并且业务逻辑比较简单,单台服务器便可以满足基本的需求。 但是,随着互联网的发展,业务流量越来越大并且业务逻辑也越来越复杂,单台机器的性能问题以及单点问题凸显了出来,因此需要多台机器来进行性能的水平扩展以及避免单点故障。但是要如何将不同的用户的流量分发到不同的服务器上面呢? 早期的方法是使用 D...

分布式基础知识

  distributed system

本文参考自 负载均衡算法及手段 冷备与热备 冷备份 (cool standby),指配备平时不运行的备用设备,当运行设备发生故障时,使用备用设备替换。 热备份 (hot standby),指在设备运行的同时运行备用设备,当运行设备发生故障时,能够自动替换备用设备。 fail-over 与 fail-back fail-over,在空余结构中,停止运行设备,使用备...

树状数组

  Binary Indexed Tree

本文参考自 夜深人静写算法(三) - 树状数组 https://www.cnblogs.com/grandyang/p/4985506.html

Elasticsearch

  弹性搜索

本文参考自 Elasticsearch 架构以及源码概览、elasticsearch和lucene的关系 以及 使用ELK架构收集、存储、分析日志 Elasticsearch 是最近两年异军突起的一个兼有搜索引擎和 NoSQL 数据库功能的开源系统,基于 Java/Lucene 构建。 Elasticsearch 看名字就能大概了解下它是一个弹性的搜索引擎。首先弹性隐含的意思是分...