现代IM系统中的消息系统架构 - 架构篇
前言
IM全称是『Instant Messaging』,中文名是即时通讯。在这个高度信息化的移动互联网时代,生活中IM类产品已经成为必备品,比较有名的如钉钉、微信、QQ等以IM为核心功能的产品。当然目前微信已经成长为一个生态型产品,但其核心功能还是IM。
互联网架构的三板斧
在互联网江湖,流传着传说中的架构秘籍,而这本秘籍只有三板斧。传说学会这三板斧便能由程序猿成为架构狮。在互联网世界杀出一片天地。这三板斧如何耍呢,本文就为大家分享。
看图了解RocksDB
它是一个高性能的Key-Value数据库。设计了完善的持久化机制,同时保证性能和安全性。能够良好的支持范围查询,因为K-V记录就是按照Key来排序的。
下图为写入的流程:
可以看到主要的三个组成部分,内存结构memtable,类似事务日志角色的WAL文件,持久化的SST文件。
Spark调优经验总结
### 概述
----------
本文以Spark实践经验和Spark原理为依据,总结了Spark性能调优的一些方法。这些总结基于Spark-1.0.0版本。对于最近推出的Spark-1.1.0版本,本文介绍了几个版本增强。
----------
### Spark性能调优
----------
#### Executor和分区
----------
Executor是一个独
【玩转ElasticSearch】多个ElasticSearch Cluster的一致性问题
本篇讨论同时使用多个ES Cluster进行搜索的时候,如何保证数据的一致性。• 名词解释Cluster:集群,一个集群包含多个Node,且会有一个Master Node。Node:节点,一般来说一个机器部署一个Node。Shard:分片,指的是一个Index分成多少份,这些Shards会分散到各个Node上面。• 为什么要使用多个ES Cluster?高可用方面:Elastc